Microsoft DirectX 8.0 (C++)

DMUS_PORTCAPS

IDirectMusic8::EnumPort メソッドの呼び出しで列挙された、ポートに関する情報を受け取る。IDirectMusicPort8::GetCaps メソッドを通して情報を返すときも、この構造体が使用される。

typedef struct _DMUS_PORTCAPS {
    DWORD dwSize;
    DWORD dwFlags;
    GUID  guidPort;
    DWORD dwClass;
    DWORD dwType;
    DWORD dwMemorySize;
    DWORD dwMaxChannelGroups;
    DWORD dwMaxVoices;
    DWORD dwMaxAudioChannels;
    DWORD dwEffectFlags;
    WCHAR wszDescription[DMUS_MAX_DESCRIPTION];
} DMUS_PORTCAPS, *LPDMUS_PORTCAPS;

メンバ

dwSize
構造体のサイズ。バイト単位で指定する。この構造体を任意のメソッドに渡す前に、このメンバを sizeof(DMUS_PORTCAPS) に初期化しなければならない。
dwFlags
ポートのさまざまな能力を記述するフラグ。このフィールドには、次の 1 つ以上の値を含めることができる。
DMUS_PC_AUDIOPATH
オーディオパス用に複数の出力を DirectSound に接続することができる。
DMUS_PC_DIRECTSOUND
ポートは DirectSound に送るストリーミング ウェーブ データをサポートする。
DMUS_PC_DLS
ポートは DLS レベル 1 のサンプル コレクションをサポートする。
DMUS_PC_DLS2
ポートは DLS レベル 2 のサンプル コレクションをサポートする。
DMUS_PC_EXTERNAL
ポートはホストの外部にあるデバイスに接続されている。たとえば、MPU-401 のような外部 MIDI ポートを通してデバイスに接続されている。
DMUS_PC_GMINHARDWARE
シンセサイザは独自の GM 音色セットを持っている。そのため、GM 音色はダウンロードする必要がない。
DMUS_PC_GSINHARDWARE
このポートは、ハードウェア内に Roland GS サウンド セットを保持している。
DMUS_PC_MEMORYSIZEFIXED
DLS 音色で利用できるメモリは調整できない。
DMUS_PC_SHAREABLE
デバイス上にあるチャンネル グループの同じ範囲を使用するポートは複数作成できる。このビットをセットしない限り、ポートは排他モードでのみ開くことができる。排他モードでは、作成された要求への割り当てに利用できるチャンネル グループがない限り、ポートを作成する試みは失敗する。
DMUS_PC_SOFTWARESYNTH
ポートはソフトウェア シンセサイザである。
DMUS_PC_WAVE
ストリーミングおよびワンショット ウェーブがサポートされている。
DMUS_PC_XGINHARDWARE
このポートは、ハードウェア内に Yamaha XG 拡張を保持している。
guidPort
ポートの識別子。この値を IDirectMusic8::CreatePort メソッドに渡すと、ポートの IDirectMusicPort8 インターフェイスを取得することができる。
dwClass
このポートのクラス。次のクラスが定義されている。
DMUS_PC_INPUTCLASS
入力ポート。
DMUS_PC_OUTPUTCLASS
出力ポート。
dwType
このポートのタイプ。次のタイプが定義されている。
DMUS_PORT_WINMM_DRIVER
Windows マルチメディア ドライバ。
DMUS_PORT_USER_MODE_SYNTH
ユーザーモード シンセサイザ。
DMUS_PORT_KERNEL_MODE
WDM ドライバ。
dwMemorySize
DLS 音色の保存に利用できるメモリの量。ポートがシステム メモリを使用していて、利用可能なシステム メモリによりその量が制限を受ける場合、このメンバは DMUS_PC_SYSTEMMEMORY を保持する。
dwMaxChannelGroups
このポートがサポートするチャンネル グループの最大数。1 つのチャンネル グループは、16 個の MIDI チャンネルから成るセットである。
dwMaxVoices
このポートを開いたときに割り当てのできるボイスの最大数。このパラメータが返されることをドライバがサポートしていない場合、値は − 1 でもよい。
dwMaxAudioChannels
ポートによってレンダリングできるオーディオ チャンネルの最大数。このパラメータが返されることをドライバがサポートしていない場合、値は − 1 でもよい。
dwEffectFlags
ポート上でどのようなオーディオ エフェクトを利用できるのかを示すフラグ。

次のフラグが定義されている。

DMUS_EFFECT_NONE
エフェクトはサポートしていない。
DMUS_EFFECT_REVERB
ポートはリバーブをサポートする。
DMUS_EFFECT_CHORUS
ポートはコーラスをサポートする。
wszDescription
ポートの記述。L"MPU-401 Output Port [330]" のようなシステム生成の名前でも、L"Port w/ External SC-55" のようなユーザー指定のわかりやすい名前でもよい。

動作環境

  ヘッダー : dmusicc.h で宣言。