Freigeben über


SerCxCompleteWait-Funktion (sercx.h)

Die SerCxCompleteWait-Methode benachrichtigt die serielle Frameworkerweiterung (SerCx), dass ein Ereignis in der aktuellen Wartemaske aufgetreten ist.

Syntax

NTSTATUS SerCxCompleteWait(
  [in] WDFDEVICE Device,
  [in] ULONG     Event
);

Parameter

[in] Device

Ein WDFDEVICE-Handle für das Framework-Geräteobjekt, das den seriellen Controller darstellt.

[in] Event

Der Ereignistyp, der den aktuellen Wartevorgang beendet. Dieser Parameter ist ein Warteformatwert. Jeder Ereignistyp entspricht einem bestimmten Bit im Warteformat. Dieses Bit wird so festgelegt, dass das entsprechende Ereignis aufgetreten ist. Weitere Informationen zu den Ereignistypen, die durch eine Wartemaske angegeben werden können, finden Sie unter SERIAL_EV_XXX.

Rückgabewert

SerCxCompleteWait gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Mögliche Fehlerrückgabewerte sind der folgende status Code.

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
Das angegebene Ereignis ist nicht in der aktuellen Wartemaske enthalten.

Hinweise

Wenn SerCx eine IOCTL_SERIAL_SET_WAIT_MASK-Anforderung von einem Client empfängt, ruft der Anforderungshandler in SerCx die Rückruffunktion EvtSerCxWaitmask auf, um den seriellen Controllertreiber darüber zu informieren, dass die Wartemaske geändert wurde. Die Wartemaske gibt einen Satz von Hardwareereignissen an, die vom seriellen Controller überwacht werden sollen. Während dieses Aufrufs verwirft der Treiber alle alten Wartemasken, die möglicherweise in einem früheren EvtSerCxWaitmask-Aufruf angegeben wurden, und konfiguriert dann die Hardware des seriellen Controllers, um die Ereignisse in der neuen Wartemaske zu erkennen.

Wenn später ein Ereignis in der neuen Wartemaske auftritt, ruft der Treiber SerCxCompleteWait auf, um SerCx über das Ereignis zu benachrichtigen. Wenn eine zuvor gesendete IOCTL_SERIAL_WAIT_ON_MASK Anforderung ausstehend ist, schließt SerCxCompleteWait diese Anforderung mit einer status von STATUS_SUCCESS und einer Ausgabewartemaske ab, die angibt, welches Ereignis aufgetreten ist. Andernfalls speichert SerCxCompleteWait das Ereignis im internen Ereignisverlauf in Erwartung einer zukünftigen IOCTL_SERIAL_WAIT_ON_MASK Anforderung.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 8.
Zielplattform Universell
Header sercx.h
IRQL <= DISPATCH_LEVEL

Weitere Informationen

EvtSerCxWaitmask

IOCTL_SERIAL_SET_WAIT_MASK

IOCTL_SERIAL_WAIT_ON_MASK

SERIAL_EV_XXX

SerCxGetWaitMask