Использование DLL, написанной на C++, в C# (указатели)
Формулировка задачи:
Всем привет! Есть DLL, написанная на C++, в ней описана такая функция:
Функция принимает первые два параметра и возвращает результат с помощью указателей в следующие пять.
time_struct - это структура следующего вида:
Я описал ее следующим образом:
Структуру вот так:
При вызове функции почему-то получаю null Другие функции, в которых нет указателей, работают нормально, а с этой ничего не получается... Находил несколько тем на этом форуме, но не помогло
Что сделал неправильно и как исправить? Спасибо!
int ReadData(int kpn,int bn,OUT DWORD*time,OUT time_struct*btime,OUT DWORD*buf,IN OUT int*num,OUT BYTE*type)
typedef
struct
{
DWORD sec;
WORD msec;
}time_struct; [DllImport("datadrv.dll")]
unsafe public static extern int _ReadData(int kpn, int bn, uint* time, out time_struct* btime, out uint* buf, int* num, out byte* type); public struct time_struct
{
public uint sec;
public ushort msec;
}Решение задачи: «Использование DLL, написанной на C++, в C# (указатели)»
textual
Листинг программы
var buff = new uint[10]; int count = buff.Length; ReadData( ..., buff, ref count, ... );