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 |
---|---|
|
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 |