/** * 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 void **IID_INS_ARGS_internal (T **p) {") cpp_quote(" static_cast (*p);") cpp_quote(" return reinterpret_cast (p);") cpp_quote(" }") cpp_quote("}") cpp_quote("") cpp_quote("#define IID_INS_ARGS(P) __uuidof(**(P)), IID_INS_ARGS_internal(P)") cpp_quote("#endif")