IOCTL_SERIAL_WAIT_ON_MASK IOCTL (ntddser.h)
La solicitud IOCTL_SERIAL_WAIT_ON_MASK se usa para esperar la aparición de cualquier evento de espera especificado mediante una solicitud de IOCTL_SERIAL_SET_WAIT_MASK .
Una solicitud wait-on-mask se completa después de que se produzca uno de los siguientes eventos:
- Se produce un evento de espera especificado por la solicitud set-wait-mask más reciente.
- Se recibe una solicitud de IOCTL_SERIAL_SET_WAIT_MASK mientras está pendiente una solicitud wait-on-mask. El controlador completa la solicitud pendiente de espera en máscara con un estado de STATUS_SUCCESS y la máscara de espera de salida está establecida en cero.
Un cliente envía una solicitud de IOCTL_SERIAL_WAIT_ON_MASK para esperar a que se produzca un evento especificado en la máscara de espera proporcionada por la solicitud de IOCTL_SERIAL_SET_WAIT_MASK más reciente. Si se producen uno o varios eventos en la máscara de espera actual antes de enviar la solicitud IOCTL_SERIAL_WAIT_ON_MASK , esta solicitud se completa inmediatamente con un estado de STATUS_SUCCESS y un valor de máscara de salida que identifica los eventos. Si no se produce ningún evento en la máscara de espera antes de enviar la solicitud de IOCTL_SERIAL_WAIT_ON_MASK , esta solicitud se marca como pendiente y espera en la cola del controlador serie para la siguiente aparición de un evento en la máscara de espera actual.
Una vez completada la solicitud de IOCTL_SERIAL_WAIT_ON_MASK de un cliente con un estado de STATUS_SUCCESS y un valor de máscara de salida distinto de cero, el cliente puede enviar una nueva solicitud de IOCTL_SERIAL_WAIT_ON_MASK para esperar a otro evento en la máscara de espera actual. Solo un nuevo evento que se produce después de que se completó la solicitud de IOCTL_SERIAL_WAIT_ON_MASK anterior hará que la nueva solicitud de IOCTL_SERIAL_WAIT_ON_MASK se complete con un estado de STATUS_SUCCESS y un valor de máscara de salida distinto de cero.
Código principal
Búfer de entrada
Ninguno.
Longitud del búfer de entrada
Ninguno.
Búfer de salida
El búfer AssociatedIrp.System apunta a un búfer de ULONG que contiene una máscara de espera de eventos. La máscara de espera del evento indica qué eventos de espera se produjeron. La máscara de espera de eventos se establece en cero o en el or bit a bit de uno o varios de los bits de marca de SERIAL_EV_XXX .
Longitud del búfer de salida
El miembro Parameters.DeviceIoControl.OutputBufferLength se establece en el tamaño, en bytes, de un ULONG.
Bloque de estado
El miembro Information se establece en el tamaño, en bytes, de un ULONG.
El miembro Status se establece en uno de los valores de estado genéricos para las solicitudes de control de dispositivos serie. Un estado de STATUS_INVALID_PARAMETER indica que no se ha establecido ningún evento de espera o que ya está pendiente una solicitud wait-on-mask.
Requisitos
Requisito | Valor |
---|---|
Header | ntddser.h (incluya Ntddser.h) |