Копирование со смещением из неуправляемой памяти - C#
Формулировка задачи:
Доброго времени суток. Столкнулся с проблемой.
Имеется Dll библиотека которая возвращает указатель (IntPtr) на следующую структуру Dann:
Есть необходимость записывать в файл массив 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));
Способ обойти эту проблему через преобразование в структуру а потом в буфер занимает много времени.
Заранее благодарю за помощь
[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 байта)
};Решение задачи: «Копирование со смещением из неуправляемой памяти»
textual
Листинг программы
IntPtr.Add()