C ++ до C# реализация - PullRequest
       10

C ++ до C# реализация

0 голосов
/ 04 февраля 2020

Вызов функции PInvoke 'xxx' разбалансировал стек. Это вероятно потому, что управляемая подпись PInvoke не совпадает с неуправляемой целевой подписью. Убедитесь, что соглашение о вызовах и параметры подписи PInvoke соответствуют целевой неуправляемой подписи.

JSPRINTERDLL_API BOOL  _stdcall WriteUsb(HANDLE hUsb,char *SendBuf,DWORD SendBufSize,LPDWORD lpNumberOfBytesWriten);

[DllImport("JsPrinterDll.dll", PreserveSig = true, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.StdCall, ThrowOnUnmappableChar = true, BestFitMapping = false, ExactSpelling = false)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool WriteUsb(
    IntPtr hUsb,
    [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPTStr)] 
    char[] SendBuf, 
    UInt32 SendBufSize, 
    UInt32 lpNumberOfBytesWriten);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...