Platform SDK: DirectX

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 で宣言。