enumeración RIO_NOTIFICATION_COMPLETION_TYPE (mswsock.h)
La enumeración RIO_NOTIFICATION_COMPLETION_TYPE especifica el tipo de notificaciones de cola de finalización que se usarán con la función RIONotify al enviar o recibir datos mediante las extensiones de E/S registradas de Winsock.
Syntax
typedef enum _RIO_NOTIFICATION_COMPLETION_TYPE {
RIO_EVENT_COMPLETION = 1,
RIO_IOCP_COMPLETION = 2
} RIO_NOTIFICATION_COMPLETION_TYPE, *PRIO_NOTIFICATION_COMPLETION_TYPE;
Constantes
RIO_EVENT_COMPLETION Valor: 1 Un identificador de eventos se usa para indicar las notificaciones de la cola de finalización. Se proporciona un identificador de evento como miembro EventNotify.EventHandle en la estructura de RIO_NOTIFICATION_COMPLETION que se pasa a la función RIOCreateCompletionQueue cuando se crea el RIO_CQ . La finalización de la función RIONotify para este RIO_CQ indicará el evento. El miembro Event.NotifyReset de la estructura RIO_NOTIFICATION_COMPLETION que se pasa a la función RIOCreateCompletionQueue cuando se crea el RIO_CQ indica si el evento debe restablecerse como parte de una llamada a la función RIONotify . |
RIO_IOCP_COMPLETION Valor: 2 Se usa un identificador de puerto de finalización de E/S para indicar las notificaciones de cola de finalización. Se proporciona un identificador de puerto de finalización de E/S como miembro Iocp.IocpHandle en la estructura de RIO_NOTIFICATION_COMPLETION que se pasa a la función RIOCreateCompletionQueue cuando se crea el RIO_CQ . La finalización de la función RIONotify para este RIO_CQ pondrá en cola una entrada al puerto de finalización de E/S que se puede recuperar mediante la función GetQueuedCompletionStatus o GetQueuedCompletionStatusEx . La entrada en cola tendrá el valor de parámetro lpCompletionKey devuelto establecido en el valor especificado en el miembro Iocp.CompletionKey del RIO_NOTIFICATION_COMPLETION y el valor de parámetro lpOverlapped devuelto establecido en el valor especificado en el miembro Iocp.Superpuesto en RIO_NOTIFICATION_COMPLETION estructura. El miembro Iocp.Superpuesto en el RIO_NOTIFICATION_COMPLETION será un valor distinto de NULL. |
Comentarios
La enumeración RIO_NOTIFICATION_COMPLETION_TYPE se usa con las extensiones de E/S registradas de Winsock para especificar el tipo de finalización de E/S que se usará con un RIO_CQ. Un valor de enumeración se establece en la estructura RIO_NOTIFICATION_COMPLETION pasada a la función RIOCreateCompletionQueue cuando se crea el RIO_CQ .
Al crear un RIO_CQ, la estructura de RIO_NOTIFICATION_COMPLETION determina cómo la aplicación recibirá notificaciones de cola de finalización. Si se proporciona la estructura RIO_NOTIFICATION_COMPLETION al crear la cola de finalización, la aplicación puede llamar a la función RIONotify para solicitar una notificación de cola de finalización. Normalmente, esta notificación se produce cuando la cola de finalización no está vacía. Esto puede ocurrir inmediatamente o cuando se inserta la siguiente entrada de finalización en la cola de finalización. Una vez que se emite una notificación de cola de finalización, la aplicación debe llamar a RIONotify para recibir otra notificación de cola de finalización.
Hay dos opciones disponibles para la notificación de cola de finalización.
- Identificadores de eventos.
- Puertos de finalización de E/S
Si el miembro Type de la estructura de RIO_NOTIFICATION_COMPLETION se establece en RIO_EVENT_COMPLETION, se usa un identificador de eventos para indicar las notificaciones de la cola de finalización. Se proporciona un identificador de evento como miembro EventNotify.EventHandle en la estructura de RIO_NOTIFICATION_COMPLETION pasada a la función RIOCreateCompletionQueue .
Si el miembro Type de la estructura de RIO_NOTIFICATION_COMPLETION se establece en RIO_IOCP_COMPLETION, se usa un puerto de finalización de E/S para indicar las notificaciones de la cola de finalización. Se proporciona un identificador de puerto de finalización de E/S como miembro Iocp.IocpHandle en la estructura de RIO_NOTIFICATION_COMPLETION pasada a la función RIOCreateCompletionQueue . La finalización de la función RIONotify para este RIO_CQ pondrá en cola una entrada al puerto de finalización de E/S que se puede recuperar mediante la función GetQueuedCompletionStatus o GetQueuedCompletionStatusEx .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2012 [solo aplicaciones de escritorio] |
Encabezado | mswsock.h |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de