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 |