IMFCameraControlDefaultsCollection::GetOrAddControl method (mfidl.h)

Adds a new camera control to the camera control collection.

Syntax

HRESULT GetOrAddControl(
  MF_CAMERA_CONTROL_CONFIGURATION_TYPE configType,
  REFGUID                              controlSet,
  ULONG                                constrolId,
  ULONG                                controlSize,
  ULONG                                dataSize,
  IMFCameraControlDefaults             **defaults
);

Parameters

configType

A value from the MF_CAMERA_CONTROL_CONFIGURATION_TYPE specifying whether the control value must be set before streaming begins or after streaming starts.

controlSet

A GUID specifying the control set to which the control belongs. If the controlSet is KSPROPERTYSETID_ExtendedCameraControl please use the dedicated GetOrAddExtendedControl function.

constrolId

The ID of the control to be added to the collection.

controlSize

The size of the control, in bytes. This value must be greater than or equal to the size of KSPROPERTY.

dataSize

The size of the data payload for the control, in bytes.

defaults

Receives a pointer to a IMFCameraControlDefaults instance representing the added control.

Return value

An HRESULT, including the following:

Value Description
S_OK Success.

Remarks

For custom controls, controlSet and controlId are based on the custom control DDI published by the camera driver vendor. Similarly, the controlSize and dataSize are based on the DDI published by the vendor.

Requirements

Requirement Value
Minimum supported client Windows 11 Build 22621
Minimum supported server Windows 11 Build 22621
Header mfidl.h