Função SetIoRingCompletionEvent (ioringapi.h)
Registra um evento de fila de conclusão com um anel de E/S.
Sintaxe
HRESULT SetIoRingCompletionEvent(
HIORING ioRing,
HANDLE hEvent
);
Parâmetros
ioRing
Um HIORING que representa um identificador para o anel de E/S para o qual o evento de conclusão é registrado.
hEvent
Um identificador para o objeto de evento. A função CreateEvent ou OpenEvent retorna esse identificador.
Valor retornado
Retorna um HRESULT, incluindo os seguintes valores:
Valor | Descrição |
---|---|
S_OK | Êxito |
E_INVALID_HANDLE | Um identificador inválido foi passado no parâmetro ioRing . |
E_INVALIDARG | Um identificador inválido foi passado no parâmetro hEvent . |
Comentários
O kernel sinalizará esse evento quando ele colocar a primeira entrada em uma fila de conclusão vazia, ou seja, o kernel só define o evento para o estado sinalizado quando a fila de conclusão faz a transição do estado vazio para o não vazio. Os aplicativos devem chamar PopIoRingCompletion até que ele não indique mais entradas e, em seguida, aguardar a conclusão de quaisquer conclusões assíncronas adicionais por meio do HANDLE fornecido. Caso contrário, o evento não entrará no estado sinalizado e a espera poderá ser bloqueada até que ocorra um tempo limite ou para sempre se um tempo limite infinito for usado.
O kernel duplicará internamente o identificador, portanto, é seguro que o aplicativo feche o identificador quando as esperas não forem mais necessárias. Fornecer um valor de identificador de evento de NULL simplesmente limpa qualquer valor existente. Definir um valor de INVALID_HANDLE_VALUE gera um erro, assim como qualquer outro valor de identificador inválido, para ajudar a detectar bugs de código antecipadamente.
Há, no máximo, um identificador de evento associado a um HIORING, tentar definir um segundo substituirá qualquer um que já exista.
Requisitos
Cliente mínimo com suporte | Windows Build 22000 |
Servidor mínimo com suporte | Windows Build 22000 |
Cabeçalho | ioringapi.h |