Compartilhar via


Função SerCxCompleteWait (sercx.h)

O método SerCxCompleteWait notifica a extensão da estrutura serial (SerCx) de que ocorreu um evento na máscara de espera atual.

Sintaxe

NTSTATUS SerCxCompleteWait(
  [in] WDFDEVICE Device,
  [in] ULONG     Event
);

Parâmetros

[in] Device

Um identificador WDFDEVICE para o objeto de dispositivo de estrutura que representa o controlador serial.

[in] Event

O tipo de evento que está encerrando a operação de espera atual. Esse parâmetro é um valor de máscara de espera. Cada tipo de evento corresponde a um bit específico na máscara de espera. Esse bit é definido para indicar que o evento correspondente ocorreu. Para obter mais informações sobre os tipos de eventos que podem ser especificados por uma máscara de espera, consulte SERIAL_EV_XXX.

Retornar valor

SerCxCompleteWait retornará STATUS_SUCCESS se a chamada for bem-sucedida. Os possíveis valores retornados por erro incluem o código de status a seguir.

Código de retorno Descrição
STATUS_INVALID_PARAMETER
O evento especificado não está incluído na máscara de espera atual.

Comentários

Quando o SerCx recebe uma solicitação IOCTL_SERIAL_SET_WAIT_MASK de um cliente, o manipulador de solicitação no SerCx chama a função de retorno de chamada EvtSerCxWaitmask para notificar o driver do controlador serial de que a máscara de espera foi alterada. A máscara de espera especifica um conjunto de eventos de hardware para o controlador serial monitorar. Durante essa chamada, o driver descarta qualquer máscara de espera antiga que possa ter sido especificada em uma chamada EvtSerCxWaitmask anterior e configura o hardware do controlador serial para detectar os eventos na nova máscara de espera.

Posteriormente, quando ocorre um evento na nova máscara de espera, o driver chama SerCxCompleteWait para notificar o SerCx sobre o evento. Se uma solicitação IOCTL_SERIAL_WAIT_ON_MASK enviada anteriormente estiver pendente, SerCxCompleteWait concluirá essa solicitação com um status de STATUS_SUCCESS e uma máscara de espera de saída que indica qual evento ocorreu. Caso contrário, SerCxCompleteWait armazenará o evento em seu histórico de eventos interno, antecipando uma solicitação de IOCTL_SERIAL_WAIT_ON_MASK futura.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 8.
Plataforma de Destino Universal
Cabeçalho sercx.h
IRQL <= DISPATCH_LEVEL

Confira também

EvtSerCxWaitmask

IOCTL_SERIAL_SET_WAIT_MASK

IOCTL_SERIAL_WAIT_ON_MASK

SERIAL_EV_XXX

SerCxGetWaitMask