Использование 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, ... );
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д