Вернуть HANDLE по указателю (Функция под WIN для открытия порта) - C (СИ)
Формулировка задачи:
Пытаюсь написать функцию под WIN для открытия порта.
WinNT.h определено, typedef void *HANDLE;
Как правильно вернуть из функции дескриптор порта по указателю?
int OpenSerialPort(char *SerialPort, int PortSpeed, HANDLE SerialPortFd) { DCB dcbSerialParams = {0}; SerialPortFd = CreateFileA(SerialPort, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); if(SerialPortFd == INVALID_HANDLE_VALUE) { MyPrintf(DEBUG, 0, "OpenSerialPort: failed \n"); return -1; } dcbSerialParams.DCBlength = sizeof(dcbSerialParams); if (!GetCommState(SerialPortFd, &dcbSerialParams)) { return -1; } dcbSerialParams.BaudRate =PortSpeed; dcbSerialParams.ByteSize =8; dcbSerialParams.StopBits =ONESTOPBIT; dcbSerialParams.Parity =NOPARITY; if(!SetCommState(SerialPortFd, &dcbSerialParams)) { return -1; } return 1; }
Решение задачи: «Вернуть HANDLE по указателю (Функция под WIN для открытия порта)»
textual
Листинг программы
HANDLE* pSerialPortFd
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д