Platform SDK: DirectX

IDirectMusicGetLoader::GetLoader

IDirectMusicGetLoader::GetLoader メソッドは、ストリームを作成したローダー オブジェクトへのポインタを取り出す。

HRESULT GetLoader(
  IDirectMusicLoader ** ppLoader
);

パラメータ

ppLoader
IDirectMusicLoader インターフェイスポインタを受け取る変数のアドレス。このインターフェイスの参照カウントはインクリメントされる。

戻り値

成功すれば 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 で宣言。

参照

カスタム ロード