Método IMFExtendedCameraControl::SetFlags (mfidl.h)
Establece las marcas de una propiedad en el dispositivo de captura.
Sintaxis
HRESULT SetFlags(
ULONGLONG ulFlags
);
Parámetros
ulFlags
Una asignación de ULONGLONG a marcas de propiedad. Las propiedades y marcas admitidas se definen en el archivo de encabezado definido en ksmedia.h como constantes con la convención de nomenclatura KSCAMERA_EXTENDEDPROP_. Para obtener más información, consulte KSPROPERTYSETID_ExtendedCameraControl.
Valor devuelto
Devuelve S_OK si se realiza correctamente.
Comentarios
Antes de establecer una marca de propiedad, puede comprobar si hay funcionalidades admitidas llamando a IMFExtendedCameraControl::GetCapabilities. En el ejemplo siguiente se muestra la compatibilidad de consultas con la funcionalidad 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());
}
}
Requisitos
Cliente mínimo compatible | Compilación 20348 de Windows 10 |
Servidor mínimo compatible | Compilación 20348 de Windows 10 |
Encabezado | mfidl.h |