次の方法で共有


DirectMusic のインターフェイス

ここでは、DirectMusic の COM インターフェイスのリファレンスについて記述する。

現在のバージョンのインターフェイス (IKsControlIReferenceClock を除く) は、名前の最後に 8 を付けて、宣言または定義する。最新バージョンのインターフェイスを確実に使うには、インターフェイス ポインタの宣言時にこのサフィックスを必ず付ける。

メソッドが取得するインターフェイスは、常に基本バージョンである。より新しいバージョンが存在する場合は、次の例のように、QueryInterface を呼び出してそれを取得する必要がある。lpdmBand は、IDirectMusicBand8 インターフェイス ポインタである。

IDirectMusicSegment * lpdmseg;
IDirectMusicSegment8 * lpdmseg8;
 
HRESULT hr = lpdmBand->CreateSegment(&lpdmseg);
if (SUCCEEDED(hr)) 
{
  hr = lpdmseg->QueryInterface(IID_IDirectMusicSegment8, 
    (LPVOID*)&lpdmseg8);
}

インターフェイスの新しいバージョンがない場合、サフィックス 8 の付いたインターフェイス名は定義のみである。たとえば、IDirectMusicGraph8 は、あらゆる点で IDirectMusicGraph と等しい。このような場合、新しいインターフェイスを問い合わせる必要はないが、問い合わせをすることは、何の害もないだけでなく、DirectX の将来のバージョンに備えてコードの保守性を高めるのに役立つ。

旧バージョンのインターフェイスでサポートされているメソッドの情報については、該当するヘッダー ファイルのインターフェイスの宣言を参照すること。

IN (入力) パラメータとしてインターフェイス ポインタを渡すことができる場合は、古いバージョンを受け入れるようにメソッドが宣言されていても、新しいバージョンを渡すことができる。たとえば、IDirectMusicPerformance8::PlaySegmentEx には、IDirectMusicSegment または IDirectMusicSegment8 へのポインタを渡すことができる。

このドキュメントは、インターフェイスの最新バージョンに限定した、完全なリファレンス トピックを収録している。IDirectMusicGraph8 のような定義が存在する場合、インターフェイスはその名前で記載されている。

インターフェイス 説明
IDirectMusic8 バッファ、ポート、マスタ クロックを管理するためのメソッドを提供する。
IDirectMusicAudioPath8 パフォーマンスから最後のミキサへのデータ フローのステージを管理する。
IDirectMusicBand8 DirectMusic バンド オブジェクトを表す。
IDirectMusicBuffer8 ポートに対してシーケンス化されるタイム スタンプ付きのデータ (通常は MIDI メッセージ形式) を含むバッファを表す。
IDirectMusicChordMap8 コード マップを表す。
IDirectMusicCollection8 DLS ファイルのインスタンスを管理する。
IDirectMusicComposer8 コンポーザ エンジンへのアクセスを可能にする。
IDirectMusicContainer8 コンテナ内のオブジェクトへのアクセスを可能にする。コンテナとは、セグメントやパフォーマンスが使うオブジェクトのコレクションである。
IDirectMusicDownload8 DLS シンセサイザ ポートへのダウンロードに使われる連続したメモリ チャンクを表す。
IDirectMusicDownloadedInstrument8 IDirectMusicPort8::DownloadInstrument メソッドまたは IDirectMusicPerformance8::DownloadInstrument メソッドを使ってシンセサイザにダウンロードされた音色を示すために使われる。
IDirectMusicGetLoader8 ストリームを解析するオブジェクトが、ストリームにより参照される別のオブジェクトをロードする必要がある場合に使う。
IDirectMusicGraph8 ツールのロードとメッセージ フローを管理する。
IDirectMusicInstrument8 DLS コレクションの個別の音色を表す。
IDirectMusicLoader8 オブジェクトの検索、列挙、キャッシング、ロードに使われる。
IDirectMusicObject8 ストリームを解析するオブジェクトが、ストリームにより参照される別のオブジェクトをロードする必要がある場合に使う。
IDirectMusicPatternTrack8 1 つのパターンを含むトラックを表す。
IDirectMusicPerformance8 再生を管理する。
IDirectMusicPort8 サウンド データの送信または受信を行うデバイスを表す。
IDirectMusicPortDownload8 アプリケーションが DLS ダウンロードをサポートしているポートと直接通信し、メモリ チャンクをポートに直接ダウンロードできるようにする。
IDirectMusicScript8 アプリケーションで設定や取得ができる変数、アプリケーションで呼び出すことのできるルーチンを保持するスクリプトを表す。
IDirectMusicSegment8 複数のトラックで構成される演奏可能なデータの単位であるセグメントを表す。
IDirectMusicSegmentState8 セグメントの演奏中のインスタンスを表す。
IDirectMusicStyle8 ミュージック セグメントの実行時アレンジで使われるパターン、モチーフ、バンドのコレクションをカプセル化するスタイルオブジェクトを表す。
IDirectMusicSynth シンセサイザによって実装される。
IDirectMusicSynthSink シンセサイザ シンクによって実装される。
IDirectMusicThru8 キャプチャ ポートから別のポートへの MIDI メッセージの転送をサポートする。
IDirectMusicTool8 メッセージを処理するツール オブジェクトを表す。
IDirectMusicTrack8 セグメントに対する任意の種類のデータを格納できるトラック オブジェクトを表す。
IKsControl プロパティ、イベント、メソッドのサポートを取得、設定、または問い合わせるために使われる。
IReferenceClock システム基準クロックを表す。