Win32 API 日本語リファレンス
ホームMedia.Audio › AUDCLNT_SHAREMODE

AUDCLNT_SHAREMODE

列挙型
基底型i4

メンバー 2

名前10進16進説明
AUDCLNT_SHAREMODE_SHARED00x0オーディオストリームを共有モードで実行します。詳細については「解説」を参照してください。
AUDCLNT_SHAREMODE_EXCLUSIVE10x1オーディオストリームを排他モードで実行します。詳細については「解説」を参照してください。

公式ドキュメント

AUDCLNT_SHAREMODE 列挙型は、オーディオストリームを共有モードで実行するか排他モードで実行するかを示す定数を定義します。

解説(Remarks)

IAudioClient::Initialize メソッドおよび IAudioClient::IsFormatSupported メソッドは、AUDCLNT_SHAREMODE 列挙型で定義された定数を使用します。

共有モードでは、クライアントは他のユーザーモードプロセスで実行されているクライアントとオーディオエンドポイントデバイスを共有できます。オーディオエンジンは、エンジンのミックス形式に一致するクライアントストリームの形式を常にサポートします。さらに、Windows オーディオサービスがクライアントストリームにシステムエフェクトを挿入してクライアント形式をミックス形式に変換できる場合は、オーディオエンジンが別の形式をサポートすることもあります。

排他モードでは、Windows オーディオサービスは、クライアントがオーディオエンドポイントデバイスに排他的にアクセスできる接続の確立を試みます。このモードでは、オーディオエンジンは接続ポイントの作成を補助するためのシステムエフェクトをローカルストリームに一切挿入しません。オーディオデバイスが指定された形式を直接処理できるか、そうでなければメソッドが失敗するかのいずれかになります。

共有モードストリームと排他モードストリームの詳細については、User-Mode Audio Components を参照してください。

Xbox May 2021 Update 以降では、Xbox 上でオーディオクライアントを排他モードで開くことができます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum AUDCLNT_SHAREMODE : int {
    AUDCLNT_SHAREMODE_SHARED = 0,
    AUDCLNT_SHAREMODE_EXCLUSIVE = 1
} AUDCLNT_SHAREMODE;
public enum AUDCLNT_SHAREMODE : int
{
    AUDCLNT_SHAREMODE_SHARED = 0,
    AUDCLNT_SHAREMODE_EXCLUSIVE = 1,
}
Public Enum AUDCLNT_SHAREMODE As Integer
    AUDCLNT_SHAREMODE_SHARED = 0
    AUDCLNT_SHAREMODE_EXCLUSIVE = 1
End Enum
import enum

class AUDCLNT_SHAREMODE(enum.IntEnum):
    AUDCLNT_SHAREMODE_SHARED = 0
    AUDCLNT_SHAREMODE_EXCLUSIVE = 1
// AUDCLNT_SHAREMODE
pub const AUDCLNT_SHAREMODE_SHARED: i32 = 0;
pub const AUDCLNT_SHAREMODE_EXCLUSIVE: i32 = 1;
// AUDCLNT_SHAREMODE
const (
	AUDCLNT_SHAREMODE_SHARED int32 = 0
	AUDCLNT_SHAREMODE_EXCLUSIVE int32 = 1
)
const
  AUDCLNT_SHAREMODE_SHARED = 0;
  AUDCLNT_SHAREMODE_EXCLUSIVE = 1;
// AUDCLNT_SHAREMODE
pub const AUDCLNT_SHAREMODE_SHARED: i32 = 0;
pub const AUDCLNT_SHAREMODE_EXCLUSIVE: i32 = 1;
const
  AUDCLNT_SHAREMODE_SHARED* = 0
  AUDCLNT_SHAREMODE_EXCLUSIVE* = 1
enum AUDCLNT_SHAREMODE : int {
    AUDCLNT_SHAREMODE_SHARED = 0,
    AUDCLNT_SHAREMODE_EXCLUSIVE = 1,
}
#define global AUDCLNT_SHAREMODE_SHARED    0x0
#define global AUDCLNT_SHAREMODE_EXCLUSIVE 0x1