purgeComm 函数 (winbase.h)

放弃指定通信资源的输出或输入缓冲区中的所有字符。 它还可以终止对资源的挂起读取或写入操作。

语法

BOOL PurgeComm(
  [in] HANDLE hFile,
  [in] DWORD  dwFlags
);

参数

[in] hFile

通信资源的句柄。 CreateFile 函数返回此句柄。

[in] dwFlags

此参数可使用以下一个或多个值。

含义
PURGE_RXABORT
0x0002
终止所有未完成的重叠读取操作,并立即返回 ,即使读取操作尚未完成。
PURGE_RXCLEAR
0x0008
如果设备驱动程序有一个) ,则清除输入缓冲区 (。
PURGE_TXABORT
0x0001
终止所有未完成的重叠写入操作,并立即返回 ,即使写入操作尚未完成。
PURGE_TXCLEAR
0x0004
如果设备驱动程序有一个) ,则清除输出缓冲区 (。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

如果线程使用 PurgeComm 刷新输出缓冲区,则不会传输已删除的字符。 若要在确保传输内容的同时清空输出缓冲区,请调用 FlushFileBuffers 函数 (同步操作) 。 但请注意, FlushFileBuffers 受流控制,但不受写入超时,在传输所有挂起的写入操作之前,它不会返回。

要求

   
最低受支持的客户端 Windows XP [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2003 [桌面应用 | UWP 应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

通信函数

通信资源

CreateFile