IAudioEndpointVolume::UnregisterControlChangeNotify メソッド (endpointvolume.h)
UnregisterControlChangeNotify メソッドは、クライアントが IAudioEndpointVolume::RegisterControlChangeNotify メソッドの以前の呼び出しで登録したクライアントの通知コールバック インターフェイスの登録を削除します。
構文
HRESULT UnregisterControlChangeNotify(
[in] IAudioEndpointVolumeCallback *pNotify
);
パラメーター
[in] pNotify
クライアントの IAudioEndpointVolumeCallback インターフェイスへのポインター。 クライアントは、 以前の IAudioEndpointVolume::RegisterControlChangeNotify メソッドの呼び出しで、エンドポイント ボリューム オブジェクトに同じインターフェイス ポインターを渡しました。 UnregisterControlChangeNotify メソッドが成功した場合は、クライアントの IAudioEndpointVolumeCallback インターフェイスで Release メソッドを呼び出します。
戻り値
メソッドが成功した場合は、S_OK を返します。 エラーが発生した場合、次の表に示す値が、可能なリターン コードに含まれますが、これらに限定されません。
リターン コード | 説明 |
---|---|
|
パラメーター pNotify は NULL です。 |
解説
クライアントが IAudioEndpointVolumeCallback インターフェイスへの最後の参照を解放する前に、 UnregisterControlChangeNotify を呼び出してインターフェイスを登録解除する必要があります。 それ以外の場合、アプリケーションは IAudioEndpointVolumeCallback オブジェクトと IAudioEndpointVolume オブジェクトによって保持されているリソースをリークします。 IAudioEndpointVolume::RegisterControlChangeNotify メソッドはクライアントの IAudioEndpointVolumeCallback::AddRef メソッドを呼び出し、UnregisterControlChangeNotify は IAudioEndpointVolumeCallback::Release メソッドを呼び出します。 クライアントが UnregisterControlChangeNotify を呼び出す前に IAudioEndpointVolumeCallback インターフェイスへの参照を解放してエラーが起きると、IAudioEndpointVolume オブジェクトは IAudioEndpointVolumeCallback インターフェイスへの参照を解放しません。 たとえば、設計が不十分な IAudioEndpointVolumeCallback 実装では、IAudioEndpointVolumeCallback オブジェクトのデストラクターから UnregisterControlChangeNotifyを 呼び出す可能性があります。 この場合、IAudioEndpointVolume オブジェクトが IAudioEndpointVolumeCallback インターフェイスへの参照を解放するまで、クライアントは UnregisterControlChangeNotify を呼び出しません。IAudioEndpointVolume オブジェクトは、クライアントが UnregisterControlChangeNotify を呼び出すまで IAudioEndpointVolumeCallback インターフェイスへの参照を解放しません。 AddRef メソッドと Release メソッドの詳細については、Windows SDK ドキュメントの IUnknown インターフェイスの説明を参照してください。
UnregisterControlChangeNotify を呼び出すコード例については、「エンドポイント ボリュームコントロール」を参照してください。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | endpointvolume.h |