WdfDevicePostEvent 函式 (wdfdevice.h)

[僅適用於 UMDF]

WdfDevicePostEvent 方法會以異步方式通知應用程式正在等候驅動程式中的指定事件。

語法

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

參數

[in] Device

架構裝置物件的句柄。

[in] EventGuid

事件的 GUID。 GUID 是由應用程式和驅動程式所決定,而且與架構不透明。

[in] WdfEventType

識別事件類型的 WDF_EVENT_TYPE型別值。 在目前版本的 UMDF 中,驅動程式必須將 EventType 設定為 WdfEventBroadcast (1) 。 WdfEventBroadcast 表示事件正在廣播。 應用程式可以訂閱 WdfEventBroadcast-type 事件。 若要接收廣播事件,應用程式必須透過 Microsoft Win32 RegisterDeviceNotification 函式註冊通知。 WdfEventBroadcast-type 事件會公開為應用程式DBT_CUSTOMEVENT類型事件。

[in] Data

緩衝區的指標,其中包含與事件相關聯的數據。 NULL 是有效的值。

[in] DataSizeCb

Data 指向的數據大小,以位元組為單位。 如果 Data 設定為 NULL,則零是有效的大小值。

傳回值

如果作業成功, WdfDevicePostEvent 會傳回STATUS_SUCCESS。 其他傳回值包括:

傳回碼 Description
STATUS_INVALID_PARAMETER
WdfEventType 未設定為 WdfEventBroadcast
 

方法可能會傳回其他 NTSTATUS值

備註

當驅動程式呼叫 WdfDevicePostEvent 以通知要求應用程式有關事件時,UMDF 會將事件傳送至操作系統。 操作系統會在異步操作中將 事件傳送至要求的應用程式。 如果操作系統一開始沒有傳回錯誤, WdfDevicePostEvent 會傳回STATUS_SUCCESS。

不過,之後,如果操作系統在嘗試傳遞事件時收到錯誤,可能是因為記憶體不足) 而 (事件,則操作系統無法通知驅動程序錯誤。 由於此事件通知的異步本質,因此不保證會將事件傳遞至要求的應用程式。

如果事件資訊在要求應用程式期間遺失,則應用程式應該能夠從遺失的事件中復原。

規格需求

需求
最低支援的用戶端 Windows 8.1
目標平台 Universal
最低UMDF版本 2.0
標頭 wdfdevice.h (包含 Wdf.h)
程式庫 WUDFx02000.lib
Dll WUDFx02000.dll
IRQL PASSIVE_LEVEL

另請參閱

IWDFDevice::P ostEvent

WDF_EVENT_TYPE