The IDirectMusicLoader::GetObject method retrieves the specified object from a file or resource and returns the desired interface.
HRESULT GetObject(
LPDMUS_OBJECTDESC pDESC,
REFIID riid,
LPVOID FAR * ppv
);
If the method succeeds, the return value is S_OK or DMUS_S_PARTIALLOAD.
If it fails, the method may return one of the following error values:
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 |
A return value of DMUS_S_PARTIALLOAD may mean that the default instrument collection file, Gm.dls, is not available.
The current version of DirectMusic does not support loading from URLs. If the dwValidData member of the DMUS_OBJECTDESC structure contains DMUS_OBJ_URL, the method returns DMUS_E_LOADER_FORMATNOTSUPPORTED.
The method does not require that all valid members of the DMUS_OBJECTDESC structure match before retrieving an object. It searches in the following order:
In other words, the highest priority goes to a unique GUID, followed by a resource, followed by the full file path name, followed by internal name plus category, followed by internal name, followed by local file name.
Windows NT/2000: Requires Windows 2000.
Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
Header: Declared in dmusici.h.
IDirectMusicLoader::ReleaseObject, IDirectMusicLoader::ScanDirectory, Loading Objects