次の方法で共有


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が返されます。 その他の戻り値は次のとおりです。

リターン コード 形容
STATUS_INVALID_PARAMETER
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

WDF_EVENT_TYPE