次の方法で共有


ISensorClassExtension::Initialize メソッド (sensorsclassextension.h)

ISensorClassExtension::Initialize メソッドは、センサー クラス拡張オブジェクトを初期化します。

構文

HRESULT Initialize(
  IUnknown *pWdfDeviceUnknown,
  IUnknown *pSensorDriverUnknown
);

パラメーター

pWdfDeviceUnknown

IWDFDevice インターフェイスを実装するドライバー クラスの IUnknown ポインター。

pSensorDriverUnknown

ISensorDriver コールバック インターフェイスを実装するオブジェクトの IUnknown ポインター。

戻り値

このメソッドは HRESULT を返します。 指定できる値には、次のいずれかの値が含まれますが、これらに限定されません。 「解説」を参照してください。

リターン コード 説明
S_OK メソッドが成功しました。
E_POINTER 引数が NULL であるか、 IWDFDevice インターフェイスがありません。.
HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS) クラス拡張機能は既に初期化されています。
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED) クラス拡張機能は既に初期化されています。
HRESULT_FROM_WIN32(ERROR_NOT_FOUND) センサーのWPD_OBJECT_IDが無効です。

注釈

まず、COM CoCreateInstance メソッドを呼び出してセンサー クラス拡張機能を作成し、Initialize を呼び出します。 IPnpCallbackHardware::OnPrepareHardware で UMDF によって呼び出されたときに、これらの初期化手順を実行することをお勧めします。 Initialize が返された後、ドライバーはセンサー クラス拡張機能からコールバックを受け取る準備ができている必要があります。 センサー クラス拡張機能は、初期化中 に ISensorDriver::OnGetSupportedSensorObjects を 呼び出します。 ドライバーは、Initialize を呼び出す前に、必要なすべてのプロパティとデータ フィールドの値を返す準備ができている必要があります。

クラス拡張機能は初期化中にドライバーを呼び出すので、このメソッドは、 ドライバーが ISensorDriver::OnGetSupportedSensorObjects から返す HRESULT を返すこともできます。

要件

要件
対象プラットフォーム Windows
ヘッダー sensorsclassextension.h
Library SensorsClassExtension.lib

こちらもご覧ください

ISensorClassExtension