Функция из DLL (на Си) не работает в C#

206
14 апреля 2017, 19:03

Как передать буфер для заполнения в функцию (функция в DLL-ке нап. на Си , исходника нету) я делаю так

> 
[DllImport("hscli.dll" ,  EntryPoint="hcSqlReadResults" ,CharSet=CharSet.Auto , SetLastError=true) ]
    static unsafe extern int hcSqlReadResults(int pOper, long gStart,  byte[] bufOut , uint wBufSize, uint* cntOut);
    long gStart,  byte[] bufOut , uint wBufSize, uint* cntOut);long gStart   = 0 ; // с какой записи начинаем читать 
    uint wBufSize = 0 ; // задаем размер сколько прочитать 
    uint cntOut   = 0 ; // сколько записали в буфер
    byte[] bufOut = new byte[pRecSize * pStr] ;  // буфер для результата
    err = hcSqlReadResults(pOper, gStart, bufOut, pRecSize * (uint)pStr, &cntOut); // Чтение результатов

в .h файле к этой DLL эта функция описана так

>

 /* Чтение результатов с указанной позиции */
HSCLI_FUN(hcERR) hcSqlReadResults(
  hcHSTMT   h,      /* Оператор с результатами */
  hcRECNO   gStart,     /* С какой записи начинаем читать */
  void      *pBuf,      /* Адрес буфера для результатов */
  unsigned  wBufSize,   /* Размер буфера этого буфера */
  unsigned  *cnt)       /* Сколько прочитали */
    HSCLI_EOF
READ ALSO
Десериализация коллекции объектов JSON

Десериализация коллекции объектов JSON

Есть базовый класс и несколько его потомков:

223
Загрузить DataTable в файл Excel по частям. C#, ASP.NET

Загрузить DataTable в файл Excel по частям. C#, ASP.NET

Я использую ClosedXMLExcel для создания файла Excel из DataTable

269
Отследить изменение свойств объекта

Отследить изменение свойств объекта

Есть коллекция вида ObservableCollection<BaseClass> Project {get;set;}

228