DMUS_PORTCAPS
DMUS_PORTCAPS 構造体は、IDirectMusic::EnumPort メソッドを呼び出したときに列挙されたポートに関する情報を受け取る。IDirectMusicPort::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_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_XGINHARDWARE
- このポートは、ハードウェア内に Yamaha XG 拡張を保持している。
- guidPort
- ポートの識別子。ポートの IDirectMusicPort インターフェイスを取得するために、この値を IDirectMusic::CreatePort メソッドに渡してもよい。
- 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" のようなユーザー指定のわかりやすい名前でもよい。
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dmusicc.h で宣言。