IltmmTargetFormat::CreateTargetFormats Example for C++
Show in webframe
HRESULT CreateTargetFormats(IltmmCapture* pCapture)
{
IltmmTargetFormats* pformats = NULL;
IltmmTargetFormat* pformat = NULL;
IUnknown* pDICOMFilter;
VARIANT_BOOL vb;
// get the target formats collection
HRESULT hr = pCapture->get_TargetFormats(&pformats);
if(FAILED(hr))
return hr;
// get the DICOM target format object
hr = pformats->Item(ltmmCapture_TargetFormat_DICOM, &pformat);
if(FAILED(hr))
{
// release the formats collection object
pformats->Release();
return hr;
}
// get the UseFilterCache setting for the format
pformat->get_UseFilterCache(&vb);
// not set it to true
hr = pformat->put_UseFilterCache(VARIANT_TRUE);
if(FAILED(hr))
{
// release the format and collection objects
pformat->Release();
pformats->Release();
return hr;
}
/// get the multiplexer object for this format
hr = pformat->GetCacheObject(ltmmTargetFormat_Object_Mux, &pDICOMFilter);
if(FAILED(hr))
{
// release the format and collection objects
pformat->Release();
pformats->Release();
return hr;
}
// check to see if the format has a multiplexer dialog for settings
pformat->HasCacheDialog(ltmmTargetFormat_Dlg_Mux, &vb);
// if so, display it
if (vb == VARIANT_TRUE)
pformat->ShowCacheDialog(ltmmTargetFormat_Dlg_Mux, (long)NULL);
// release the objects
pformat->Release();
pformats->Release();
pDICOMFilter->Release();
return S_OK;
}