IOCTL_SERIAL_GET_WAIT_MASK IOCTL (ntddser.h)
La solicitud IOCTL_SERIAL_GET_WAIT_MASK devuelve la máscara de espera de eventos que está establecida actualmente para el controlador serie.
Un cliente puede esperar a que los eventos de espera representados por bits de marca SERIAL_EV_RXCHAR a través de SERIAL_EV_EVENT2. Para obtener más información sobre estas marcas de eventos, vea la sección Comentarios.
Para establecer una máscara de espera de eventos, un cliente puede usar una solicitud de IOCTL_SERIAL_SET_WAIT_MASK. Para esperar a que se produzca un evento de espera, un cliente usa una solicitud de IOCTL_SERIAL_WAIT_ON_MASK.
Código principal
Búfer de entrada
Ninguno.
Longitud del búfer de entrada
Ninguno.
Búfer de salida
El miembro AssociatedIrp.SystemBuffer apunta a un búfer ULONG asignado por el cliente que usa el controlador de controlador serie para generar la máscara de espera. La máscara de espera es cero o el OR bit a bit de uno o varios de los marcadores de eventoXXX de SERIAL_EV_.
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
Si la solicitud se realiza correctamente, el miembro Information se establece en el tamaño, en bytes, de un ULONG. De lo contrario, el miembro de Information está establecido en cero.
El miembro Estado de se establece en uno de los valores de estado genéricos de para solicitudes de control de dispositivos serie.
Observaciones
Las constantes SERIAL_EV_XXX definen los bits de marca en la máscara de espera para un puerto serie.
#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
Las constantesXXX SERIAL_EV_ definen los tipos de eventos que se pueden especificar en una máscara de espera. Después de que un cliente (aplicación o controlador periférico) abra una conexión a un puerto serie, el cliente puede especificar una máscara de espera que indique los tipos de eventos que el cliente necesita supervisar. Estos eventos son cambios en el estado de hardware del puerto serie. Cuando se produce un evento en la máscara de espera, se notifica al cliente.
Las solicitudes de control IOCTL_SERIAL_SET_WAIT_MASK y IOCTL_SERIAL_GET_WAIT_MASK usan máscaras de espera de eventos para especificar un conjunto de eventos en los que un cliente puede esperar. Un valor de máscara de espera es cero o el OR bit a bit de una o varias SERIAL_EV_XXX constantes. Un valor de máscara de espera de cero indica que el cliente no está esperando ningún evento.
El cliente envía una solicitud de control IOCTL_SERIAL_WAIT_ON_MASK para esperar un evento en la máscara de espera establecida actualmente. El controlador del controlador serie completa esta solicitud cuando se produce un evento en la máscara de espera.
En la tabla siguiente se muestran los bits de marca SERIAL_EV_XXX compatibles con SerCx2, SerCx y Serial.sys. Una entrada Sí de la tabla indica que la extensión o el controlador del marco serie admiten el bit de marca correspondiente. Una entrada No indica que el bit de marca no se admite.
Bit de marca | SerCx2 | SerCx | Serial.sys |
---|---|---|---|
SERIAL_EV_RXCHAR | Sí | Sí | Sí |
SERIAL_EV_RXFLAG | Consulte la nota. | No | Sí |
SERIAL_EV_TXEMPTY | Sí | Sí | Sí |
SERIAL_EV_CTS | Sí | Sí | Sí |
SERIAL_EV_DSR | Sí | Sí | Sí |
SERIAL_EV_RLSD | Consulte la nota. | Sí | Sí |
SERIAL_EV_BREAK | Sí | Sí | Sí |
SERIAL_EV_ERR | Sí | Sí | Sí |
SERIAL_EV_RING | Consulte la nota. | Sí | Sí |
SERIAL_EV_PERR | Consulte la nota. | No | No |
SERIAL_EV_RX80FULL | Consulte la nota. | No | Sí |
SERIAL_EV_EVENT1 | Consulte la nota. | No | No |
SERIAL_EV_EVENT2 | Consulte la nota. | No | No |
Requisitos
Requisito | Valor |
---|---|
encabezado de | ntddser.h (incluya Ntddser.h) |