次の方法で共有


IWDFObject::AssignContext メソッド (wudfddi.h)

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

AssignContext メソッドは、オブジェクトのコンテキストとドライバー指定のクリーンアップ コールバック関数を登録します。

構文

HRESULT AssignContext(
  [in, optional] __drv_aliasesMem IObjectCleanup *pCleanupCallback,
  [in, optional] __drv_aliasesMem void           *pContext
);

パラメーター

[in, optional] pCleanupCallback

クリーンアップ コールバック関数を含む IObjectCleanup インターフェイスへのポインター。これは、オブジェクトが無効になった場合にクリーンアップ操作を実行します。 このパラメーターは省略可能です。 オブジェクトがクリーンアップされたときにドライバーが通知を必要としない場合、ドライバーは NULL を 渡すことができます。

[in, optional] pContext

登録するコンテキストへのポインター。 NULL は有効なコンテキストです。

戻り値

AssignContext は 、操作が成功した場合にS_OKを返します。 それ以外の場合、このメソッドは Winerror.h で定義されているエラー コードのいずれかを返します。

注釈

ドライバーは AssignContext を呼び出してコンテキストを登録し、オブジェクトが無効になったときに通知を要求します。 AssignContext 呼び出しでは、ドライバーは pCleanupCallback パラメーターの IObjectCleanup インターフェイスへのポインターを渡して IObjectCleanup を登録します。 フレームワークは、オブジェクトが有効な間、指定された IObjectCleanup インターフェイスへの参照を内部的に保持します。 オブジェクトが無効になると、フレームワークは IObjectCleanup::OnCleanup メソッドを呼び出してドライバーに通知します。 フレームワークは、 IObjectCleanup::OnCleanup を呼び出した後、指定された IObjectCleanup への参照を自動的に解放します。

各オブジェクト インスタンスに関連付けられているコンテキストは、いつでも 1 つだけ存在できます。 追加のコンテキストを登録しようとすると失敗します。

コンテキストは、有効な状態のオブジェクトにのみ関連付けることができます。 たとえば、削除処理中のオブジェクトにコンテキストを関連付けようとすると失敗します。

コンテキストはコンポーネント オブジェクト モデル (COM) インターフェイスではないので、ドライバーはコンテキストをそのように扱う必要はありません。 たとえば、ドライバーはコンテキストで AddRef メソッドを呼び出すことができません。

IWDFObject::RetrieveContext メソッドを使用して、AssignContext によって以前に登録されたコンテキストを取得できます。

AssignContext メソッドの使用方法のコード例については、「IWDFIoTarget::FormatRequestForWrite」を参照してください。

要件

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

こちらもご覧ください

IObjectCleanup

IObjectCleanup::OnCleanup

IWDFObject

IWDFObject::RetrieveContext