// // Copyright (c) Microsoft Corporation. All rights reserved. // // // File generated by WinMDIDL version 8.00.0021 // import "inspectable.idl"; import "AsyncInfo.idl"; import "EventToken.idl"; import "windowscontracts.idl"; import "Windows.Foundation.idl"; import "Windows.Foundation.Numerics.idl"; import "Windows.Graphics.DirectX.idl"; import "Windows.Graphics.DirectX.Direct3D11.idl"; import "Windows.Perception.idl"; import "Windows.Perception.Spatial.idl"; import "Windows.UI.Core.idl"; // Forward Declare namespace Windows { namespace Foundation { runtimeclass Deferral; interface IClosable; } } namespace Windows { namespace Foundation { namespace Numerics { typedef struct Matrix4x4 Matrix4x4; typedef struct Quaternion Quaternion; typedef struct Vector2 Vector2; typedef struct Vector3 Vector3; } } } namespace Windows { namespace Foundation { typedef struct Rect Rect; typedef struct Size Size; typedef struct TimeSpan TimeSpan; apicontract UniversalApiContract; } } namespace Windows { namespace Graphics { namespace DirectX { namespace Direct3D11 { interface IDirect3DDevice; interface IDirect3DSurface; } } } } namespace Windows { namespace Graphics { namespace DirectX { typedef enum DirectXPixelFormat DirectXPixelFormat; } } } namespace Windows { namespace Perception { runtimeclass PerceptionTimestamp; } } namespace Windows { namespace Perception { namespace Spatial { typedef struct SpatialBoundingFrustum SpatialBoundingFrustum; runtimeclass SpatialCoordinateSystem; runtimeclass SpatialLocator; } } } namespace Windows { namespace UI { namespace Core { runtimeclass CoreWindow; } } } namespace Windows { namespace Graphics { namespace Holographic { typedef enum HolographicDepthReprojectionMethod HolographicDepthReprojectionMethod; typedef enum HolographicFramePresentResult HolographicFramePresentResult; typedef enum HolographicFramePresentWaitBehavior HolographicFramePresentWaitBehavior; typedef enum HolographicReprojectionMode HolographicReprojectionMode; typedef enum HolographicSpaceUserPresence HolographicSpaceUserPresence; typedef enum HolographicViewConfigurationKind HolographicViewConfigurationKind; typedef struct HolographicAdapterId HolographicAdapterId; typedef struct HolographicFrameId HolographicFrameId; typedef struct HolographicStereoTransform HolographicStereoTransform; interface IHolographicCamera; interface IHolographicCamera2; interface IHolographicCamera3; interface IHolographicCamera4; interface IHolographicCamera5; interface IHolographicCamera6; interface IHolographicCameraPose; interface IHolographicCameraPose2; interface IHolographicCameraRenderingParameters; interface IHolographicCameraRenderingParameters2; interface IHolographicCameraRenderingParameters3; interface IHolographicCameraRenderingParameters4; interface IHolographicCameraViewportParameters; interface IHolographicDisplay; interface IHolographicDisplay2; interface IHolographicDisplay3; interface IHolographicDisplayStatics; interface IHolographicFrame; interface IHolographicFrame2; interface IHolographicFrame3; interface IHolographicFramePrediction; interface IHolographicFramePresentationMonitor; interface IHolographicFramePresentationReport; interface IHolographicFrameRenderingReport; interface IHolographicFrameScanoutMonitor; interface IHolographicFrameScanoutReport; interface IHolographicQuadLayer; interface IHolographicQuadLayerFactory; interface IHolographicQuadLayerUpdateParameters; interface IHolographicQuadLayerUpdateParameters2; interface IHolographicSpace; interface IHolographicSpace2; interface IHolographicSpace3; interface IHolographicSpaceCameraAddedEventArgs; interface IHolographicSpaceCameraRemovedEventArgs; interface IHolographicSpaceStatics; interface IHolographicSpaceStatics2; interface IHolographicSpaceStatics3; interface IHolographicViewConfiguration; interface IHolographicViewConfiguration2; runtimeclass HolographicCamera; runtimeclass HolographicCameraPose; runtimeclass HolographicCameraRenderingParameters; runtimeclass HolographicCameraViewportParameters; runtimeclass HolographicDisplay; runtimeclass HolographicFrame; runtimeclass HolographicFramePrediction; runtimeclass HolographicFramePresentationMonitor; runtimeclass HolographicFramePresentationReport; runtimeclass HolographicFrameRenderingReport; runtimeclass HolographicFrameScanoutMonitor; runtimeclass HolographicFrameScanoutReport; runtimeclass HolographicQuadLayer; runtimeclass HolographicQuadLayerUpdateParameters; runtimeclass HolographicSpace; runtimeclass HolographicSpaceCameraAddedEventArgs; runtimeclass HolographicSpaceCameraRemovedEventArgs; runtimeclass HolographicViewConfiguration; } } } // Generic instantiations namespace Windows { namespace Graphics { namespace Holographic { declare { interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.Collections.IVector; interface Windows.Foundation.Collections.IVector; interface Windows.Foundation.IReference; interface Windows.Foundation.TypedEventHandler; interface Windows.Foundation.TypedEventHandler; interface Windows.Foundation.TypedEventHandler; } } } } // Type definition namespace Windows { namespace Graphics { namespace Holographic { [contract(Windows.Foundation.UniversalApiContract, 11.0)] enum HolographicDepthReprojectionMethod { DepthReprojection = 0, AutoPlanar = 1 }; [contract(Windows.Foundation.UniversalApiContract, 2.0)] enum HolographicFramePresentResult { Success = 0, DeviceRemoved = 1 }; [contract(Windows.Foundation.UniversalApiContract, 2.0)] enum HolographicFramePresentWaitBehavior { WaitForFrameToFinish = 0, DoNotWaitForFrameToFinish = 1 }; [contract(Windows.Foundation.UniversalApiContract, 4.0)] enum HolographicReprojectionMode { PositionAndOrientation = 0, OrientationOnly = 1, Disabled = 2 }; [contract(Windows.Foundation.UniversalApiContract, 6.0)] enum HolographicSpaceUserPresence { Absent = 0, PresentPassive = 1, PresentActive = 2 }; [contract(Windows.Foundation.UniversalApiContract, 8.0)] enum HolographicViewConfigurationKind { Display = 0, PhotoVideoCamera = 1 }; [contract(Windows.Foundation.UniversalApiContract, 2.0)] struct HolographicAdapterId { UINT32 LowPart; INT32 HighPart; }; [contract(Windows.Foundation.UniversalApiContract, 10.0)] struct HolographicFrameId { UINT64 Value; }; [contract(Windows.Foundation.UniversalApiContract, 2.0)] struct HolographicStereoTransform { Windows.Foundation.Numerics.Matrix4x4 Left; Windows.Foundation.Numerics.Matrix4x4 Right; }; [contract(Windows.Foundation.UniversalApiContract, 2.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicCamera)] [uuid(E4E98445-9BED-4980-9BA0-E87680D1CB74)] interface IHolographicCamera : IInspectable { [propget] HRESULT RenderTargetSize([out] [retval] Windows.Foundation.Size* value); [propget] HRESULT ViewportScaleFactor([out] [retval] DOUBLE* value); [propput] HRESULT ViewportScaleFactor([in] DOUBLE value); [propget] HRESULT IsStereo([out] [retval] boolean* value); [propget] HRESULT Id([out] [retval] UINT32* value); HRESULT SetNearPlaneDistance([in] DOUBLE value); HRESULT SetFarPlaneDistance([in] DOUBLE value); } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicCamera)] [uuid(B55B9F1A-BA8C-4F84-AD79-2E7E1E2450F3)] interface IHolographicCamera2 : IInspectable requires Windows.Graphics.Holographic.IHolographicCamera { [propget] HRESULT LeftViewportParameters([out] [retval] Windows.Graphics.Holographic.HolographicCameraViewportParameters** result); [propget] HRESULT RightViewportParameters([out] [retval] Windows.Graphics.Holographic.HolographicCameraViewportParameters** result); [propget] HRESULT Display([out] [retval] Windows.Graphics.Holographic.HolographicDisplay** result); } [contract(Windows.Foundation.UniversalApiContract, 5.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicCamera)] [uuid(45AA4FB3-7B59-524E-4A3F-4A6AD6650477)] interface IHolographicCamera3 : IInspectable requires Windows.Graphics.Holographic.IHolographicCamera2, Windows.Graphics.Holographic.IHolographicCamera { [propget] HRESULT IsPrimaryLayerEnabled([out] [retval] boolean* value); [propput] HRESULT IsPrimaryLayerEnabled([in] boolean value); [propget] HRESULT MaxQuadLayerCount([out] [retval] UINT32* value); [propget] HRESULT QuadLayers([out] [retval] Windows.Foundation.Collections.IVector** value); } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicCamera)] [uuid(9A2531D6-4723-4F39-A9A5-9D05181D9B44)] interface IHolographicCamera4 : IInspectable { [propget] HRESULT CanOverrideViewport([out] [retval] boolean* value); } [contract(Windows.Foundation.UniversalApiContract, 7.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicCamera)] [uuid(229706F2-628D-4EF5-9C08-A63FDD7787C6)] interface IHolographicCamera5 : IInspectable { [propget] HRESULT IsHardwareContentProtectionSupported([out] [retval] boolean* value); [propget] HRESULT IsHardwareContentProtectionEnabled([out] [retval] boolean* value); [propput] HRESULT IsHardwareContentProtectionEnabled([in] boolean value); } [contract(Windows.Foundation.UniversalApiContract, 8.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicCamera)] [uuid(0209194F-632D-5154-AB52-0B5D15B12505)] interface IHolographicCamera6 : IInspectable { [propget] HRESULT ViewConfiguration([out] [retval] Windows.Graphics.Holographic.HolographicViewConfiguration** value); } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicCameraPose)] [uuid(0D7D7E30-12DE-45BD-912B-C7F6561599D1)] interface IHolographicCameraPose : IInspectable { [propget] HRESULT HolographicCamera([out] [retval] Windows.Graphics.Holographic.HolographicCamera** value); [propget] HRESULT Viewport([out] [retval] Windows.Foundation.Rect* value); HRESULT TryGetViewTransform([in] Windows.Perception.Spatial.SpatialCoordinateSystem* coordinateSystem, [out] [retval] Windows.Foundation.IReference** value); [propget] HRESULT ProjectionTransform([out] [retval] Windows.Graphics.Holographic.HolographicStereoTransform* value); HRESULT TryGetCullingFrustum([in] Windows.Perception.Spatial.SpatialCoordinateSystem* coordinateSystem, [out] [retval] Windows.Foundation.IReference** value); HRESULT TryGetVisibleFrustum([in] Windows.Perception.Spatial.SpatialCoordinateSystem* coordinateSystem, [out] [retval] Windows.Foundation.IReference** value); [propget] HRESULT NearPlaneDistance([out] [retval] DOUBLE* value); [propget] HRESULT FarPlaneDistance([out] [retval] DOUBLE* value); } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicCameraPose)] [uuid(232BE073-5D2D-4560-814E-2697C4FCE16B)] interface IHolographicCameraPose2 : IInspectable { HRESULT OverrideViewTransform([in] Windows.Perception.Spatial.SpatialCoordinateSystem* coordinateSystem, [in] Windows.Graphics.Holographic.HolographicStereoTransform coordinateSystemToViewTransform); HRESULT OverrideProjectionTransform([in] Windows.Graphics.Holographic.HolographicStereoTransform projectionTransform); HRESULT OverrideViewport([in] Windows.Foundation.Rect leftViewport, [in] Windows.Foundation.Rect rightViewport); } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicCameraRenderingParameters)] [uuid(8EAC2ED1-5BF4-4E16-8236-AE0800C11D0D)] interface IHolographicCameraRenderingParameters : IInspectable { [overload("SetFocusPoint")] HRESULT SetFocusPoint([in] Windows.Perception.Spatial.SpatialCoordinateSystem* coordinateSystem, [in] Windows.Foundation.Numerics.Vector3 position); [overload("SetFocusPoint")] HRESULT SetFocusPointWithNormal([in] Windows.Perception.Spatial.SpatialCoordinateSystem* coordinateSystem, [in] Windows.Foundation.Numerics.Vector3 position, [in] Windows.Foundation.Numerics.Vector3 normal); [overload("SetFocusPoint")] HRESULT SetFocusPointWithNormalLinearVelocity([in] Windows.Perception.Spatial.SpatialCoordinateSystem* coordinateSystem, [in] Windows.Foundation.Numerics.Vector3 position, [in] Windows.Foundation.Numerics.Vector3 normal, [in] Windows.Foundation.Numerics.Vector3 linearVelocity); [propget] HRESULT Direct3D11Device([out] [retval] Windows.Graphics.DirectX.Direct3D11.IDirect3DDevice** value); [propget] HRESULT Direct3D11BackBuffer([out] [retval] Windows.Graphics.DirectX.Direct3D11.IDirect3DSurface** value); } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicCameraRenderingParameters)] [uuid(261270E3-B696-4634-94D6-BE0681643599)] interface IHolographicCameraRenderingParameters2 : IInspectable requires Windows.Graphics.Holographic.IHolographicCameraRenderingParameters { [propget] HRESULT ReprojectionMode([out] [retval] Windows.Graphics.Holographic.HolographicReprojectionMode* value); [propput] HRESULT ReprojectionMode([in] Windows.Graphics.Holographic.HolographicReprojectionMode value); HRESULT CommitDirect3D11DepthBuffer([in] Windows.Graphics.DirectX.Direct3D11.IDirect3DSurface* value); } [contract(Windows.Foundation.UniversalApiContract, 5.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicCameraRenderingParameters)] [uuid(B1AA513F-136D-4B06-B9D4-E4B914CD0683)] interface IHolographicCameraRenderingParameters3 : IInspectable requires Windows.Graphics.Holographic.IHolographicCameraRenderingParameters2, Windows.Graphics.Holographic.IHolographicCameraRenderingParameters { [propget] HRESULT IsContentProtectionEnabled([out] [retval] boolean* value); [propput] HRESULT IsContentProtectionEnabled([in] boolean value); } [contract(Windows.Foundation.UniversalApiContract, 11.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicCameraRenderingParameters)] [uuid(0878FA4C-E163-57DC-82B7-C406AB3E0537)] interface IHolographicCameraRenderingParameters4 : IInspectable { [propget] HRESULT DepthReprojectionMethod([out] [retval] Windows.Graphics.Holographic.HolographicDepthReprojectionMethod* value); [propput] HRESULT DepthReprojectionMethod([in] Windows.Graphics.Holographic.HolographicDepthReprojectionMethod value); } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicCameraViewportParameters)] [uuid(80CDF3F7-842A-41E1-93ED-5692AB1FBB10)] interface IHolographicCameraViewportParameters : IInspectable { [propget] HRESULT HiddenAreaMesh([out] UINT32* __valueSize, [out] [retval] [size_is(, *__valueSize)] Windows.Foundation.Numerics.Vector2** value); [propget] HRESULT VisibleAreaMesh([out] UINT32* __valueSize, [out] [retval] [size_is(, *__valueSize)] Windows.Foundation.Numerics.Vector2** value); } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicDisplay)] [uuid(9ACEA414-1D9F-4090-A388-90C06F6EAE9C)] interface IHolographicDisplay : IInspectable { [propget] HRESULT DisplayName([out] [retval] HSTRING* value); [propget] HRESULT MaxViewportSize([out] [retval] Windows.Foundation.Size* value); [propget] HRESULT IsStereo([out] [retval] boolean* value); [propget] HRESULT IsOpaque([out] [retval] boolean* value); [propget] HRESULT AdapterId([out] [retval] Windows.Graphics.Holographic.HolographicAdapterId* value); [propget] HRESULT SpatialLocator([out] [retval] Windows.Perception.Spatial.SpatialLocator** value); } [contract(Windows.Foundation.UniversalApiContract, 5.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicDisplay)] [uuid(75AC3F82-E755-436C-8D96-4D32D131473E)] interface IHolographicDisplay2 : IInspectable { [propget] HRESULT RefreshRate([out] [retval] DOUBLE* value); } [contract(Windows.Foundation.UniversalApiContract, 8.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicDisplay)] [uuid(FC4C6AC6-6480-5008-B29E-157D77C843F7)] interface IHolographicDisplay3 : IInspectable { HRESULT TryGetViewConfiguration([in] Windows.Graphics.Holographic.HolographicViewConfigurationKind kind, [out] [retval] Windows.Graphics.Holographic.HolographicViewConfiguration** result); } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicDisplay)] [uuid(CB374983-E7B0-4841-8355-3AE5B536E9A4)] interface IHolographicDisplayStatics : IInspectable { HRESULT GetDefault([out] [retval] Windows.Graphics.Holographic.HolographicDisplay** result); } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicFrame)] [uuid(C6988EB6-A8B9-3054-A6EB-D624B6536375)] interface IHolographicFrame : IInspectable { [propget] HRESULT AddedCameras([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propget] HRESULT RemovedCameras([out] [retval] Windows.Foundation.Collections.IVectorView** value); HRESULT GetRenderingParameters([in] Windows.Graphics.Holographic.HolographicCameraPose* cameraPose, [out] [retval] Windows.Graphics.Holographic.HolographicCameraRenderingParameters** value); [propget] HRESULT Duration([out] [retval] Windows.Foundation.TimeSpan* value); [propget] HRESULT CurrentPrediction([out] [retval] Windows.Graphics.Holographic.HolographicFramePrediction** value); HRESULT UpdateCurrentPrediction(); [overload("PresentUsingCurrentPrediction")] HRESULT PresentUsingCurrentPrediction([out] [retval] Windows.Graphics.Holographic.HolographicFramePresentResult* result); [overload("PresentUsingCurrentPrediction")] HRESULT PresentUsingCurrentPredictionWithBehavior([in] Windows.Graphics.Holographic.HolographicFramePresentWaitBehavior waitBehavior, [out] [retval] Windows.Graphics.Holographic.HolographicFramePresentResult* result); HRESULT WaitForFrameToFinish(); } [contract(Windows.Foundation.UniversalApiContract, 5.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicFrame)] [uuid(283F37BF-3BF2-5E91-6633-870574E6F217)] interface IHolographicFrame2 : IInspectable requires Windows.Graphics.Holographic.IHolographicFrame { HRESULT GetQuadLayerUpdateParameters([in] Windows.Graphics.Holographic.HolographicQuadLayer* layer, [out] [retval] Windows.Graphics.Holographic.HolographicQuadLayerUpdateParameters** value); } [contract(Windows.Foundation.UniversalApiContract, 10.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicFrame)] [uuid(E5E964C9-8A27-55D3-9F98-94530D369052)] interface IHolographicFrame3 : IInspectable { [propget] HRESULT Id([out] [retval] Windows.Graphics.Holographic.HolographicFrameId* value); } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicFramePrediction)] [uuid(520F4DE1-5C0A-4E79-A81E-6ABE02BB2739)] interface IHolographicFramePrediction : IInspectable { [propget] HRESULT CameraPoses([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propget] HRESULT Timestamp([out] [retval] Windows.Perception.PerceptionTimestamp** value); } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [deprecated("Use HolographicFrameScanoutMonitor instead of HolographicFramePresentationMonitor. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicFramePresentationMonitor)] [uuid(CA87256C-6FAE-428E-BB83-25DFEE51136B)] interface IHolographicFramePresentationMonitor : IInspectable requires Windows.Foundation.IClosable { [deprecated("Use HolographicFrameScanoutMonitor instead of HolographicFramePresentationMonitor. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] HRESULT ReadReports([out] [retval] Windows.Foundation.Collections.IVectorView** result); } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [deprecated("Use IHolographicFrameScanoutReport instead of IHolographicFramePresentationReport. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicFramePresentationReport)] [uuid(80BAF614-F2F4-4C8A-8DE3-065C78F6D5DE)] interface IHolographicFramePresentationReport : IInspectable { [deprecated("Use IHolographicFrameScanoutReport instead of IHolographicFramePresentationReport. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [propget] HRESULT CompositorGpuDuration([out] [retval] Windows.Foundation.TimeSpan* value); [deprecated("Use IHolographicFrameScanoutReport instead of IHolographicFramePresentationReport. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [propget] HRESULT AppGpuDuration([out] [retval] Windows.Foundation.TimeSpan* value); [deprecated("Use IHolographicFrameScanoutReport instead of IHolographicFramePresentationReport. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [propget] HRESULT AppGpuOverrun([out] [retval] Windows.Foundation.TimeSpan* value); [deprecated("Use IHolographicFrameScanoutReport instead of IHolographicFramePresentationReport. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [propget] HRESULT MissedPresentationOpportunityCount([out] [retval] UINT32* value); [deprecated("Use IHolographicFrameScanoutReport instead of IHolographicFramePresentationReport. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [propget] HRESULT PresentationCount([out] [retval] UINT32* value); } [contract(Windows.Foundation.UniversalApiContract, 10.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicFrameRenderingReport)] [uuid(05F32DE4-E384-51B3-B934-F0D3A0F78606)] interface IHolographicFrameRenderingReport : IInspectable { [propget] HRESULT FrameId([out] [retval] Windows.Graphics.Holographic.HolographicFrameId* value); [propget] HRESULT MissedLatchCount([out] [retval] UINT32* value); [propget] HRESULT SystemRelativeFrameReadyTime([out] [retval] Windows.Foundation.TimeSpan* value); [propget] HRESULT SystemRelativeActualGpuFinishTime([out] [retval] Windows.Foundation.TimeSpan* value); [propget] HRESULT SystemRelativeTargetLatchTime([out] [retval] Windows.Foundation.TimeSpan* value); } [contract(Windows.Foundation.UniversalApiContract, 10.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicFrameScanoutMonitor)] [uuid(7E83EFA9-843C-5401-8095-9BC1B8B08638)] interface IHolographicFrameScanoutMonitor : IInspectable requires Windows.Foundation.IClosable { HRESULT ReadReports([out] [retval] Windows.Foundation.Collections.IVector** result); } [contract(Windows.Foundation.UniversalApiContract, 10.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicFrameScanoutReport)] [uuid(0EBBE606-03A0-5CA0-B46E-BBA068D7233F)] interface IHolographicFrameScanoutReport : IInspectable { [propget] HRESULT RenderingReport([out] [retval] Windows.Graphics.Holographic.HolographicFrameRenderingReport** value); [propget] HRESULT MissedScanoutCount([out] [retval] UINT32* value); [propget] HRESULT SystemRelativeLatchTime([out] [retval] Windows.Foundation.TimeSpan* value); [propget] HRESULT SystemRelativeScanoutStartTime([out] [retval] Windows.Foundation.TimeSpan* value); [propget] HRESULT SystemRelativePhotonTime([out] [retval] Windows.Foundation.TimeSpan* value); } [contract(Windows.Foundation.UniversalApiContract, 5.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicQuadLayer)] [uuid(903460C9-C9D9-5D5C-41AC-A2D5AB0FD331)] interface IHolographicQuadLayer : IInspectable { [propget] HRESULT PixelFormat([out] [retval] Windows.Graphics.DirectX.DirectXPixelFormat* value); [propget] HRESULT Size([out] [retval] Windows.Foundation.Size* value); } [contract(Windows.Foundation.UniversalApiContract, 5.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicQuadLayer)] [uuid(A67538F3-5A14-5A10-489A-455065B37B76)] interface IHolographicQuadLayerFactory : IInspectable { HRESULT Create([in] Windows.Foundation.Size size, [out] [retval] Windows.Graphics.Holographic.HolographicQuadLayer** value); HRESULT CreateWithPixelFormat([in] Windows.Foundation.Size size, [in] Windows.Graphics.DirectX.DirectXPixelFormat pixelFormat, [out] [retval] Windows.Graphics.Holographic.HolographicQuadLayer** value); } [contract(Windows.Foundation.UniversalApiContract, 5.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicQuadLayerUpdateParameters)] [uuid(2B0EA3B0-798D-5BCA-55C2-2C0C762EBB08)] interface IHolographicQuadLayerUpdateParameters : IInspectable { HRESULT AcquireBufferToUpdateContent([out] [retval] Windows.Graphics.DirectX.Direct3D11.IDirect3DSurface** value); HRESULT UpdateViewport([in] Windows.Foundation.Rect value); HRESULT UpdateContentProtectionEnabled([in] boolean value); HRESULT UpdateExtents([in] Windows.Foundation.Numerics.Vector2 value); HRESULT UpdateLocationWithStationaryMode([in] Windows.Perception.Spatial.SpatialCoordinateSystem* coordinateSystem, [in] Windows.Foundation.Numerics.Vector3 position, [in] Windows.Foundation.Numerics.Quaternion orientation); HRESULT UpdateLocationWithDisplayRelativeMode([in] Windows.Foundation.Numerics.Vector3 position, [in] Windows.Foundation.Numerics.Quaternion orientation); } [contract(Windows.Foundation.UniversalApiContract, 7.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicQuadLayerUpdateParameters)] [uuid(4F33D32D-82C1-46C1-8980-3CB70D98182B)] interface IHolographicQuadLayerUpdateParameters2 : IInspectable { [propget] HRESULT CanAcquireWithHardwareProtection([out] [retval] boolean* value); HRESULT AcquireBufferToUpdateContentWithHardwareProtection([out] [retval] Windows.Graphics.DirectX.Direct3D11.IDirect3DSurface** value); } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicSpace)] [uuid(4380DBA6-5E78-434F-807C-3433D1EFE8B7)] interface IHolographicSpace : IInspectable { [propget] HRESULT PrimaryAdapterId([out] [retval] Windows.Graphics.Holographic.HolographicAdapterId* value); HRESULT SetDirect3D11Device([in] Windows.Graphics.DirectX.Direct3D11.IDirect3DDevice* value); [eventadd] HRESULT CameraAdded([in] Windows.Foundation.TypedEventHandler* handler, [out] [retval] EventRegistrationToken* cookie); [eventremove] HRESULT CameraAdded([in] EventRegistrationToken cookie); [eventadd] HRESULT CameraRemoved([in] Windows.Foundation.TypedEventHandler* handler, [out] [retval] EventRegistrationToken* cookie); [eventremove] HRESULT CameraRemoved([in] EventRegistrationToken cookie); HRESULT CreateNextFrame([out] [retval] Windows.Graphics.Holographic.HolographicFrame** value); } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicSpace)] [uuid(4F81A9A8-B7FF-4883-9827-7D677287EA70)] interface IHolographicSpace2 : IInspectable { [propget] HRESULT UserPresence([out] [retval] Windows.Graphics.Holographic.HolographicSpaceUserPresence* value); [eventadd] HRESULT UserPresenceChanged([in] Windows.Foundation.TypedEventHandler* handler, [out] [retval] EventRegistrationToken* token); [eventremove] HRESULT UserPresenceChanged([in] EventRegistrationToken token); HRESULT WaitForNextFrameReady(); HRESULT WaitForNextFrameReadyWithHeadStart([in] Windows.Foundation.TimeSpan requestedHeadStartDuration); [deprecated("Use CreateFrameScanoutMonitor instead of CreateFramePresentationMonitor. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] HRESULT CreateFramePresentationMonitor([in] UINT32 maxQueuedReports, [out] [retval] Windows.Graphics.Holographic.HolographicFramePresentationMonitor** result); } [contract(Windows.Foundation.UniversalApiContract, 10.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicSpace)] [uuid(DF1733D1-F224-587E-8D71-1E8FC8F07B1F)] interface IHolographicSpace3 : IInspectable { HRESULT CreateFrameScanoutMonitor([in] UINT32 maxQueuedReports, [out] [retval] Windows.Graphics.Holographic.HolographicFrameScanoutMonitor** result); } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicSpaceCameraAddedEventArgs)] [uuid(58F1DA35-BBB3-3C8F-993D-6C80E7FEB99F)] interface IHolographicSpaceCameraAddedEventArgs : IInspectable { [propget] HRESULT Camera([out] [retval] Windows.Graphics.Holographic.HolographicCamera** value); HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** value); } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicSpaceCameraRemovedEventArgs)] [uuid(805444A8-F2AE-322E-8DA9-836A0A95A4C1)] interface IHolographicSpaceCameraRemovedEventArgs : IInspectable { [propget] HRESULT Camera([out] [retval] Windows.Graphics.Holographic.HolographicCamera** value); } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicSpace)] [uuid(364E6064-C8F2-3BA1-8391-66B8489E67FD)] interface IHolographicSpaceStatics : IInspectable { HRESULT CreateForCoreWindow([in] Windows.UI.Core.CoreWindow* window, [out] [retval] Windows.Graphics.Holographic.HolographicSpace** value); } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicSpace)] [uuid(0E777088-75FC-48AF-8758-0652F6F07C59)] interface IHolographicSpaceStatics2 : IInspectable { [propget] HRESULT IsSupported([out] [retval] boolean* value); [propget] HRESULT IsAvailable([out] [retval] boolean* value); [eventadd] HRESULT IsAvailableChanged([in] Windows.Foundation.EventHandler* handler, [out] [retval] EventRegistrationToken* token); [eventremove] HRESULT IsAvailableChanged([in] EventRegistrationToken token); } [contract(Windows.Foundation.UniversalApiContract, 5.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicSpace)] [uuid(3B00DE3D-B1A3-4DFE-8E79-FEC5909E6DF8)] interface IHolographicSpaceStatics3 : IInspectable { [propget] HRESULT IsConfigured([out] [retval] boolean* value); } [contract(Windows.Foundation.UniversalApiContract, 8.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicViewConfiguration)] [uuid(5C1DE6E6-67E9-5004-B02C-67A3A122B576)] interface IHolographicViewConfiguration : IInspectable { [propget] HRESULT NativeRenderTargetSize([out] [retval] Windows.Foundation.Size* value); [propget] HRESULT RenderTargetSize([out] [retval] Windows.Foundation.Size* value); HRESULT RequestRenderTargetSize([in] Windows.Foundation.Size size, [out] [retval] Windows.Foundation.Size* result); [propget] HRESULT SupportedPixelFormats([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propget] HRESULT PixelFormat([out] [retval] Windows.Graphics.DirectX.DirectXPixelFormat* value); [propput] HRESULT PixelFormat([in] Windows.Graphics.DirectX.DirectXPixelFormat value); [propget] HRESULT IsStereo([out] [retval] boolean* value); [propget] HRESULT RefreshRate([out] [retval] DOUBLE* value); [propget] HRESULT Kind([out] [retval] Windows.Graphics.Holographic.HolographicViewConfigurationKind* value); [propget] HRESULT Display([out] [retval] Windows.Graphics.Holographic.HolographicDisplay** value); [propget] HRESULT IsEnabled([out] [retval] boolean* value); [propput] HRESULT IsEnabled([in] boolean value); } [contract(Windows.Foundation.UniversalApiContract, 11.0)] [exclusiveto(Windows.Graphics.Holographic.HolographicViewConfiguration)] [uuid(E241756E-E0D0-5019-9AF5-1B165BC2F54E)] interface IHolographicViewConfiguration2 : IInspectable { [propget] HRESULT SupportedDepthReprojectionMethods([out] [retval] Windows.Foundation.Collections.IVectorView** value); } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass HolographicCamera { [default] interface Windows.Graphics.Holographic.IHolographicCamera; [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Graphics.Holographic.IHolographicCamera2; [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Graphics.Holographic.IHolographicCamera3; [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Graphics.Holographic.IHolographicCamera4; [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.Graphics.Holographic.IHolographicCamera5; [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.Graphics.Holographic.IHolographicCamera6; } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass HolographicCameraPose { [default] interface Windows.Graphics.Holographic.IHolographicCameraPose; [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Graphics.Holographic.IHolographicCameraPose2; } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass HolographicCameraRenderingParameters { [default] interface Windows.Graphics.Holographic.IHolographicCameraRenderingParameters; [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Graphics.Holographic.IHolographicCameraRenderingParameters2; [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Graphics.Holographic.IHolographicCameraRenderingParameters3; [contract(Windows.Foundation.UniversalApiContract, 11.0)] interface Windows.Graphics.Holographic.IHolographicCameraRenderingParameters4; } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass HolographicCameraViewportParameters { [default] interface Windows.Graphics.Holographic.IHolographicCameraViewportParameters; } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [marshaling_behavior(agile)] [static(Windows.Graphics.Holographic.IHolographicDisplayStatics, Windows.Foundation.UniversalApiContract, 4.0)] [threading(both)] runtimeclass HolographicDisplay { [default] interface Windows.Graphics.Holographic.IHolographicDisplay; [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Graphics.Holographic.IHolographicDisplay2; [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.Graphics.Holographic.IHolographicDisplay3; } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass HolographicFrame { [default] interface Windows.Graphics.Holographic.IHolographicFrame; [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Graphics.Holographic.IHolographicFrame2; [contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.Graphics.Holographic.IHolographicFrame3; } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass HolographicFramePrediction { [default] interface Windows.Graphics.Holographic.IHolographicFramePrediction; } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [deprecated("Use HolographicFrameScanoutMonitor instead of HolographicFramePresentationMonitor. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [marshaling_behavior(agile)] runtimeclass HolographicFramePresentationMonitor { [default] interface Windows.Graphics.Holographic.IHolographicFramePresentationMonitor; interface Windows.Foundation.IClosable; } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [deprecated("Use HolographicFrameScanoutReport instead of HolographicFramePresentationReport. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [marshaling_behavior(agile)] runtimeclass HolographicFramePresentationReport { [default] interface Windows.Graphics.Holographic.IHolographicFramePresentationReport; } [contract(Windows.Foundation.UniversalApiContract, 10.0)] [marshaling_behavior(agile)] runtimeclass HolographicFrameRenderingReport { [default] interface Windows.Graphics.Holographic.IHolographicFrameRenderingReport; } [contract(Windows.Foundation.UniversalApiContract, 10.0)] [marshaling_behavior(agile)] runtimeclass HolographicFrameScanoutMonitor { [default] interface Windows.Graphics.Holographic.IHolographicFrameScanoutMonitor; interface Windows.Foundation.IClosable; } [contract(Windows.Foundation.UniversalApiContract, 10.0)] [marshaling_behavior(agile)] runtimeclass HolographicFrameScanoutReport { [default] interface Windows.Graphics.Holographic.IHolographicFrameScanoutReport; } [activatable(Windows.Graphics.Holographic.IHolographicQuadLayerFactory, Windows.Foundation.UniversalApiContract, 5.0)] [contract(Windows.Foundation.UniversalApiContract, 5.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass HolographicQuadLayer { interface Windows.Foundation.IClosable; [default] interface Windows.Graphics.Holographic.IHolographicQuadLayer; } [contract(Windows.Foundation.UniversalApiContract, 5.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass HolographicQuadLayerUpdateParameters { [default] interface Windows.Graphics.Holographic.IHolographicQuadLayerUpdateParameters; [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.Graphics.Holographic.IHolographicQuadLayerUpdateParameters2; } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [marshaling_behavior(agile)] [static(Windows.Graphics.Holographic.IHolographicSpaceStatics, Windows.Foundation.UniversalApiContract, 2.0)] [static(Windows.Graphics.Holographic.IHolographicSpaceStatics2, Windows.Foundation.UniversalApiContract, 4.0)] [static(Windows.Graphics.Holographic.IHolographicSpaceStatics3, Windows.Foundation.UniversalApiContract, 5.0)] [threading(both)] runtimeclass HolographicSpace { [default] interface Windows.Graphics.Holographic.IHolographicSpace; [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Graphics.Holographic.IHolographicSpace2; [contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.Graphics.Holographic.IHolographicSpace3; } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass HolographicSpaceCameraAddedEventArgs { [default] interface Windows.Graphics.Holographic.IHolographicSpaceCameraAddedEventArgs; } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass HolographicSpaceCameraRemovedEventArgs { [default] interface Windows.Graphics.Holographic.IHolographicSpaceCameraRemovedEventArgs; } [contract(Windows.Foundation.UniversalApiContract, 8.0)] [marshaling_behavior(agile)] runtimeclass HolographicViewConfiguration { [default] interface Windows.Graphics.Holographic.IHolographicViewConfiguration; [contract(Windows.Foundation.UniversalApiContract, 11.0)] interface Windows.Graphics.Holographic.IHolographicViewConfiguration2; } } } }