AdvancedPhotoCapture Class


Provides methods for capturing photos using system-provided computational photography techniques.

public ref class AdvancedPhotoCapture sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AdvancedPhotoCapture final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public sealed class AdvancedPhotoCapture
Public NotInheritable Class AdvancedPhotoCapture
Object Platform::Object IInspectable AdvancedPhotoCapture

Windows requirements

Device family
Windows 10 (introduced in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v1.0)


Get an instance of this class by calling MediaCapture.PrepareAdvancedPhotoCaptureAsync.

For how-to guidance for using AdvancedPhotoCapture, see High dynamic range (HDR) and low-light photo capture.


Starting with Windows 10, version 1709, recording video and using AdvancedPhotoCapture concurrently is supported. This is not supported in previous versions. This change means that you can have a prepared LowLagMediaRecording and AdvancedPhotoCapture at the same time. You can start or stop video recording between calls to MediaCapture.PrepareAdvancedPhotoCaptureAsync and AdvancedPhotoCapture.FinishAsync. You can also call AdvancedPhotoCapture.CaptureAsync while video is recording. However, some AdvancedPhotoCapture scenarios, like capturing an HDR photo while recording video would cause some video frames to be altered by the HDR capture, resulting in a negative user experience. For this reason, the list of modes returned by the AdvancedPhotoControl.SupportedModes will be different while video is recording. You should check this value immediately after starting or stopping video recording to ensure that the desired mode is supported in the current video recording state.



Asynchronously performs an advanced photo capture.


Asynchronously performs an advanced photo capture passing the provided app-defined context object to the result of the operation.


Asynchronously releases the AdvancedPhotoCapture object and resources used by the advanced photo capture operation.



Occurs when all of the frames required for the advanced photo capture have been captured.


Raised when a reference photo for the advanced photo operation has been captured, on devices that support this feature.

Applies to

See also