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
データ が指 データのサイズ (バイト単位)。 データ NULL に設定場合、0 は有効なサイズ値です。
戻り値
操作が成功すると、WdfDevicePostEvent STATUS_SUCCESSが返されます。 その他の戻り値は次のとおりです。
リターン コード | 形容 |
---|---|
|
WdfEventType は WdfEventBroadcast に設定されていません。 |
このメソッドは、他NTSTATUS 値を返す場合があります。
備考
ドライバーが WdfDevicePostEvent を呼び出して、要求しているアプリケーションにイベントについて通知すると、UMDF はオペレーティング システムにイベントを送信します。 オペレーティング システムは、非同期操作で要求側アプリケーションにイベントを送信します。 オペレーティング システムが最初にエラーを返さない場合、WdfDevicePostEvent はSTATUS_SUCCESSを返します。
ただし、後で、オペレーティング システムがイベントの配信中にエラーを受け取った場合 (メモリ不足の状態が原因である可能性があります)、オペレーティング システムはドライバーにエラーを通知できません。 このイベント通知は非同期的に行われるため、要求側アプリケーションへのイベントの配信は保証されません。
要求するアプリケーションまでの途中でイベント情報が失われた場合、アプリケーションは失われたイベントから回復できる必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 8.1 |
ターゲット プラットフォーム の | 万国 |
UMDF の最小バージョン を する | 2.0 |
ヘッダー | wdfdevice.h (Wdf.h を含む) |
ライブラリ | WUDFx02000.lib |
DLL | WUDFx02000.dll |
IRQL | PASSIVE_LEVEL |
関連項目
IWDFDevice::P ostEvent の