Microsoft DirectX 8.0 (C++) |
Retrieves a pointer to the loader object that created the stream.
HRESULT GetLoader8( 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; }
Header: Declared in dmusici.h.