IPart::RegisterControlChangeCallback メソッド (devicetopology.h)
RegisterControlChangeCallback メソッドは IControlChangeNotify インターフェイスを登録します。このインターフェイスは、クライアントがこの部分の状態変更の通知を受け取るために実装します。
構文
HRESULT RegisterControlChangeCallback(
[in] REFGUID riid,
[in] IControlChangeNotify *pNotify
);
パラメーター
[in] riid
コントロールの変更を監視する関数固有のコントロール インターフェイス。 詳細については、「解説」を参照してください。
[in] pNotify
クライアントの IControlChangeNotify インターフェイスへのポインター。 メソッドが成功すると、クライアントの IControlChangeNotify インターフェイスで AddRef メソッドが呼び出されます。
戻り値
メソッドが成功した場合は、S_OK を返します。 失敗した場合、次の表に示す値が含まれますが、これに限定されません。
リターン コード | 説明 |
---|---|
|
パラメーター riid は、有効なコントロール インターフェイス識別子ではありません。 |
|
ポインター pNotify は NULL です。 |
注釈
パラメーター riid を次のいずれかの GUID 値に設定します。
- 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
const IID IID_IAudioAutoGainControl __uuidof(IAudioAutoGainControl)
__uuidof 演算子の詳細については、Windows SDK のドキュメントを参照してください。
クライアントが IControlChangeNotify インターフェイスへの最後の参照を解放する前に、 IPart::UnregisterControlChangeCallback メソッドを呼び出してインターフェイスの登録を解除する必要があります。 それ以外の場合、アプリケーションは IControlChangeNotify オブジェクトと IPart オブジェクトによって保持されているリソースをリークします。 RegisterControlChangeCallback はクライアントの IControlChangeNotify::AddRef メソッドを呼び出し、UnregisterControlChangeCallback は IControlChangeNotify::Release メソッドを呼び出します。 クライアントが UnregisterControlChangeCallback を呼び出す前に IControlChangeNotify インターフェイスへの参照を解放してエラーが出た場合、IPart オブジェクトは IControlChangeNotify インターフェイスへの参照を解放しません。 たとえば、適切に設計されていない IControlChangeNotify 実装では、IControlChangeNotify オブジェクトのデストラクターから UnregisterControlChangeCallback を呼び出す場合があります。 この場合、IPart オブジェクトが IControlChangeNotify インターフェイスへの参照を解放するまで、クライアントは UnregisterControlChangeCallback を呼び出しません。IPart オブジェクトは、クライアントが UnregisterControlChangeCallback を呼び出すまで IControlChangeNotify インターフェイスへの参照を解放しません。 AddRef メソッドと Release メソッドの詳細については、Windows SDK ドキュメントの IUnknown インターフェイスの説明を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | devicetopology.h |