WdfDevicePostEvent-Funktion (wdfdevice.h)

[Gilt nur für UMDF]

Die WdfDevicePostEvent-Methode benachrichtigt Anwendungen, die auf das angegebene Ereignis warten, von einem Treiber asynchron.

Syntax

NTSTATUS WdfDevicePostEvent(
  [in] WDFDEVICE      Device,
  [in] REFGUID        EventGuid,
  [in] WDF_EVENT_TYPE WdfEventType,
  [in] BYTE           *Data,
  [in] ULONG          DataSizeCb
);

Parameter

[in] Device

Ein Handle für ein Framework-Geräteobjekt.

[in] EventGuid

Die GUID für das Ereignis. Die GUID wird von der Anwendung und dem Treiber bestimmt und ist für das Framework undurchsichtig.

[in] WdfEventType

Ein WDF_EVENT_TYPE typisierter Wert, der den Ereignistyp identifiziert. In der aktuellen Version von UMDF muss der Treiber EventType auf WdfEventBroadcast (1) festlegen. WdfEventBroadcast gibt an, dass das Ereignis übertragen wird. Anwendungen können Ereignisse vom Typ WdfEventBroadcast abonnieren. Zum Empfangen von Broadcastereignissen muss sich die Anwendung für Benachrichtigungen über die Microsoft Win32 RegisterDeviceNotification-Funktion registrieren. Ereignisse vom Typ WdfEventBroadcast werden anwendungen als ereignisse vom typ DBT_CUSTOMEVENT verfügbar gemacht.

[in] Data

Ein Zeiger auf einen Puffer, der Daten enthält, die dem Ereignis zugeordnet sind. NULL ist ein gültiger Wert.

[in] DataSizeCb

Die Größe der Daten in Bytes, auf die Data verweist. Null ist ein gültiger Größenwert, wenn Data auf NULL festgelegt ist.

Rückgabewert

Wenn der Vorgang erfolgreich ist, gibt WdfDevicePostEvent STATUS_SUCCESS zurück. Weitere Rückgabewerte sind:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
WdfEventType ist nicht auf WdfEventBroadcast festgelegt.
 

Die -Methode gibt möglicherweise andere NTSTATUS-Werte zurück.

Hinweise

Wenn der Treiber WdfDevicePostEvent aufruft, um die anfordernde Anwendung über ein Ereignis zu benachrichtigen, sendet UMDF das Ereignis an das Betriebssystem. Das Betriebssystem sendet das Ereignis in einem asynchronen Vorgang an die anfordernde Anwendung weiter. Wenn das Betriebssystem anfänglich keinen Fehler zurückgibt, gibt WdfDevicePostEvent STATUS_SUCCESS zurück.

Wenn das Betriebssystem jedoch später einen Fehler empfängt, während es versucht, das Ereignis zu übermitteln (möglicherweise aufgrund einer geringen Arbeitsspeicherbedingung), kann das Betriebssystem den Treiber nicht über den Fehler informieren. Aufgrund der asynchronen Natur dieser Ereignisbenachrichtigung ist die Übermittlung des Ereignisses an die anfordernde Anwendung nicht garantiert.

Wenn Ereignisinformationen auf dem Weg zur anfordernden Anwendung verloren gehen, sollte die Anwendung in der Lage sein, das verlorene Ereignis wiederherzustellen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8.1
Zielplattform Universell
UMDF-Mindestversion 2.0
Kopfzeile wdfdevice.h (einschließen von Wdf.h)
Bibliothek WUDFx02000.lib
DLL WUDFx02000.dll
IRQL PASSIVE_LEVEL

Weitere Informationen

IWDFDevice::P ostEvent

WDF_EVENT_TYPE