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 Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document