IMFExtendedCameraControl::SetFlags method (mfidl.h)
Sets the flags for a property on the capture device.
Syntax
HRESULT SetFlags(
ULONGLONG ulFlags
);
Parameters
ulFlags
A ULONGLONG mapping to property flags. Supported properties and flags are defined in the header file defined in ksmedia.h as constants with the naming convention KSCAMERA_EXTENDEDPROP_. For more information, see KSPROPERTYSETID_ExtendedCameraControl.
Return value
Returns S_OK on success.
Remarks
Before setting a property flag, you can check for supported capabilities by calling IMFExtendedCameraControl::GetCapabilities. The following example demonstrates querying support for the KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON capability.
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());
}
}
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 Build 20348 |
Minimum supported server | Windows 10 Build 20348 |
Header | mfidl.h |