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 da 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.

Valor de retorno

SerCxCompleteWait retornará STATUS_SUCCESS se a chamada for bem-sucedida. Os valores de retorno de erro possíveis 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.

Observações

Quando o SerCx recebe uma solicitação IOCTL_SERIAL_SET_WAIT_MASK de um cliente, o manipulador de solicitações 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 um EvtSerCxWaitmask chamada 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 do 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 armazena o evento em seu histórico de eventos interno em antecipação a uma solicitação de IOCTL_SERIAL_WAIT_ON_MASK futura.

Requisitos

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

Consulte também

EvtSerCxWaitmask

IOCTL_SERIAL_SET_WAIT_MASK

IOCTL_SERIAL_WAIT_ON_MASK

SERIAL_EV_XXX

SerCxGetWaitMask