以下示例打开COM1的句柄,并使用当前配置填充DCB结构。然后修改DCB结构,并用于重新配置设备。
DCB dcb;
HANDLE hCom;
DWORD dwError;
BOOL fSuccess;
hCom = CreateFile("COM1",
GENERIC_READ | GENERIC_WRITE,
0,/ * comm设备必须打开w / exclusive-access * /
NULL,/ *无安全attrs * /
OPEN_EXISTING,/ * comm设备必须使用OPEN_EXISTING * /
0,/ *不重叠I / O * /
对于comm设备,NULL / * hTemplate必须为NULL * /
);
if (hCom == INVALID_HANDLE_VALUE) {
dwError = GetLastError();
/ *句柄错误* /
}
/*
*省略对SetupComm的调用以使用默认队列大小。
*获取当前配置。
*/
fSuccess = GetCommState(hCom, &dcb);
if(!fSuccess){
/ *处理错误。*
}
/* Fill in the DCB: baud=9600, 8 data bits, no parity, 1 stop bit. */
dcb.BaudRate = 9600;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
fSuccess = SetCommState(hCom, &dcb);
if(!fSuccess){
/ *处理错误。*
}