Compartilhar via


IOCTL_SERIAL_GET_WAIT_MASK IOCTL (ntddser.h)

A solicitação IOCTL_SERIAL_GET_WAIT_MASK retorna a máscara de espera de evento que está atualmente definida para o controlador serial.

Um cliente pode aguardar os eventos de espera representados por bits de sinalizador SERIAL_EV_RXCHAR por meio de SERIAL_EV_EVENT2. Para obter mais informações sobre esses sinalizadores de evento, consulte a seção Comentários.

Para definir uma máscara de espera de evento, um cliente pode usar uma solicitação IOCTL_SERIAL_SET_WAIT_MASK . Para aguardar a ocorrência de um evento de espera, um cliente usa uma solicitação IOCTL_SERIAL_WAIT_ON_MASK .

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Nenhum.

Comprimento do buffer de entrada

Nenhum.

Buffer de saída

O membro AssociatedIrp.SystemBuffer aponta para um buffer ULONG alocado pelo cliente que o driver do controlador serial usa para gerar a máscara de espera. A máscara de espera é zero ou o OR bit a bit de um ou mais dos sinalizadores de evento SERIAL_EV_XXX.

Comprimento do buffer de saída

O membro Parameters.DeviceIoControl.OutputBufferLength é definido como o tamanho, em bytes, de um ULONG.

Bloco de status

Se a solicitação for bem-sucedida, o membro Informações será definido como o tamanho, em bytes, de um ULONG. Caso contrário, o membro Informações será definido como zero.

O membro Status é definido como um dos valores de status genéricos para solicitações de controle de dispositivo serial.

Comentários

As constantes SERIAL_EV_XXX definem os bits de sinalizador na máscara de espera para uma porta serial.

#define SERIAL_EV_RXCHAR     0x0001
#define SERIAL_EV_RXFLAG     0x0002
#define SERIAL_EV_TXEMPTY    0x0004
#define SERIAL_EV_CTS        0x0008
#define SERIAL_EV_DSR        0x0010
#define SERIAL_EV_RLSD       0x0020
#define SERIAL_EV_BREAK      0x0040
#define SERIAL_EV_ERR        0x0080
#define SERIAL_EV_RING       0x0100
#define SERIAL_EV_PERR       0x0200
#define SERIAL_EV_RX80FULL   0x0400
#define SERIAL_EV_EVENT1     0x0800
#define SERIAL_EV_EVENT2     0x1000

As constantes SERIAL_EV_XXX definem os tipos de eventos que podem ser especificados em uma máscara de espera. Depois que um cliente (aplicativo ou driver periférico) abre uma conexão com uma porta serial, o cliente pode especificar uma máscara de espera que indica os tipos de eventos que o cliente precisa monitorar. Esses eventos são alterações no estado de hardware da porta serial. Quando ocorre um evento na máscara de espera, o cliente é notificado.

As solicitações de controle IOCTL_SERIAL_SET_WAIT_MASK e IOCTL_SERIAL_GET_WAIT_MASK usam máscaras de espera de eventos para especificar um conjunto de eventos nos quais um cliente pode aguardar. Um valor de máscara de espera é zero ou o OR bit a bit de uma ou mais constantes SERIAL_EV_XXX . Um valor de máscara de espera igual a zero indica que o cliente não está aguardando nenhum evento.

O cliente envia uma solicitação de controle IOCTL_SERIAL_WAIT_ON_MASK para aguardar um evento na máscara de espera definida no momento. O driver do controlador serial conclui essa solicitação quando ocorre um evento na máscara de espera.

A tabela a seguir mostra quais bits de sinalizador SERIAL_EV_XXX têm suporte por SerCx2, SerCx e Serial.sys. Uma entrada Sim na tabela indica que a extensão ou driver da estrutura serial dá suporte ao bit de sinalizador correspondente. Uma entrada Sem indica que não há suporte para o bit de sinalizador.

Bit de sinalizador SerCx2 SerCx Serial.sys
SERIAL_EV_RXCHAR Yes Yes Yes
SERIAL_EV_RXFLAG Veja a observação. No Yes
SERIAL_EV_TXEMPTY Yes Yes Yes
SERIAL_EV_CTS Yes Yes Yes
SERIAL_EV_DSR Yes Yes Yes
SERIAL_EV_RLSD Veja a observação. Yes Yes
SERIAL_EV_BREAK Yes Yes Yes
SERIAL_EV_ERR Yes Yes Yes
SERIAL_EV_RING Veja a observação. Yes Yes
SERIAL_EV_PERR Veja a observação. No No
SERIAL_EV_RX80FULL Veja a observação. No Yes
SERIAL_EV_EVENT1 Veja a observação. No No
SERIAL_EV_EVENT2 Veja a observação. No No
 
Nota O SerCx2 pode ou não dar suporte ao bit de sinalizador na entrada de tabela indicada, dependendo do driver do controlador serial e dos recursos do hardware do controlador serial.
 
Para obter mais informações sobre SerCx2, SerCx e Serial.sys, consulte Visão geral dos drivers do controlador serial.

Requisitos

Requisito Valor
Cabeçalho ntddser.h (inclua Ntddser.h)

Confira também

IOCTL_SERIAL_GET_CHARS

IOCTL_SERIAL_SET_CHARS

IOCTL_SERIAL_SET_WAIT_MASK

IOCTL_SERIAL_WAIT_ON_MASK

SERIAL_CHARS

SERIAL_STATUS