void GetNearestCaptureInputSelection(IltmmCapture *pCapture)
{
IltmmCaptureSubTypes* pVideoCapSubTypes;
IltmmCaptureSubType* pCapSubType;
long lCount, lSel, i;
VARIANT_BOOL bVar;
BSTR bstrName = NULL, bstrFriendlyName = NULL;
pCapture->get_VideoCaptureSubTypes(&pVideoCapSubTypes);
pVideoCapSubTypes->get_Count(&lCount);
if (lCount > 0)
{
for (i = 0; i < lCount; i++)
{
pVideoCapSubTypes->Item(i, &pCapSubType);
// get the desired subtype
// we'll just take the first one for this example
if (i == 1)
{
pCapSubType->get_Name(&bstrName);
pCapSubType->get_FriendlyName(&bstrFriendlyName);
pCapSubType->get_Selected(&bVar);
// unselect it for demonstration purposes
if (bVar == VARIANT_TRUE)
pCapSubType->put_Selected(VARIANT_FALSE);
}
// release the capture subtype object
pCapSubType->Release();
}
// get the current selection (should be -1 or not 1)
pVideoCapSubTypes->get_Selection(&lSel);
// this should be true
if (lSel != 1 && NULL != bstrName)
{
pVideoCapSubTypes->Find(bstrName, &lSel);
pVideoCapSubTypes->put_Selection(lSel);
}
// free the bstrs
SysFreeString(bstrName);
SysFreeString(bstrFriendlyName);
}
// release the capture subtypes object
pVideoCapSubTypes->Release();
}
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET