DirectX SDK |
The IDirectMusicGetLoader::GetLoader method retrieves a pointer to the loader object that created the stream.
HRESULT GetLoader( IDirectMusicLoader ** ppLoader );
If the method succeeds, the return value is S_OK.
If it fails, the method can return E_NOINTERFACE.
The following code example is from a file parser that finds a reference to an object that needs to be accessed by the loader.
HRESULT myGetReferencedObject( DMUS_OBJECTDESC *pDesc, // Descriptor already prepared IStream *pIStream, // Stream being parsed IDirectMusicObject **ppIObject) // Object to be accessed { 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: Requires Windows 2000.
Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
Header: Declared in dmusici.h.