RIO_NOTIFICATION_COMPLETION_TYPE 枚举 (mswsock.h)
RIO_NOTIFICATION_COMPLETION_TYPE 枚举指定在使用 Winsock 注册的 I/O 扩展发送或接收数据时要与 RIONotify 函数一起使用的完成队列通知的类型。
语法
typedef enum _RIO_NOTIFICATION_COMPLETION_TYPE {
RIO_EVENT_COMPLETION = 1,
RIO_IOCP_COMPLETION = 2
} RIO_NOTIFICATION_COMPLETION_TYPE, *PRIO_NOTIFICATION_COMPLETION_TYPE;
常量
RIO_EVENT_COMPLETION 值:1 事件句柄用于向完成队列通知发出信号。 创建RIO_CQ时,事件句柄作为传递给 RIOCreateCompletionQueue 函数的 RIO_NOTIFICATION_COMPLETION 结构中的 EventNotify.EventHandle 成员提供。 此RIO_CQ的 RIONotify 函数完成将发出事件信号。 创建RIO_CQ时传递给 RIOCreateCompletionQueue 函数的 RIO_NOTIFICATION_COMPLETION 结构中的 Event.NotifyReset 成员指示是否应在调用 RIONotify 函数时重置事件。 |
RIO_IOCP_COMPLETION 值: 2 I/O 完成端口句柄用于向完成队列通知发出信号。 创建RIO_CQ时,I/O 完成端口句柄作为传递到 RIOCreateCompletionQueue 函数的 RIO_NOTIFICATION_COMPLETION 结构中的 Iocp.IocpHandle 成员提供。 此RIO_CQ的 RIONotify 函数完成会将 I/O 完成端口的条目排入队列,可以使用 GetQueuedCompletionStatus 或 GetQueuedCompletionStatusEx 函数检索该条目。 排队条目会将返回的 lpCompletionKey 参数值设置为在 RIO_NOTIFICATION_COMPLETION的 Iocp.CompletionKey 成员中指定的值,并将返回的 lpOverlapped 参数值设置为RIO_NOTIFICATION_COMPLETION 结构中的 Iocp.Overlapped 成员中指定的值。 RIO_NOTIFICATION_COMPLETION中的 Iocp.Overlapped 成员将是非 NULL 值。 |
注解
RIO_NOTIFICATION_COMPLETION_TYPE 枚举与 Winsock 注册的 I/O 扩展一起使用,以指定要用于RIO_CQ的 I/O 完成类型。 创建 RIO_CQ 时,在传递给 RIOCreateCompletionQueue 函数的 RIO_NOTIFICATION_COMPLETION 结构中设置 枚举 值。
创建 RIO_CQ时, RIO_NOTIFICATION_COMPLETION 结构确定应用程序如何接收完成队列通知。 如果在创建完成队列时提供了 RIO_NOTIFICATION_COMPLETION 结构,应用程序可能会调用 RIONotify 函数来请求完成队列通知。 通常,当完成队列不为空时,会发生此通知。 这可能会立即发生,或者在将下一个完成项插入完成队列时发生。 发出完成队列通知后,应用程序必须调用 RIONotify 才能接收另一个完成队列通知。
有两个选项可用于完成队列通知。
- 事件句柄。
- I/O 完成端口
如果 RIO_NOTIFICATION_COMPLETION 结构的 Type 成员设置为 RIO_EVENT_COMPLETION,则事件句柄用于向完成队列通知发出信号。 事件句柄作为传递给 RIOCreateCompletionQueue 函数的 RIO_NOTIFICATION_COMPLETION 结构中的 EventNotify.EventHandle 成员提供。
如果 RIO_NOTIFICATION_COMPLETION 结构的 Type 成员设置为 RIO_IOCP_COMPLETION,则使用 I/O 完成端口向完成队列通知发出信号。 I/O 完成端口句柄作为传递到 RIOCreateCompletionQueue 函数的 RIO_NOTIFICATION_COMPLETION 结构中的 Iocp.IocpHandle 成员提供。 此RIO_CQ的 RIONotify 函数完成会将 I/O 完成端口的条目排入队列,可以使用 GetQueuedCompletionStatus 或 GetQueuedCompletionStatusEx 函数检索该条目。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
标头 | mswsock.h |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈