The following code demonstrates how to add Windows Media support to the ltmmPlay Object.
#include "ltmm.h" #include "assert.h" HINSTANCE g_hInstance; // application instance handle IltmmPlay* g_pPlay; // play object's interface pointer extern "C" { // declare the windows media certificate creation function HRESULT STDMETHODCALLTYPE WMCreateCertificate( IUnknown** pUnkCert ); }; // link the stub library #pragma comment(lib, "wmstub.lib") int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR /*lpCmdLine*/, int /*nCmdShow*/) { HRESULT hr; IUnknown* punkCert; g_hInstance = hInstance; // initialize COM library hr = CoInitialize(NULL); if(FAILED(hr)) goto error; // create the play object hr = CoCreateInstance(CLSID_ltmmPlay, NULL, CLSCTX_INPROC_SERVER, IID_IltmmPlay, (void**) &g_pPlay); if(FAILED(hr)) goto error; // create windows media certificate hr = WMCreateCertificate(&punkCert); if(SUCCEEDED(hr)) { // assign the certificate to the play object g_pPlay->put_WMCertificate(punkCert); punkCert->Release(); } #ifdef _DEBUG { // verify assignment g_pPlay->get_WMCertificate(&punkCert); assert(punkCert != NULL); if(punkCert) punkCert->Release(); } #endif // TODO: place additional code here error: // cleanup if(g_pPlay) g_pPlay->Release(); CoUninitialize(); return 0; }