次の方法で共有


IPart::Activate メソッド (devicetopology.h)

Activate メソッドは、コネクタまたはサブユニットで関数固有のインターフェイスをアクティブにします。

構文

HRESULT Activate(
  [in]  DWORD  dwClsContext,
  [in]  REFIID refiid,
  [out] void   **ppvObject
);

パラメーター

[in] dwClsContext

新しく作成されたオブジェクトを管理するコードが実行される実行コンテキスト。 呼び出し元は、このパラメーターを 1 つ以上の CLSCTX 列挙値のビットごとの OR に設定することで、コンテキストを制限できます。 クライアントは、CLSCTX_ALLを指定することで、コンテキスト制限の適用を回避できます。 CLSCTX の詳細については、Windows SDK のドキュメントを参照してください。

[in] refiid

要求された制御関数のインターフェイス ID。 クライアントは、このパラメーターを次のいずれかの REFIID 値に設定する必要があります。

IID_IAudioAutoGainControl

IID_IAudioBass

IID_IAudioChannelConfig

IID_IAudioInputSelector

IID_IAudioLoudness

IID_IAudioMidrange

IID_IAudioMute

IID_IAudioOutputSelector

IID_IAudioPeakMeter

IID_IAudioTreble

IID_IAudioVolumeLevel

IID_IDeviceSpecificProperty

IID_IKsFormatSupport

IID_IKsJackDescription

IID_IKsJackDescription2

詳細については、「解説」を参照してください。

[out] ppvObject

パラメーター refiid で指定されたインターフェイスのアドレスをメソッドが書き込むポインター変数へのポインター。 このメソッドを使用して、呼び出し元はインターフェイスへのカウントされた参照を取得します。 呼び出し元は、インターフェイスの Release メソッドを呼び出すことによって、不要になったときにインターフェイスを 解放 する役割を担います。 Activate 呼び出しが失敗した場合、*ppObjectNULL です

戻り値

メソッドが成功した場合は、S_OK を返します。 失敗した場合、次の表に示す値が含まれますが、これに限定されません。

リターン コード 説明
E_INVALIDARG
dwClsContext のCLSCTX_INPROC_SERVER ビットは 0 です。
E_POINTER
ポインター ppvObjectNULL です
E_NOINTERFACE
part オブジェクトは、要求されたインターフェイスをサポートしていません。

解説

Activate メソッドは、次の関数固有のコントロール インターフェイスをサポートしています。

パーツの関数固有のコントロール インターフェイスのインターフェイス ID を取得するには、パーツの IControlInterface::GetIID メソッドを 呼び出します。 関数固有の制御インターフェイス型のインターフェイス ID を取得するには、 __uuidof 演算子を使用します。 たとえば、 IAudioAutoGainControl のインターフェイス ID は次のように定義されます。

const IID IID_IAudioAutoGainControl  __uuidof(IAudioAutoGainControl)

__uuidof 演算子の詳細については、Windows SDK のドキュメントを参照してください。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー devicetopology.h

関連項目

IControlInterface::GetIID

IPart インターフェイス