|
Last change
on this file since 1194 was 1166, checked in by rossy, 4 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.