| 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") |