IRemoteInterfaceCallbackEvent::OnRemoteInterfaceEvent メソッド (wudfddi.h)

[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、新しいバージョンのWindows 10では UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは、UMDF 2 を使用する必要があります。 詳細については、「UMDF を使用したはじめに」を参照してください。

UMDF ベースのドライバーの OnRemoteInterfaceEvent イベント コールバック関数は、 デバイス インターフェイスに関連付けられているデバイス イベントを処理します。

構文

void OnRemoteInterfaceEvent(
  [in]           IWDFRemoteInterface *pWdfRemoteInterface,
  [in]           REFGUID             EventGuid,
  [in, optional] BYTE                *pbData,
  [in]           DWORD               cbDataSize,
  [in]           DWORD               NameBufferOffset
);

パラメーター

[in] pWdfRemoteInterface

デバイス インターフェイスを表すリモート インターフェイス オブジェクトの IWDFRemoteInterface インターフェイスへのポインター。 ドライバーは、 IWDFDevice2::CreateRemoteInterface を呼び出すと、このポインターを取得します。

[in] EventGuid

イベントの種類を識別する GUID。 イベント GUID は、このような GUID をサポートするコンポーネントによって定義されます。 一部の デバイス インターフェイス クラス ではイベント GUID が提供され、一部のドライバーはカスタム イベントを提供します。

[in, optional] pbData

イベント固有のデータを含むバッファーへのポインター。 通常、イベント GUID を定義するコンポーネントは、イベント バッファーのイベント固有の構造も定義します。

[in] cbDataSize

pbData が指すバッファーのサイズ (バイト単位)。

[in] NameBufferOffset

pbData が指すバッファーの先頭からのオフセット (バイト単位)。 バッファーの 0 から NameBufferOffset-1 までのバイトには、バイナリ データが含まれます。 NameBufferOffset からバッファーの末尾までのバイトには、Unicode 文字列データが含まれます。

戻り値

なし

解説

ドライバーの OnRemoteInterfaceEvent イベント コールバック関数は、到着イベントと削除イベントを除くすべてのデバイス イベントを処理します。 このようなイベントは、UMDF ベースのドライバーによる IWDFDevice::P ostEvent の呼び出し、または IoReportTargetDeviceChange または IoReportTargetDeviceChangeAsynchronous へのカーネル モード ドライバーの呼び出しから発生する可能性があります。

ドライバーが IWDFRemoteTarget::OpenRemoteInterface を呼び出した後、フレームワークは OnRemoteInterfaceEvent イベント コールバック関数の呼び出しを開始し、デバイス インターフェイスのリモート I/O ターゲットが閉じられるまでコールバック関数の呼び出しを続けます。

ドライバーの OnRemoteInterfaceEvent イベント コールバック関数の詳細については、「 UMDF ベースのドライバーでのデバイス インターフェイスの使用」を参照してください。

要件

要件
サポート終了 UMDF 2.0 以降では使用できません。
対象プラットフォーム デスクトップ
最小 UMDF バージョン 1.9
Header wudfddi.h (Wudfddi.h を含む)

こちらもご覧ください

IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival

IRemoteInterfaceCallbackEvent

IRemoteInterfaceCallbackRemoval::OnRemoteInterfaceRemoval