enumeração RIO_NOTIFICATION_COMPLETION_TYPE (mswsock.h)
A enumeração RIO_NOTIFICATION_COMPLETION_TYPE especifica o tipo de notificações de fila de conclusão a serem usadas com a função RIONotify ao enviar ou receber dados usando as extensões de E/S registradas do 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 Um identificador de evento é usado para sinalizar notificações de fila de conclusão. Um identificador de evento é fornecido como o membro EventNotify.EventHandle na estrutura RIO_NOTIFICATION_COMPLETION passada para a função RIOCreateCompletionQueue quando o RIO_CQ é criado. A conclusão da função RIONotify para esse RIO_CQ sinalizará o evento. O membro Event.NotifyReset na estrutura RIO_NOTIFICATION_COMPLETION passada para a função RIOCreateCompletionQueue quando o RIO_CQ é criado indica se o evento deve ou não ser redefinido como parte de uma chamada para a função RIONotify . |
RIO_IOCP_COMPLETION Valor: 2 Um identificador de porta de conclusão de E/S é usado para sinalizar notificações de fila de conclusão. Um identificador de porta de conclusão de E/S é fornecido como membro Iocp.IocpHandle na estrutura RIO_NOTIFICATION_COMPLETION passada para a função RIOCreateCompletionQueue quando o RIO_CQ é criado. A conclusão da função RIONotify para esse RIO_CQ enfileirará uma entrada para a porta de conclusão de E/S que pode ser recuperada usando a função GetQueuedCompletionStatus ou GetQueuedCompletionStatusEx . A entrada enfileirada terá o valor do parâmetro lpCompletionKey retornado definido como o valor especificado no membro Iocp.CompletionKey do RIO_NOTIFICATION_COMPLETION e o valor de parâmetro lpOverlapped retornado definido como o valor especificado no membro Iocp.Overlapped na estrutura RIO_NOTIFICATION_COMPLETION . O membro Iocp.Overlapped no RIO_NOTIFICATION_COMPLETION será um valor não NULL. |
Comentários
A enumeração RIO_NOTIFICATION_COMPLETION_TYPE é usada com as extensões de E/S registradas do Winsock para especificar o tipo de conclusão de E/S a ser usado com um RIO_CQ. Um valor de enumeração é definido na estrutura RIO_NOTIFICATION_COMPLETION passada para a função RIOCreateCompletionQueue quando o RIO_CQ é criado.
Ao criar um RIO_CQ, a estrutura RIO_NOTIFICATION_COMPLETION determina como o aplicativo receberá notificações de fila de conclusão. Se a estrutura RIO_NOTIFICATION_COMPLETION for fornecida ao criar a fila de conclusão, o aplicativo poderá chamar a função RIONotify para solicitar uma notificação de fila de conclusão. Normalmente, essa notificação ocorre quando a fila de conclusão não está vazia. Isso pode acontecer imediatamente ou quando a próxima entrada de conclusão é inserida na fila de conclusão. Depois que uma notificação de fila de conclusão for emitida, o aplicativo deverá chamar RIONotify para receber outra notificação de fila de conclusão.
Duas opções estão disponíveis para notificação de fila de conclusão.
- Identificadores de evento.
- Portas de conclusão de E/S
Se o membro Type da estrutura RIO_NOTIFICATION_COMPLETION estiver definido como RIO_EVENT_COMPLETION, um identificador de evento será usado para sinalizar notificações de fila de conclusão. Um identificador de evento é fornecido como o membro EventNotify.EventHandle na estrutura RIO_NOTIFICATION_COMPLETION passada para a função RIOCreateCompletionQueue .
Se o membro Type da estrutura RIO_NOTIFICATION_COMPLETION estiver definido como RIO_IOCP_COMPLETION, uma porta de conclusão de E/S será usada para sinalizar notificações de fila de conclusão. Um identificador de porta de conclusão de E/S é fornecido como membro Iocp.IocpHandle na estrutura RIO_NOTIFICATION_COMPLETION passada para a função RIOCreateCompletionQueue . A conclusão da função RIONotify para esse RIO_CQ enfileirará uma entrada para a porta de conclusão de E/S que pode ser recuperada usando a função GetQueuedCompletionStatus ou GetQueuedCompletionStatusEx .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Cabeçalho | mswsock.h |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de