Last change
on this file was 1166, checked in by rossy, 3 years ago |
Daodan: Replace MinGW build env with an up-to-date MSYS2 env
|
File size:
1.2 KB
|
Line | |
---|
1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 |
|
---|
7 | import "wtypes.idl";
|
---|
8 | import "hstring.idl";
|
---|
9 | import "unknwn.idl";
|
---|
10 |
|
---|
11 | typedef enum TrustLevel {
|
---|
12 | BaseTrust = 0,
|
---|
13 | PartialTrust = 1,
|
---|
14 | FullTrust = 2
|
---|
15 | } TrustLevel;
|
---|
16 |
|
---|
17 | [
|
---|
18 | object,
|
---|
19 | uuid(af86e2e0-b12d-4c6a-9c5a-d7aa65101e90),
|
---|
20 | pointer_default(unique)
|
---|
21 | ]
|
---|
22 | interface IInspectable : IUnknown
|
---|
23 | {
|
---|
24 | HRESULT GetIids(
|
---|
25 | [out] ULONG *iidCount,
|
---|
26 | [out, size_is(*iidCount)] IID **iids);
|
---|
27 |
|
---|
28 | HRESULT GetRuntimeClassName(
|
---|
29 | [out] HSTRING *className);
|
---|
30 |
|
---|
31 | HRESULT GetTrustLevel(
|
---|
32 | [out] TrustLevel *trustLevel);
|
---|
33 | }
|
---|
34 |
|
---|
35 | cpp_quote("")
|
---|
36 | cpp_quote("#if !defined (CINTERFACE) && defined (__cplusplus)")
|
---|
37 | cpp_quote("extern \"C++\" {")
|
---|
38 | cpp_quote(" template<typename T> void **IID_INS_ARGS_internal (T **p) {")
|
---|
39 | cpp_quote(" static_cast<IInspectable *> (*p);")
|
---|
40 | cpp_quote(" return reinterpret_cast<void **> (p);")
|
---|
41 | cpp_quote(" }")
|
---|
42 | cpp_quote("}")
|
---|
43 | cpp_quote("")
|
---|
44 | cpp_quote("#define IID_INS_ARGS(P) __uuidof(**(P)), IID_INS_ARGS_internal(P)")
|
---|
45 | cpp_quote("#endif")
|
---|
46 |
|
---|
Note:
See
TracBrowser
for help on using the repository browser.