次の方法で共有


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 を返すこともできます。

必要条件

要件 価値
ターゲット プラットフォーム ウィンドウズ
ヘッダー sensorsclassextension.h
ライブラリ SensorsClassExtension.lib

関連項目

ISensorClassExtension