Microsoft DirectX 8.0 (C++) |
ストリームを作成したローダー オブジェクトへのポインタを取得する。
HRESULT GetLoader8( 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; }
ヘッダー : dmusici.h で宣言。