Freigeben über


IOCTL_SERIAL_GET_WAIT_MASK IOCTL (ntddser.h)

Die IOCTL_SERIAL_GET_WAIT_MASK Anforderung gibt das Ereigniswarteformat zurück, das derzeit für den seriellen Controller festgelegt ist.

Ein Client kann auf die Wartezeitereignisse warten, die durch Flagbits SERIAL_EV_RXCHAR durch SERIAL_EV_EVENT2dargestellt werden. Weitere Informationen zu diesen Ereigniskennzeichnungen finden Sie im Abschnitt "Hinweise".

Um ein Ereigniswarteformat festzulegen, kann ein Client eine IOCTL_SERIAL_SET_WAIT_MASK Anforderung verwenden. Um auf das Auftreten eines Wartezeitereignisses zu warten, verwendet ein Client eine IOCTL_SERIAL_WAIT_ON_MASK Anforderung.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Nichts.

Eingabepufferlänge

Nichts.

Ausgabepuffer

Der AssociatedIrp.SystemBuffer Member verweist auf einen vom Client zugewiesenen ULONG-Puffer, den der serielle Controllertreiber zum Ausgeben des Warteformats verwendet. Die Wartemaske ist entweder null oder bitweise ODER eines oder mehrerer der SERIAL_EV_XXX--Ereigniskennzeichnungen.

Länge des Ausgabepuffers

Der Parameters.DeviceIoControl.OutputBufferLength Member wird auf die Größe eines ULONG-Elements in Bytes festgelegt.

Statusblock

Wenn die Anforderung erfolgreich ist, wird der Information Member auf die Größe eines ULONG-Elements in Bytes festgelegt. Andernfalls wird der Information Member auf Null festgelegt.

Der Status- Member ist auf einen der generischen Statuswerte für anforderungen für serielle Gerätesteuerungfestgelegt.

Bemerkungen

Die SERIAL_EV_XXX- Konstanten definieren die Flagbits im Warteformat für einen seriellen Port.

#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

Die SERIAL_EV_XXX--Konstanten definieren die Typen von Ereignissen, die in einem Warteformat angegeben werden können. Nachdem ein Client (Anwendung oder Peripherietreiber) eine Verbindung mit einem seriellen Port geöffnet hat, kann der Client eine Wartemaske angeben, die die Ereignistypen angibt, die der Client überwachen muss. Diese Ereignisse sind Änderungen am Hardwarezustand des seriellen Ports. Wenn ein Ereignis in der Wartemaske auftritt, wird der Client benachrichtigt.

Die IOCTL_SERIAL_SET_WAIT_MASK- und IOCTL_SERIAL_GET_WAIT_MASK-Steuerelementanforderungen verwenden Ereigniswartemasken, um eine Reihe von Ereignissen anzugeben, auf die ein Client warten kann. Ein Warteformatwert ist entweder Null oder bitweise ODER einer oder mehrerer SERIAL_EV_XXX- Konstanten. Ein Warteformatwert von Null gibt an, dass der Client nicht auf Ereignisse wartet.

Der Client sendet eine IOCTL_SERIAL_WAIT_ON_MASK Steuerelementanforderung, um auf ein Ereignis im aktuell festgelegten Warteformat zu warten. Der serielle Controllertreiber schließt diese Anforderung ab, wenn ein Ereignis im Warteformat auftritt.

Die folgende Tabelle zeigt, welche SERIAL_EV_XXX- Flagbits von SerCx2, SerCx und Serial.sysunterstützt werden. Ein Ja- Eintrag in der Tabelle gibt an, dass die serielle Frameworkerweiterung oder der Treiber das entsprechende Flagbit unterstützt. Ein Kein Eintrag gibt an, dass das Flagbit nicht unterstützt wird.

Flagbit SerCx2 SerCx Serial.sys
SERIAL_EV_RXCHAR Ja Ja Ja
SERIAL_EV_RXFLAG Siehe Hinweis. Nein Ja
SERIAL_EV_TXEMPTY Ja Ja Ja
SERIAL_EV_CTS Ja Ja Ja
SERIAL_EV_DSR Ja Ja Ja
SERIAL_EV_RLSD Siehe Hinweis. Ja Ja
SERIAL_EV_BREAK Ja Ja Ja
SERIAL_EV_ERR Ja Ja Ja
SERIAL_EV_RING Siehe Hinweis. Ja Ja
SERIAL_EV_PERR Siehe Hinweis. Nein Nein
SERIAL_EV_RX80FULL Siehe Hinweis. Nein Ja
SERIAL_EV_EVENT1 Siehe Hinweis. Nein Nein
SERIAL_EV_EVENT2 Siehe Hinweis. Nein Nein
 
Hinweis SerCx2 kann das Flag-Bit im angegebenen Tabelleneintrag je nach seriellem Controllertreiber und den Funktionen der seriellen Controllerhardware unterstützen oder nicht unterstützen.
 
Weitere Informationen zu SerCx2, SerCx und Serial.sysfinden Sie unter Übersicht über serielle Controllertreiber.

Anforderungen

Anforderung Wert
Header- ntddser.h (include Ntddser.h)

Siehe auch

IOCTL_SERIAL_GET_CHARS

IOCTL_SERIAL_SET_CHARS

IOCTL_SERIAL_SET_WAIT_MASK

IOCTL_SERIAL_WAIT_ON_MASK

SERIAL_CHARS

SERIAL_STATUS