С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
BodyZ
0 / 0 / 0
Регистрация: 16.07.2013
Сообщений: 19
1

Копирование со смещением из неуправляемой памяти

16.07.2013, 17:52. Просмотров 781. Ответов 2
Метки нет (Все метки)

Доброго времени суток. Столкнулся с проблемой.
Имеется Dll библиотека которая возвращает указатель (IntPtr) на следующую структуру Dann:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
    [StructLayout(LayoutKind.Sequential)]
    struct Dann
    {
        public int AttIF;   //  (4 байта)   // значение аттенюатора
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)]
        public VR[] DVR;
    }      
    [StructLayout(LayoutKind.Sequential)]
    struct VR
    {
        public ushort I;                // I временная компонента (2 байта)
        public ushort Q;                // Q временная компонента (2 байта)
    };
Есть необходимость записывать в файл массив VR[1024] без переменной int AttIF.
Запись в файл осуществляю через mFileStream.Write(buffer,x,y).

Возможно ли скопировать в буфер byte[4096] из неуправляемой памяти по указателю на структуру Dann,
который предоставляет Dll, со смещением +4.???
Как это например позволяет Marshal.Copy(IntPtr(sourse), buffer(destination), 0(offset in destination), 4096(count of byte));
Способ обойти эту проблему через преобразование в структуру а потом в буфер занимает много времени.
Заранее благодарю за помощь
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2013, 17:52
Ответы с готовыми решениями:

Копирование в неуправляемой памяти
Всем привет. Имеется указатель IntPtr на блок неуправляемой памяти. Мне...

Выделение неуправляемой памяти
Всем привет! По незнанию скопипастил код в котором было использовано вот такое...

Очистка неуправляемой памяти ?
Из С++ Dll достаю функцию динамически: class NEW { ...

После окончания работы со структурой, она будет почищена сборщиком. Что произойдет со структурой в неуправляемой памяти
Доброго времени суток. Прочитал закрепленный топик "Класс Marshal,...

Загрузка неуправляемой длл
Доброго времени суток! Сразу скажу, не особо силен в данной теме, Вопрос в...

2
Anklav
443 / 301 / 47
Регистрация: 23.01.2013
Сообщений: 641
Завершенные тесты: 2
16.07.2013, 17:59 2
Сместить указатель просто не пробовали?

C#
1
IntPtr.Add()
1
BodyZ
0 / 0 / 0
Регистрация: 16.07.2013
Сообщений: 19
16.07.2013, 18:07  [ТС] 3
Спасибо за помощь.
Буду пробовать. Не приходилось работать в этом направлении.
Еще раз огромное спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2013, 18:07

Подключение неуправляемой DLL к проекту
Доброго времени суток! Помогите пожалуйста. Создаю динамическую dll в VS...

Подключение неуправляемой dll из ресурсов
Здравствуйте. Подключил управляемые dll из ресурсов способом описанным в посте...

Загрузка неуправляемой Dll из массива байт
Привет всем! У меня есть библиотека Dll, написанная на C++. Я сделал над ней...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru