Adding Windows Media Support to the ltmmCapture Object for C++

The following code demonstrates how to add Windows Media support to the ltmmCapture Object.

#include "ltmm.h" 
#include "assert.h" 
HINSTANCE g_hInstance;  // application instance handle 
IltmmCapture* g_pCapture;  // capture 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 capture object 
   hr = CoCreateInstance(CLSID_ltmmCapture, NULL, CLSCTX_INPROC_SERVER, IID_IltmmCapture, (void**) &g_pCapture); 
   if(FAILED(hr)) 
      goto error; 
   // create windows media certificate 
   hr = WMCreateCertificate(&punkCert); 
   if(SUCCEEDED(hr)) 
   { 
      // assign the certificate to the capture object 
      g_pCapture->put_WMCertificate(punkCert); 
      punkCert->Release(); 
   } 
#ifdef _DEBUG 
   { 
      // verify assignment 
      g_pCapture->get_WMCertificate(&punkCert); 
      assert(punkCert != NULL); 
      if(punkCert) 
         punkCert->Release(); 
   } 
#endif 
   //   TODO: place additional code here 
error: 
   // cleanup 
   if(g_pCapture) 
      g_pCapture->Release(); 
   CoUninitialize(); 
   return 0; 
} 

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Multimedia C API Help