Share via


IAudioSessionManager::GetAudioSessionControl メソッド (audiopolicy.h)

GetAudioSessionControl メソッドは、オーディオ セッション コントロールを取得します。

構文

HRESULT GetAudioSessionControl(
  [in]  LPCGUID              AudioSessionGuid,
  [in]  DWORD                StreamFlags,
  [out] IAudioSessionControl **SessionControl
);

パラメーター

[in] AudioSessionGuid

セッション GUID へのポインター。 以前に開いたセッションが GUID によって識別されない場合、呼び出しによって新しい空のセッションが開かれます。 Sndvol プログラムには、1 つ以上のアクティブなストリームが含まれていない限り、セッションのボリューム レベルコントロールは表示されません。 このパラメーターが NULL であるか、GUID_NULL値を指している場合、メソッドはストリームを既定のセッションに割り当てます。

[in] StreamFlags

オーディオ ストリームのフラグの状態を指定します。

[out] SessionControl

メソッドがオーディオ セッション コントロール オブジェクトの IAudioSessionControl インターフェイスへのポインターを書き込むポインター変数へのポインター。 呼び出し元は、インターフェイスの Release メソッドを呼び出すことによって、不要になったときにインターフェイスを 解放 する役割を担います。 呼び出しが失敗した場合、 *SessionControlNULL です

戻り値

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

リターン コード 説明
AUDCLNT_E_NOT_INITIALIZED
オーディオ ストリームが正常に初期化されていません。
AUDCLNT_E_DEVICE_INVALIDATED
オーディオ エンドポイント デバイスが取り外されているか、オーディオ ハードウェアまたは関連するハードウェア リソースが再構成、無効、削除、またはその他の方法で使用できなくなります。
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows オーディオ サービスが実行されていません。
E_POINTER
パラメーター SessionControlNULL です
E_MEMORY
メモリが不足しています。

解説

このメソッドを呼び出すコード例については、「 レガシ オーディオ アプリケーションのオーディオ イベント」を参照してください。

要件

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

関連項目

IAudioSessionControl インターフェイス

IAudioSessionManager インターフェイス