Freigeben über


WdfDevicePostEvent-Funktion (wdfdevice.h)

[Gilt nur für UMDF]

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

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 zu einem 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-typed-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 WdfEventBroadcast-type-Ereignisse abonnieren. Um Übertragungsereignisse zu empfangen, muss die Anwendung über die Microsoft Win32-RegisterDeviceNotification-Funktion eine Benachrichtigung registrieren. WdfEventBroadcast-type-Ereignisse werden als DBT_CUSTOMEVENT-Typ-Ereignisse für Anwendungen 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 von Daten in Bytes, auf die Daten 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- nicht auf WdfEventBroadcastfestgelegt ist.
 

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

Bemerkungen

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 an die anfordernde Anwendung in einem asynchronen Vorgang. Wenn das Betriebssystem anfangs 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 liefern (möglicherweise aufgrund eines zustandsarmen Arbeitsspeichers), kann das Betriebssystem den Treiber nicht über den Fehler informieren. Aufgrund der asynchronen Art 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 aus dem verlorenen Ereignis wiederherstellen können.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 8.1
Zielplattform- Universal
Mindest-UMDF-Version 2.0
Header- wdfdevice.h (einschließen Wdf.h)
Library WUDFx02000.lib
DLL- WUDFx02000.dll
IRQL- PASSIVE_LEVEL

Siehe auch

IWDFDevice::P ostEvent-

WDF_EVENT_TYPE