12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- import "wtypes.idl";
- import "hstring.idl";
- import "unknwn.idl";
- typedef enum TrustLevel {
- BaseTrust = 0,
- PartialTrust = 1,
- FullTrust = 2
- } TrustLevel;
- [
- object,
- uuid(af86e2e0-b12d-4c6a-9c5a-d7aa65101e90),
- pointer_default(unique)
- ]
- interface IInspectable : IUnknown
- {
- HRESULT GetIids(
- [out] ULONG *iidCount,
- [out, size_is(*iidCount)] IID **iids);
- HRESULT GetRuntimeClassName(
- [out] HSTRING *className);
- HRESULT GetTrustLevel(
- [out] TrustLevel *trustLevel);
- }
- cpp_quote("")
- cpp_quote("#if !defined (CINTERFACE) && defined (__cplusplus)")
- cpp_quote("extern \"C++\" {")
- cpp_quote(" template<typename T> void **IID_INS_ARGS_internal (T **p) {")
- cpp_quote(" static_cast<IInspectable *> (*p);")
- cpp_quote(" return reinterpret_cast<void **> (p);")
- cpp_quote(" }")
- cpp_quote("}")
- cpp_quote("")
- cpp_quote("#define IID_INS_ARGS(P) __uuidof(**(P)), IID_INS_ARGS_internal(P)")
- cpp_quote("#endif")
|