2 * Copyright (C) 2023 Mohamad Al-Jaf
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #pragma winrt ns_prefix
23 import
"inspectable.idl";
24 import
"asyncinfo.idl";
25 import
"eventtoken.idl";
26 import
"windowscontracts.idl";
27 import
"windows.foundation.idl";
28 /* import "windows.graphics.idl"; */
29 import
"windows.graphics.directx.idl";
30 import
"windows.graphics.directx.direct3d11.idl";
31 /* import "windows.security.authorization.appcapabilityaccess.idl"; */
32 import
"windows.system.idl";
33 import
"windows.ui.idl";
34 /* import "windows.ui.composition.idl"; */
36 namespace Windows.Graphics.Capture
{
37 interface IGraphicsCaptureSession
;
38 interface IGraphicsCaptureSession2
;
39 interface IGraphicsCaptureSession3
;
40 interface IGraphicsCaptureSessionStatics
;
42 runtimeclass GraphicsCaptureSession
;
45 contract
(Windows.Foundation.UniversalApiContract
, 6.0),
46 exclusiveto
(Windows.Graphics.Capture.GraphicsCaptureSession
),
47 uuid(814e42a9
-f70f
-4ad7
-939b
-fddcc6eb880d
)
49 interface IGraphicsCaptureSession
: IInspectable
51 HRESULT StartCapture
();
55 contract
(Windows.Foundation.UniversalApiContract
, 6.0),
56 exclusiveto
(Windows.Graphics.Capture.GraphicsCaptureSession
),
57 uuid(2224a540
-5974-49aa
-b232
-0882536f4cb5
)
59 interface IGraphicsCaptureSessionStatics
: IInspectable
61 HRESULT IsSupported
([out, retval] boolean *result
);
65 contract
(Windows.Foundation.UniversalApiContract
, 6.0),
66 marshaling_behavior
(agile
),
67 static
(Windows.Graphics.Capture.IGraphicsCaptureSessionStatics
, Windows.Foundation.UniversalApiContract
, 6.0),
70 runtimeclass GraphicsCaptureSession
72 [default] interface Windows.Graphics.Capture.IGraphicsCaptureSession
;
73 [contract
(Windows.Foundation.UniversalApiContract
, 10.0)] interface Windows.Graphics.Capture.IGraphicsCaptureSession2
;
74 [contract
(Windows.Foundation.UniversalApiContract
, 12.0)] interface Windows.Graphics.Capture.IGraphicsCaptureSession3
;
75 interface Windows.Foundation.IClosable
;