Partilhar via


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 de retorno

Retorna um HRESULT incluindo os seguintes valores:

Value Description
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 .

Observações

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 como 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 que quaisquer conclusões assíncronas adicionais sejam concluídas 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, a tentativa de definir um segundo substituirá qualquer um que já exista.

Requirements

Requirement Value
Cliente mínimo suportado Windows Build 22000
Servidor mínimo compatível Windows Build 22000
Header ioringapi.h
Library kernel32. Lib

Consulte também

PopIoRingCompletion