dxgi: Add the IDXGIDeviceSubObject interface.
[wine] / include / dxgi.idl
1 /*
2  * Copyright 2007 Andras Kovacs
3  *
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.
8  *
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.
13  *
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
17  */
18
19 import "dxgitype.idl";
20
21 [
22     object,
23     local,
24     uuid(aec22fb8-76f3-4639-9be0-28eb43a67a2e)
25 ]
26 interface IDXGIObject : IUnknown
27 {
28     HRESULT SetPrivateData(
29         [in] REFGUID guid,
30         [in] UINT data_size,
31         [in] const void *data
32     );
33     HRESULT SetPrivateDataInterface(
34         [in] REFGUID guid,
35         [in] const IUnknown *object
36     );
37     HRESULT GetPrivateData(
38         [in] REFGUID guid,
39         [in, out] UINT data_size,
40         [out] void *data
41     );
42     HRESULT GetParent(
43         [in] REFIID riid,
44         [out] void **parent
45     );
46 }
47
48 [
49     object,
50     local,
51     uuid(3d3e0379-f9de-4d58-bb6c-18d62992f1a6)
52 ]
53 interface IDXGIDeviceSubObject : IDXGIObject
54 {
55     HRESULT GetDevice(
56         [in] REFIID riid,
57         [out] void **device
58     );
59 }