Partilhar 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 eventos, 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 eventoXXX SERIAL_EV_.

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 de Informações do será definido como o tamanho, em bytes, de um ULONG. Caso contrário, o membro de Informações do será definido como zero.

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

Observações

As constantesXXX SERIAL_EV_ 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 (driver de aplicativo ou 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 evento para especificar um conjunto de eventos nos quais um cliente pode aguardar. Um valor de máscara de espera é zero ou or bit a bit de uma ou mais SERIAL_EV_constantes de XXX. Um valor de máscara de espera igual a zero indica que o cliente não está aguardando eventos.

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 deXXX SERIAL_EV_ têm suporte por SerCx2, SerCx e Serial.sys. Uma entrada Sim na tabela indica que a extensão da estrutura serial ou driver dá suporte ao bit de sinalizador correspondente. Uma entrada No indica que o bit de sinalizador não suportado.

Bit de sinalizador SerCx2 SerCx Serial.sys
SERIAL_EV_RXCHAR Sim Sim Sim
SERIAL_EV_RXFLAG Veja a observação. Não Sim
SERIAL_EV_TXEMPTY Sim Sim Sim
SERIAL_EV_CTS Sim Sim Sim
SERIAL_EV_DSR Sim Sim Sim
SERIAL_EV_RLSD Veja a observação. Sim Sim
SERIAL_EV_BREAK Sim Sim Sim
SERIAL_EV_ERR Sim Sim Sim
SERIAL_EV_RING Veja a observação. Sim Sim
SERIAL_EV_PERR Veja a observação. Não Não
SERIAL_EV_RX80FULL Veja a observação. Não Sim
SERIAL_EV_EVENT1 Veja a observação. Não Não
SERIAL_EV_EVENT2 Veja a observação. Não Não
 
Observaçã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)

Consulte também

IOCTL_SERIAL_GET_CHARS

IOCTL_SERIAL_SET_CHARS

IOCTL_SERIAL_SET_WAIT_MASK

IOCTL_SERIAL_WAIT_ON_MASK

SERIAL_CHARS

SERIAL_STATUS