Platform SDK: DirectX |
IDirectMusicGetLoader::GetLoader メソッドは、ストリームを作成したローダー オブジェクトへのポインタを取り出す。
HRESULT GetLoader( IDirectMusicLoader ** ppLoader );
成功すれば S_OK を返す。
失敗すれば E_NOINTERFACE を返す。
次のサンプル コードは、ローダーがアクセスする必要のあるオブジェクトへの参照を見つけるファイル パーサーから抜粋したものである。
HRESULT myGetReferencedObject( DMUS_OBJECTDESC *pDesc, // 記述子は既に準備できている。 IStream *pIStream, // 解析対象のストリーム。 IDirectMusicObject **ppIObject) // アクセスしたいオブジェクト。 { IDirectMusicGetLoader *pIGetLoader; IDirectMusicLoader *pILoader; ppIObject = NULL; HRESULT hr = pIStream->QueryInterface( IID_IDirectMusicGetLoader, (void **) &pIGetLoader ); if (SUCCEEDED(hr)) { hr = pIGetLoader->GetLoader(&pILoader); if (SUCCEEDED(hr)) { hr = pILoader->GetObject(pDesc, IID_DirectMusicLoader, (void**) ppIObject); pILoader->Release(); } pIGetLoader->Release(); } return hr; }
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dmusici.h で宣言。