IOCTL_SERIAL_WAIT_ON_MASK IOCTL (ntddser.h)
A solicitação IOCTL_SERIAL_WAIT_ON_MASK é usada para aguardar a ocorrência de qualquer evento de espera especificado usando uma solicitação IOCTL_SERIAL_SET_WAIT_MASK.
Uma solicitação de espera na máscara é concluída depois que um dos seguintes eventos ocorre:
- Ocorre um evento de espera especificado pela solicitação de set-wait-mask mais recente.
- Uma solicitação IOCTL_SERIAL_SET_WAIT_MASK é recebida enquanto uma solicitação de espera na máscara está pendente. O driver conclui a solicitação pendente de espera na máscara com um status de STATUS_SUCCESS e a máscara de espera de saída é definida como zero.
Um cliente envia uma solicitação IOCTL_SERIAL_WAIT_ON_MASK para aguardar a ocorrência de um evento especificado na máscara de espera fornecida pela solicitação de IOCTL_SERIAL_SET_WAIT_MASK mais recente. Se um ou mais eventos na máscara de espera atual ocorrerem antes do envio da solicitação IOCTL_SERIAL_WAIT_ON_MASK, essa solicitação será concluída imediatamente com um status de STATUS_SUCCESS e um valor de máscara de saída que identifica os eventos. Se nenhum evento na máscara de espera ocorrer antes do envio da solicitação IOCTL_SERIAL_WAIT_ON_MASK, essa solicitação será marcada como pendente e aguardará na fila do controlador serial a próxima ocorrência de um evento na máscara de espera atual.
Depois que a solicitação IOCTL_SERIAL_WAIT_ON_MASK de um cliente for concluída com um status de STATUS_SUCCESS e um valor de máscara de saída diferente de zero, o cliente poderá enviar um novo IOCTL_SERIAL_WAIT_ON_MASK solicitação para aguardar outro evento na máscara de espera atual. Somente um novo evento que ocorre após a conclusão da solicitação de IOCTL_SERIAL_WAIT_ON_MASK anterior fará com que a nova solicitação de IOCTL_SERIAL_WAIT_ON_MASK seja concluída com um status de STATUS_SUCCESS e um valor de máscara de saída diferente de zero.
Código principal
Buffer de entrada
Nenhum.
Comprimento do buffer de entrada
Nenhum.
Buffer de saída
o buffer AssociatedIrp.System aponta para um buffer ULONG que contém uma máscara de espera de evento. A máscara de espera do evento indica quais eventos de espera ocorreram. A máscara de espera de evento é definida como zero ou como or bit a bit de um ou mais dos bits de sinalizador 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
O membro de Informações do é definido como o tamanho, em bytes, de um ULONG.
O membro status de é definido como um dos valores de status genérico para solicitações de controle de dispositivo serial. Um status de STATUS_INVALID_PARAMETER indica que nenhum evento de espera está definido ou uma solicitação de espera na máscara já está pendente.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | ntddser.h (inclua Ntddser.h) |