Platform SDK: DirectX |
IDirectMusicLoader::GetObject メソッドは、指定されたオブジェクトをファイルまたはリソースから取り出し、希望のインターフェイスを返す。
HRESULT GetObject( LPDMUS_OBJECTDESC pDESC, REFIID riid, LPVOID FAR * ppv );
成功すれば S_OK または DMUS_S_PARTIALLOAD を返す。
失敗すれば次のエラー値のいずれかを返す。
E_FAIL |
E_INVALIDARG |
E_OUTOFMEMORY |
E_POINTER |
DMUS_E_LOADER_NOCLASSID |
DMUS_E_LOADER_FAILEDOPEN |
DMUS_E_LOADER_FAILEDCREATE |
DMUS_E_LOADER_FORMATNOTSUPPORTED |
REGDB_E_CLASSNOTREG |
DMUS_S_PARTIALLOAD の戻り値によっては、デフォルトの音色コレクション ファイル、Gm.dls が利用できないことを意味する場合がある。
現在のバージョンの DirectMusic は、URL からのロードをサポートしていない。DMUS_OBJECTDESC 構造体の dwValidData メンバが DMUS_OBJ_URL を含んでいる場合、このメソッドは DMUS_E_LOADER_FORMATNOTSUPPORTED を返す。
このメソッドは、オブジェクトを取り出す前に DMUS_OBJECTDESC の相当するメンバを必要とすることはない。このメソッドは次の順序で検索を行う。
言い換えると、最も優先順位が高いのは一意の GUID、以下、リソース、フル パス名、内部名とカテゴリ、内部名、ローカル ファイル名の順である。
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dmusici.h で宣言。
IDirectMusicLoader::ReleaseObject, IDirectMusicLoader::ScanDirectory