[1166] | 1 | cpp_quote("/**")
|
---|
| 2 | cpp_quote(" * This file is part of the mingw-w64 runtime package.")
|
---|
| 3 | cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
|
---|
| 4 | cpp_quote(" */")
|
---|
| 5 | cpp_quote("")
|
---|
| 6 | cpp_quote("#include <winapifamily.h>")
|
---|
| 7 | cpp_quote("")
|
---|
| 8 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
|
---|
| 9 | cpp_quote("")
|
---|
| 10 |
|
---|
| 11 | import "ocidl.idl";
|
---|
| 12 | import "oleidl.idl";
|
---|
| 13 |
|
---|
| 14 | cpp_quote("")
|
---|
| 15 | interface IDebugProperty;
|
---|
| 16 | interface IDebugExtendedProperty;
|
---|
| 17 | interface IEnumDebugPropertyInfo;
|
---|
| 18 | interface IEnumDebugExtendedPropertyInfo;
|
---|
| 19 | interface IPerPropertyBrowsing2;
|
---|
| 20 | cpp_quote("")
|
---|
| 21 | cpp_quote("extern GUID guidDocument;")
|
---|
| 22 | cpp_quote("extern GUID guidCodeContext;")
|
---|
| 23 |
|
---|
| 24 | cpp_quote("")
|
---|
| 25 | enum {
|
---|
| 26 | DBGPROP_ATTRIB_NO_ATTRIB = 0x0,
|
---|
| 27 | DBGPROP_ATTRIB_VALUE_IS_INVALID = 0x8,
|
---|
| 28 | DBGPROP_ATTRIB_VALUE_IS_EXPANDABLE =0x10,
|
---|
| 29 | DBGPROP_ATTRIB_VALUE_IS_FAKE = 0x20,
|
---|
| 30 | DBGPROP_ATTRIB_VALUE_IS_METHOD = 0x100,
|
---|
| 31 | DBGPROP_ATTRIB_VALUE_IS_EVENT = 0x200,
|
---|
| 32 | DBGPROP_ATTRIB_VALUE_IS_RAW_STRING = 0x400,
|
---|
| 33 | DBGPROP_ATTRIB_VALUE_READONLY = 0x800,
|
---|
| 34 | DBGPROP_ATTRIB_ACCESS_PUBLIC = 0x1000,
|
---|
| 35 | DBGPROP_ATTRIB_ACCESS_PRIVATE = 0x2000,
|
---|
| 36 | DBGPROP_ATTRIB_ACCESS_PROTECTED = 0x4000,
|
---|
| 37 | DBGPROP_ATTRIB_ACCESS_FINAL = 0x8000,
|
---|
| 38 | DBGPROP_ATTRIB_STORAGE_GLOBAL = 0x10000,
|
---|
| 39 | DBGPROP_ATTRIB_STORAGE_STATIC = 0x20000,
|
---|
| 40 | DBGPROP_ATTRIB_STORAGE_FIELD = 0x40000,
|
---|
| 41 | DBGPROP_ATTRIB_STORAGE_VIRTUAL = 0x80000,
|
---|
| 42 | DBGPROP_ATTRIB_TYPE_IS_CONSTANT = 0x100000,
|
---|
| 43 | DBGPROP_ATTRIB_TYPE_IS_SYNCHRONIZED = 0x200000,
|
---|
| 44 | DBGPROP_ATTRIB_TYPE_IS_VOLATILE = 0x400000,
|
---|
| 45 | DBGPROP_ATTRIB_HAS_EXTENDED_ATTRIBS = 0x800000
|
---|
| 46 | };
|
---|
| 47 |
|
---|
| 48 | cpp_quote("")
|
---|
| 49 | typedef DWORD DBGPROP_ATTRIB_FLAGS;
|
---|
| 50 |
|
---|
| 51 | cpp_quote("")
|
---|
| 52 | enum {
|
---|
| 53 | DBGPROP_INFO_NAME = 0x1,
|
---|
| 54 | DBGPROP_INFO_TYPE = 0x2,
|
---|
| 55 | DBGPROP_INFO_VALUE = 0x4,
|
---|
| 56 | DBGPROP_INFO_FULLNAME = 0x20,
|
---|
| 57 | DBGPROP_INFO_ATTRIBUTES = 0x8,
|
---|
| 58 | DBGPROP_INFO_DEBUGPROP = 0x10,
|
---|
| 59 | DBGPROP_INFO_BEAUTIFY = 0x2000000,
|
---|
| 60 | DBGPROP_INFO_CALLTOSTRING = 0x4000000,
|
---|
| 61 | DBGPROP_INFO_AUTOEXPAND = 0x8000000
|
---|
| 62 | };
|
---|
| 63 |
|
---|
| 64 | cpp_quote("")
|
---|
| 65 | typedef DWORD DBGPROP_INFO_FLAGS;
|
---|
| 66 |
|
---|
| 67 | cpp_quote("")
|
---|
| 68 | const DBGPROP_INFO_FLAGS DBGPROP_INFO_STANDARD = DBGPROP_INFO_NAME | DBGPROP_INFO_TYPE | DBGPROP_INFO_VALUE | DBGPROP_INFO_ATTRIBUTES;
|
---|
| 69 | const DBGPROP_INFO_FLAGS DBGPROP_INFO_ALL = DBGPROP_INFO_NAME | DBGPROP_INFO_TYPE | DBGPROP_INFO_VALUE | DBGPROP_INFO_FULLNAME | DBGPROP_INFO_ATTRIBUTES | DBGPROP_INFO_DEBUGPROP;
|
---|
| 70 |
|
---|
| 71 | cpp_quote("")
|
---|
| 72 | typedef enum tagOBJECT_ATTRIB_FLAG {
|
---|
| 73 | OBJECT_ATTRIB_NO_ATTRIB = 0x0,
|
---|
| 74 | OBJECT_ATTRIB_NO_NAME = 0x1,
|
---|
| 75 | OBJECT_ATTRIB_NO_TYPE = 0x2,
|
---|
| 76 | OBJECT_ATTRIB_NO_VALUE = 0x4,
|
---|
| 77 | OBJECT_ATTRIB_VALUE_IS_INVALID = 0x8,
|
---|
| 78 | OBJECT_ATTRIB_VALUE_IS_OBJECT = 0x10,
|
---|
| 79 | OBJECT_ATTRIB_VALUE_IS_ENUM = 0x20,
|
---|
| 80 | OBJECT_ATTRIB_VALUE_IS_CUSTOM = 0x40,
|
---|
| 81 | OBJECT_ATTRIB_OBJECT_IS_EXPANDABLE =0x070,
|
---|
| 82 | OBJECT_ATTRIB_VALUE_HAS_CODE = 0x80,
|
---|
| 83 |
|
---|
| 84 | OBJECT_ATTRIB_TYPE_IS_OBJECT = 0x100,
|
---|
| 85 | OBJECT_ATTRIB_TYPE_HAS_CODE = 0x200,
|
---|
| 86 | OBJECT_ATTRIB_TYPE_IS_EXPANDABLE = 0x100,
|
---|
| 87 | OBJECT_ATTRIB_SLOT_IS_CATEGORY = 0x400,
|
---|
| 88 | OBJECT_ATTRIB_VALUE_READONLY = 0x800,
|
---|
| 89 | OBJECT_ATTRIB_ACCESS_PUBLIC = 0x1000,
|
---|
| 90 | OBJECT_ATTRIB_ACCESS_PRIVATE = 0x2000,
|
---|
| 91 | OBJECT_ATTRIB_ACCESS_PROTECTED = 0x4000,
|
---|
| 92 | OBJECT_ATTRIB_ACCESS_FINAL = 0x8000,
|
---|
| 93 | OBJECT_ATTRIB_STORAGE_GLOBAL = 0x10000,
|
---|
| 94 | OBJECT_ATTRIB_STORAGE_STATIC = 0x20000,
|
---|
| 95 | OBJECT_ATTRIB_STORAGE_FIELD = 0x40000,
|
---|
| 96 | OBJECT_ATTRIB_STORAGE_VIRTUAL = 0x80000,
|
---|
| 97 | OBJECT_ATTRIB_TYPE_IS_CONSTANT = 0x100000,
|
---|
| 98 | OBJECT_ATTRIB_TYPE_IS_SYNCHRONIZED = 0x200000,
|
---|
| 99 | OBJECT_ATTRIB_TYPE_IS_VOLATILE = 0x400000,
|
---|
| 100 | OBJECT_ATTRIB_HAS_EXTENDED_ATTRIBS = 0x800000,
|
---|
| 101 | OBJECT_ATTRIB_IS_CLASS = 0x1000000,
|
---|
| 102 | OBJECT_ATTRIB_IS_FUNCTION = 0x2000000,
|
---|
| 103 | OBJECT_ATTRIB_IS_VARIABLE = 0x4000000,
|
---|
| 104 | OBJECT_ATTRIB_IS_PROPERTY = 0x8000000,
|
---|
| 105 | OBJECT_ATTRIB_IS_MACRO = 0x10000000,
|
---|
| 106 | OBJECT_ATTRIB_IS_TYPE = 0x20000000,
|
---|
| 107 | OBJECT_ATTRIB_IS_INHERITED = 0x40000000,
|
---|
| 108 | OBJECT_ATTRIB_IS_INTERFACE = 0x80000000
|
---|
| 109 | } OBJECT_ATTRIB_FLAGS;
|
---|
| 110 |
|
---|
| 111 | cpp_quote("")
|
---|
| 112 | typedef enum tagPROP_INFO_FLAGS {
|
---|
| 113 | PROP_INFO_NAME = 0x1,
|
---|
| 114 | PROP_INFO_TYPE = 0x2,
|
---|
| 115 | PROP_INFO_VALUE = 0x4,
|
---|
| 116 | PROP_INFO_FULLNAME = 0x20,
|
---|
| 117 | PROP_INFO_ATTRIBUTES = 0x8,
|
---|
| 118 | PROP_INFO_DEBUGPROP = 0x10,
|
---|
| 119 | PROP_INFO_AUTOEXPAND = 0x8000000
|
---|
| 120 | } PROP_INFO_FLAGS;
|
---|
| 121 |
|
---|
| 122 | cpp_quote("")
|
---|
| 123 | const DWORD PROP_INFO_STANDARD = PROP_INFO_NAME | PROP_INFO_TYPE | PROP_INFO_VALUE | PROP_INFO_ATTRIBUTES;
|
---|
| 124 | const DWORD PROP_INFO_ALL = PROP_INFO_NAME | PROP_INFO_TYPE | PROP_INFO_VALUE | PROP_INFO_FULLNAME | PROP_INFO_ATTRIBUTES | PROP_INFO_DEBUGPROP;
|
---|
| 125 |
|
---|
| 126 | cpp_quote("")
|
---|
| 127 | typedef struct tagDebugPropertyInfo {
|
---|
| 128 | DWORD m_dwValidFields;
|
---|
| 129 | BSTR m_bstrName;
|
---|
| 130 | BSTR m_bstrType;
|
---|
| 131 | BSTR m_bstrValue;
|
---|
| 132 | BSTR m_bstrFullName;
|
---|
| 133 | DWORD m_dwAttrib;
|
---|
| 134 | IDebugProperty *m_pDebugProp;
|
---|
| 135 | } DebugPropertyInfo;
|
---|
| 136 |
|
---|
| 137 | cpp_quote("")
|
---|
| 138 | typedef enum tagEX_PROP_INFO_FLAGS {
|
---|
| 139 | EX_PROP_INFO_ID = 0x100,
|
---|
| 140 | EX_PROP_INFO_NTYPE = 0x200,
|
---|
| 141 | EX_PROP_INFO_NVALUE = 0x400,
|
---|
| 142 | EX_PROP_INFO_LOCKBYTES = 0x800,
|
---|
| 143 | EX_PROP_INFO_DEBUGEXTPROP = 0x1000,
|
---|
| 144 | } EX_PROP_INFO_FLAGS;
|
---|
| 145 | typedef struct tagExtendedDebugPropertyInfo {
|
---|
| 146 | DWORD dwValidFields;
|
---|
| 147 | LPOLESTR pszName;
|
---|
| 148 | LPOLESTR pszType;
|
---|
| 149 | LPOLESTR pszValue;
|
---|
| 150 | LPOLESTR pszFullName;
|
---|
| 151 | DWORD dwAttrib;
|
---|
| 152 | IDebugProperty *pDebugProp;
|
---|
| 153 | DWORD nDISPID;
|
---|
| 154 | DWORD nType;
|
---|
| 155 | VARIANT varValue;
|
---|
| 156 | ILockBytes *plbValue;
|
---|
| 157 | IDebugExtendedProperty *pDebugExtProp;
|
---|
| 158 | } ExtendedDebugPropertyInfo;
|
---|
| 159 |
|
---|
| 160 | cpp_quote("")
|
---|
| 161 | [object, uuid (51973c50-CB0C-11d0-B5C9-00a0244a0e7a),, pointer_default (unique)]
|
---|
| 162 | interface IDebugProperty : IUnknown {
|
---|
| 163 | [local] HRESULT GetPropertyInfo ([in] DWORD dwFieldSpec,[in] UINT nRadix,[out] DebugPropertyInfo *pPropertyInfo);
|
---|
| 164 | [call_as (GetPropertyInfo)] HRESULT RemoteGetPropertyInfo ([in] DWORD dwFieldSpec,[in] UINT nRadix,[out] DWORD *dwValidFields,[out] BSTR *pbstrName,[out] BSTR *pbstrType,[out] BSTR *pbstrValue,[out] BSTR *pbstrFullName,[out] DWORD *pdwAttrib,[in, out, unique] IDebugProperty **ppDebugProperty);
|
---|
| 165 | HRESULT GetExtendedInfo ([in] ULONG cInfos,[in, size_is (cInfos)] GUID *rgguidExtendedInfo,[out, size_is (cInfos)] VARIANT *rgvar);
|
---|
| 166 | HRESULT SetValueAsString ([in] LPCOLESTR pszValue,[in] UINT nRadix);
|
---|
| 167 | HRESULT EnumMembers ([in] DWORD dwFieldSpec,[in] UINT nRadix,[in] REFIID refiid,[out] IEnumDebugPropertyInfo **ppepi);
|
---|
| 168 | HRESULT GetParent ([out] IDebugProperty **ppDebugProp);
|
---|
| 169 | };
|
---|
| 170 |
|
---|
| 171 | cpp_quote("")
|
---|
| 172 | [object, uuid (51973c51-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
| 173 | interface IEnumDebugPropertyInfo : IUnknown {
|
---|
| 174 | [local] HRESULT Next ([in] ULONG celt,[out] DebugPropertyInfo *pi,[out] ULONG *pcEltsfetched);
|
---|
| 175 | [call_as (Next)]
|
---|
| 176 | HRESULT __stdcall RemoteNext ([in] ULONG celt,[in, out, unique, size_is (celt), length_is (*pcEltsfetched)] DebugPropertyInfo *pinfo,[out] ULONG *pcEltsfetched);
|
---|
| 177 | HRESULT Skip ([in] ULONG celt);
|
---|
| 178 | HRESULT Reset (void);
|
---|
| 179 | HRESULT Clone ([out] IEnumDebugPropertyInfo **ppepi);
|
---|
| 180 | HRESULT GetCount ([out] ULONG *pcelt);
|
---|
| 181 | };
|
---|
| 182 |
|
---|
| 183 | cpp_quote("")
|
---|
| 184 | [object, uuid (51973c52-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
| 185 | interface IDebugExtendedProperty : IDebugProperty {
|
---|
| 186 | HRESULT GetExtendedPropertyInfo ([in] DWORD dwFieldSpec,[in] UINT nRadix,[out] ExtendedDebugPropertyInfo *pExtendedPropertyInfo);
|
---|
| 187 | HRESULT EnumExtendedMembers ([in] DWORD dwFieldSpec,[in] UINT nRadix,[out] IEnumDebugExtendedPropertyInfo **ppeepi);
|
---|
| 188 | };
|
---|
| 189 |
|
---|
| 190 | cpp_quote("")
|
---|
| 191 | [object, uuid (51973c53-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
| 192 | interface IEnumDebugExtendedPropertyInfo : IUnknown {
|
---|
| 193 | HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] ExtendedDebugPropertyInfo *rgExtendedPropertyInfo,[out] ULONG *pceltFetched);
|
---|
| 194 | HRESULT Skip ([in] ULONG celt);
|
---|
| 195 | HRESULT Reset (void);
|
---|
| 196 | HRESULT Clone ([out] IEnumDebugExtendedPropertyInfo **pedpe);
|
---|
| 197 | HRESULT GetCount ([out] ULONG *pcelt);
|
---|
| 198 | };
|
---|
| 199 |
|
---|
| 200 | cpp_quote("")
|
---|
| 201 | [object, uuid (51973c54-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
| 202 | interface IPerPropertyBrowsing2 : IUnknown {
|
---|
| 203 | HRESULT GetDisplayString ([in] DISPID dispid,[out] BSTR *pBstr);
|
---|
| 204 | HRESULT MapPropertyToPage ([in] DISPID dispid,[out] CLSID *pClsidPropPage);
|
---|
| 205 | HRESULT GetPredefinedStrings ([in] DISPID dispid,[out] CALPOLESTR *pCaStrings,[out] CADWORD *pCaCookies);
|
---|
| 206 | HRESULT SetPredefinedValue ([in] DISPID dispid,[in] DWORD dwCookie);
|
---|
| 207 | };
|
---|
| 208 |
|
---|
| 209 | cpp_quote("")
|
---|
| 210 | [object, uuid (51973c55-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
| 211 | interface IDebugPropertyEnumType_All : IUnknown {
|
---|
| 212 | HRESULT GetName ([out] BSTR *);
|
---|
| 213 | };
|
---|
| 214 |
|
---|
| 215 | cpp_quote("")
|
---|
| 216 | [object, uuid (51973c56-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
| 217 | interface IDebugPropertyEnumType_Locals : IDebugPropertyEnumType_All {
|
---|
| 218 | };
|
---|
| 219 |
|
---|
| 220 | cpp_quote("")
|
---|
| 221 | [object, uuid (51973c57-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
| 222 | interface IDebugPropertyEnumType_Arguments : IDebugPropertyEnumType_All {
|
---|
| 223 | };
|
---|
| 224 |
|
---|
| 225 | cpp_quote("")
|
---|
| 226 | [object, uuid (51973c58-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
| 227 | interface IDebugPropertyEnumType_LocalsPlusArgs : IDebugPropertyEnumType_All {
|
---|
| 228 | };
|
---|
| 229 |
|
---|
| 230 | cpp_quote("")
|
---|
| 231 | [object, uuid (51973c59-CB0C-11d0-B5C9-00a0244a0e7a), pointer_default (unique)]
|
---|
| 232 | interface IDebugPropertyEnumType_Registers : IDebugPropertyEnumType_All {
|
---|
| 233 | };
|
---|
| 234 | cpp_quote("#endif")
|
---|