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ücklaufwerte sind der folgende Statuscode.

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

Bemerkungen

Wenn SerCx eine IOCTL_SERIAL_SET_WAIT_MASK Anforderung von einem Client empfängt, ruft der Anforderungshandler in SerCx den EvtSerCxWaitmask Rückruffunktion auf, um den seriellen Controllertreiber darüber zu informieren, dass sich die Wartemaske geändert hat. Die Wartemaske gibt eine Reihe von Hardwareereignissen für den zu überwachenden seriellen Controller an. Während dieses Aufrufs verwirft der Treiber alle alten Wartemasken, die möglicherweise in einem vorherigen EvtSerCxWaitmask Aufruf angegeben wurden, und konfiguriert dann die serielle Controllerhardware, 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 aussteht, SerCxCompleteWait diese Anforderung mit einem Status von STATUS_SUCCESS und einem Ausgabewarteformat abschließt, das angibt, welches Ereignis aufgetreten ist. Andernfalls speichert SerCxCompleteWait das Ereignis in seinem internen Ereignisverlauf vor einer zukünftigen IOCTL_SERIAL_WAIT_ON_MASK Anforderung.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows 8.
Zielplattform- Universal
Header- sercx.h
IRQL- <= DISPATCH_LEVEL

Siehe auch

EvtSerCxWaitmask

IOCTL_SERIAL_SET_WAIT_MASK

IOCTL_SERIAL_WAIT_ON_MASK

SERIAL_EV_XXX

SerCxGetWaitMask