Метод IMFExtendedCameraControl::GetCapabilities (mfidl.h)
Запросы возможностей свойств, поддерживаемых устройством захвата.
Синтаксис
ULONGLONG GetCapabilities();
Возвращаемое значение
Сопоставление ULONGLONG с возможностями свойств. Поддерживаемые свойства и возможности определяются в файле заголовка, определенном в ksmedia.h, как константы с соглашением об именовании KSCAMERA_EXTENDEDPROP_. Дополнительные сведения см. в разделе KSPROPERTYSETID_ExtendedCameraControl.
Комментарии
Проверьте наличие определенной возможности, выполнив побитовую операцию AND с возвращаемым значением этой функции. Для некоторых драйверов может потребоваться, чтобы предварительный просмотр устройства камеры был запущен, прежде чем он сможет определить, какие элементы управления поддерживаются. Если вы проверка, поддерживается ли определенный элемент управления до запуска потока предварительного просмотра, он может быть описан как неподдерживаемый (и, следовательно, недоступный), даже если он поддерживается видеоустройством.
В следующем примере показана поддержка запросов для возможности KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON .
if (FAILED(m_cameraController->GetExtendedCameraControl(MF_CAPTURE_ENGINE_MEDIASOURCE,
KSPROPERTY_CAMERACONTROL_EXTENDED_TORCHMODE,
cameraControl.put())))
{
// Return false to indicate that the Torch Mode control is not available.
return false;
}
ULONGLONG capabilities = cameraControl->GetCapabilities();
// Check if the torch can be turned on.
if (capabilities & KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON)
{
// Check if the torch is off.
if ((cameraControl->GetFlags() & KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON) == 0)
{
// Torch is off. Tell the camera to turn it on.
check_hresult(cameraControl->SetFlags(KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON));
// Write the changed settings to the driver.
check_hresult(cameraControl->CommitSettings());
}
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | сборка Windows 10 20348 |
Минимальная версия сервера | сборка Windows 10 20348 |
Верхняя часть | mfidl.h |