LPFN_RIOCLOSECOMPLETIONQUEUE回调函数 (mswsock.h)

RIOCloseCompletionQueue 函数通过使用 Winsock 注册的 I/O 扩展发送和接收请求来关闭用于 I/O 完成通知的现有完成队列。

语法

LPFN_RIOCLOSECOMPLETIONQUEUE LpfnRioclosecompletionqueue;

void LpfnRioclosecompletionqueue(
  RIO_CQ CQ
)
{...}

参数

CQ

标识现有完成队列的描述符。

返回值

备注

RIOCloseCompletionQueue 函数关闭用于 I/O 完成的现有完成队列。 CQ 参数中传递的RIO_CQ被内核锁定,以供写入。 完成队列标记为无效,因此无法添加新完成。 要添加的任何新完成都将以无提示方式删除。 应用程序应跟踪任何挂起的发送或接收操作。

如果在 CQ 参数 (RIO_INVALID_CQ(例如,) )中传递了无效的完成队列, 则 RIOCloseCompletionQueue 函数会忽略此队列。

注意

必须在运行时通过调用 WSAIoctl 函数并指定SIO_GET_MULTIPLE_EXTENSION_FUNCTION_POINTER opcode 来获取指向 RIOCloseCompletionQueue 函数的函数指针。 传递给 WSAIoctl 函数的输入缓冲区必须包含 WSAID_MULTIPLE_RIO,这是一个全局唯一标识符 (GUID) 其值标识 Winsock 注册的 I/O 扩展函数。 成功后, WSAIoctl 函数返回的输出包含指向 RIO_EXTENSION_FUNCTION_TABLE 结构的指针,该结构包含指向 Winsock 注册的 I/O 扩展函数的指针。 SIO_GET_MULTIPLE_EXTENSION_FUNCTION_POINTER IOCTL 在 Ws2def.h 头文件中定义。 WSAID_MULTIPLE_RIO GUID 在 Mswsock.h 头文件中定义。

 

Windows Phone 8:Windows Phone 8 及更高版本上的 Windows Phone 应用商店应用支持此函数。

Windows 8.1Windows Server 2012 R2:Windows 8.1、Windows Server 2012 R2 及更高版本的 Windows 应用商店应用支持此函数。

要求

要求
Header mswsock.h