В C ++ у меня есть эта функция, и я использовал ее, как показано ниже. Как мне нужно кодировать с диезом?
birdRS232WakeUp(int nGroupID, BOOL bStandAlone, int nNumDevices,
WORD *pwComport, DWORD dwBaudRate, DWORD dwReadTimeout,DWORD dwWriteTimeout,int nGroupMode
= GMS_GROUP_MODE_ALWAYS);
в руководстве указано, что «pwComport» указывает на массив слов, каждое из которых является номером компорта, привязанного к одной из птиц (например, COM1 = 1, COM2 = 2 и т. Д.)
WORD COM_port[5] = {0,15,0,0,0}
if ((!birdRS232WakeUp(GROUP_ID,
FALSE, // Not stand-alone
DEVCOUNT, // Number of Devices
COM_port, // COM Port
BAUD_RATE, // BAUD
READ_TIMEOUT,WRITE_TIMEOUT, // Reponses timeouts
GMS_GROUP_MODE_ALWAYS)))
{
printf("Can't Wake Up Flock!\n");
Sleep(3000);
exit(-1);
}
Вот как я делаю это с диезом.
[DllImport(@"Bird.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern bool birdRS232WakeUp(int nGroupID, Boolean bStandAlone, int
nNumDevices,ref ushort pwComport, uint dwBaudRate, uint dwReadTimeout, uint
dwWriteTimeout);
ushort[] COM_port = new ushort[5]{0,13,0,0,0};
if ((!birdRS232WakeUp(GROUP_ID, false, DEVCOUNT,ref COM_port, BAUD_RATE, READ_TIMEOUT, WRITE_TIMEOUT)))
{
LWakeUpStatus.Text = "Failde to wake up FOB";
}
И наконец, я получил это сообщение об ошибке «Ошибка 2, аргумент« 4 »: невозможно преобразовать из« ref ushort [] »в« ref ushort »»
Кто-нибудь имеет какое-либо представление об этом?