| 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 |
|
| 8 |
#ifndef DO_NO_IMPORTS |
| 9 |
import "objidl.idl"; |
| 10 |
#endif |
| 11 |
|
| 12 |
cpp_quote("") |
| 13 |
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") |
| 14 |
|
| 15 |
interface ICreateTypeInfo; |
| 16 |
interface ICreateTypeInfo2; |
| 17 |
interface ICreateTypeLib; |
| 18 |
interface ICreateTypeLib2; |
| 19 |
cpp_quote("#endif") |
| 20 |
cpp_quote("") |
| 21 |
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") |
| 22 |
interface IDispatch; |
| 23 |
interface IEnumVARIANT; |
| 24 |
interface ITypeComp; |
| 25 |
cpp_quote("#endif") |
| 26 |
cpp_quote("") |
| 27 |
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") |
| 28 |
interface ITypeInfo; |
| 29 |
interface ITypeInfo2; |
| 30 |
interface ITypeLib; |
| 31 |
interface ITypeLib2; |
| 32 |
interface ITypeChangeEvents; |
| 33 |
interface IErrorInfo; |
| 34 |
interface ICreateErrorInfo; |
| 35 |
interface ISupportErrorInfo; |
| 36 |
interface ITypeFactory; |
| 37 |
interface ITypeMarshal; |
| 38 |
interface IRecordInfo; |
| 39 |
cpp_quote("#endif") |
| 40 |
cpp_quote("") |
| 41 |
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") |
| 42 |
[version (1.0), pointer_default (unique)] |
| 43 |
interface IOleAutomationTypes { |
| 44 |
typedef CY CURRENCY; |
| 45 |
typedef struct tagSAFEARRAYBOUND { |
| 46 |
ULONG cElements; |
| 47 |
LONG lLbound; |
| 48 |
} SAFEARRAYBOUND,*LPSAFEARRAYBOUND; |
| 49 |
|
| 50 |
cpp_quote("") |
| 51 |
typedef [unique] struct _wireVARIANT *wireVARIANT; |
| 52 |
typedef [unique] struct _wireBRECORD *wireBRECORD; |
| 53 |
cpp_quote("") |
| 54 |
typedef struct _wireSAFEARR_BSTR { |
| 55 |
ULONG Size; |
| 56 |
[size_is (Size), ref] wireBSTR *aBstr; |
| 57 |
} SAFEARR_BSTR; |
| 58 |
|
| 59 |
cpp_quote("") |
| 60 |
typedef struct _wireSAFEARR_UNKNOWN { |
| 61 |
ULONG Size; |
| 62 |
[size_is (Size), ref] IUnknown **apUnknown; |
| 63 |
} SAFEARR_UNKNOWN; |
| 64 |
|
| 65 |
cpp_quote("") |
| 66 |
typedef struct _wireSAFEARR_DISPATCH { |
| 67 |
ULONG Size; |
| 68 |
[size_is (Size), ref] IDispatch **apDispatch; |
| 69 |
} SAFEARR_DISPATCH; |
| 70 |
|
| 71 |
cpp_quote("") |
| 72 |
typedef struct _wireSAFEARR_VARIANT { |
| 73 |
ULONG Size; |
| 74 |
[size_is (Size), ref] wireVARIANT *aVariant; |
| 75 |
} SAFEARR_VARIANT; |
| 76 |
|
| 77 |
cpp_quote("") |
| 78 |
typedef struct _wireSAFEARR_BRECORD { |
| 79 |
ULONG Size; |
| 80 |
[size_is (Size), ref] wireBRECORD *aRecord; |
| 81 |
} SAFEARR_BRECORD; |
| 82 |
|
| 83 |
cpp_quote("") |
| 84 |
typedef struct _wireSAFEARR_HAVEIID { |
| 85 |
ULONG Size; |
| 86 |
[size_is (Size), ref] IUnknown **apUnknown; |
| 87 |
IID iid; |
| 88 |
} SAFEARR_HAVEIID; |
| 89 |
|
| 90 |
cpp_quote("") |
| 91 |
typedef [v1_enum] enum tagSF_TYPE { |
| 92 |
SF_ERROR = VT_ERROR, |
| 93 |
SF_I1 = VT_I1, |
| 94 |
SF_I2 = VT_I2, |
| 95 |
SF_I4 = VT_I4, |
| 96 |
SF_I8 = VT_I8, |
| 97 |
SF_BSTR = VT_BSTR, |
| 98 |
SF_UNKNOWN = VT_UNKNOWN, |
| 99 |
SF_DISPATCH = VT_DISPATCH, |
| 100 |
SF_VARIANT = VT_VARIANT, |
| 101 |
SF_RECORD = VT_RECORD, |
| 102 |
SF_HAVEIID = VT_UNKNOWN | VT_RESERVED |
| 103 |
} SF_TYPE; |
| 104 |
|
| 105 |
cpp_quote("") |
| 106 |
typedef union _wireSAFEARRAY_UNION switch (ULONG sfType) u { |
| 107 |
case SF_BSTR: SAFEARR_BSTR BstrStr; |
| 108 |
case SF_UNKNOWN: SAFEARR_UNKNOWN UnknownStr; |
| 109 |
case SF_DISPATCH: SAFEARR_DISPATCH DispatchStr; |
| 110 |
case SF_VARIANT: SAFEARR_VARIANT VariantStr; |
| 111 |
case SF_RECORD: SAFEARR_BRECORD RecordStr; |
| 112 |
case SF_HAVEIID: SAFEARR_HAVEIID HaveIidStr; |
| 113 |
case SF_I1: BYTE_SIZEDARR ByteStr; |
| 114 |
case SF_I2: WORD_SIZEDARR WordStr; |
| 115 |
case SF_I4: DWORD_SIZEDARR LongStr; |
| 116 |
case SF_I8: HYPER_SIZEDARR HyperStr; |
| 117 |
} SAFEARRAYUNION; |
| 118 |
|
| 119 |
cpp_quote("") |
| 120 |
typedef [unique] struct _wireSAFEARRAY { |
| 121 |
USHORT cDims; |
| 122 |
USHORT fFeatures; |
| 123 |
ULONG cbElements; |
| 124 |
ULONG cLocks; |
| 125 |
SAFEARRAYUNION uArrayStructs; |
| 126 |
[size_is (cDims)] SAFEARRAYBOUND rgsabound[]; |
| 127 |
} *wireSAFEARRAY; |
| 128 |
typedef [unique] wireSAFEARRAY *wirePSAFEARRAY; |
| 129 |
|
| 130 |
cpp_quote("") |
| 131 |
typedef struct tagSAFEARRAY { |
| 132 |
USHORT cDims; |
| 133 |
USHORT fFeatures; |
| 134 |
ULONG cbElements; |
| 135 |
ULONG cLocks; |
| 136 |
PVOID pvData; |
| 137 |
SAFEARRAYBOUND rgsabound[]; |
| 138 |
} SAFEARRAY; |
| 139 |
typedef [wire_marshal (wirePSAFEARRAY)] SAFEARRAY *LPSAFEARRAY; |
| 140 |
|
| 141 |
cpp_quote("") |
| 142 |
const USHORT FADF_AUTO = 0x0001; |
| 143 |
const USHORT FADF_STATIC = 0x0002; |
| 144 |
const USHORT FADF_EMBEDDED = 0x0004; |
| 145 |
const USHORT FADF_FIXEDSIZE = 0x0010; |
| 146 |
const USHORT FADF_RECORD = 0x0020; |
| 147 |
const USHORT FADF_HAVEIID = 0x0040; |
| 148 |
const USHORT FADF_HAVEVARTYPE= 0x0080; |
| 149 |
const USHORT FADF_BSTR = 0x0100; |
| 150 |
const USHORT FADF_UNKNOWN = 0x0200; |
| 151 |
const USHORT FADF_DISPATCH = 0x0400; |
| 152 |
const USHORT FADF_VARIANT = 0x0800; |
| 153 |
const USHORT FADF_RESERVED = 0xf008; |
| 154 |
|
| 155 |
cpp_quote("") |
| 156 |
cpp_quote("/* Kludge for 3.0 release to disable new default-behavior.") |
| 157 |
cpp_quote(" * For now we define _FORCENAMELESSUNION. For 4.0 this define") |
| 158 |
cpp_quote(" * will be removed. */") |
| 159 |
cpp_quote("#ifndef _FORCENAMELESSUNION") |
| 160 |
cpp_quote("#define _FORCENAMELESSUNION 1") |
| 161 |
cpp_quote("#endif") |
| 162 |
cpp_quote("") |
| 163 |
cpp_quote("#if (__STDC__ && !defined(__cplusplus) && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION) || (defined (_MSC_VER) && !defined(_MSC_EXTENSIONS) && !defined(_FORCENAMELESSUNION))") |
| 164 |
cpp_quote("#define __VARIANT_NAME_1 n1") |
| 165 |
cpp_quote("#define __VARIANT_NAME_2 n2") |
| 166 |
cpp_quote("#define __VARIANT_NAME_3 n3") |
| 167 |
cpp_quote("#define __VARIANT_NAME_4 brecVal") |
| 168 |
cpp_quote("#else") |
| 169 |
cpp_quote("#define __tagVARIANT") |
| 170 |
cpp_quote("#define __VARIANT_NAME_1") |
| 171 |
cpp_quote("#define __VARIANT_NAME_2") |
| 172 |
cpp_quote("#define __VARIANT_NAME_3") |
| 173 |
cpp_quote("#define __tagBRECORD") |
| 174 |
cpp_quote("#define __VARIANT_NAME_4") |
| 175 |
cpp_quote("#endif") |
| 176 |
|
| 177 |
cpp_quote("") |
| 178 |
typedef [wire_marshal (wireVARIANT)] struct tagVARIANT VARIANT; |
| 179 |
|
| 180 |
cpp_quote("") |
| 181 |
struct tagVARIANT { |
| 182 |
union { |
| 183 |
struct __tagVARIANT { |
| 184 |
VARTYPE vt; |
| 185 |
WORD wReserved1; |
| 186 |
WORD wReserved2; |
| 187 |
WORD wReserved3; |
| 188 |
union { |
| 189 |
LONGLONG llVal; |
| 190 |
LONG lVal; |
| 191 |
BYTE bVal; |
| 192 |
SHORT iVal; |
| 193 |
FLOAT fltVal; |
| 194 |
DOUBLE dblVal; |
| 195 |
VARIANT_BOOL boolVal; |
| 196 |
/* Removed due conflict with bool and gcc's inablity to express a macro expanding to a comment. |
| 197 |
_VARIANT_BOOL bool; */ |
| 198 |
SCODE scode; |
| 199 |
CY cyVal; |
| 200 |
DATE date; |
| 201 |
BSTR bstrVal; |
| 202 |
IUnknown *punkVal; |
| 203 |
IDispatch *pdispVal; |
| 204 |
SAFEARRAY *parray; |
| 205 |
BYTE *pbVal; |
| 206 |
SHORT *piVal; |
| 207 |
LONG *plVal; |
| 208 |
LONGLONG *pllVal; |
| 209 |
FLOAT *pfltVal; |
| 210 |
DOUBLE *pdblVal; |
| 211 |
VARIANT_BOOL *pboolVal; |
| 212 |
/* Removed due conflict with bool and gcc's inablity to express a macro expanding to a comment. |
| 213 |
_VARIANT_BOOL *pbool; */ |
| 214 |
SCODE *pscode; |
| 215 |
CY *pcyVal; |
| 216 |
DATE *pdate; |
| 217 |
BSTR *pbstrVal; |
| 218 |
IUnknown **ppunkVal; |
| 219 |
IDispatch **ppdispVal; |
| 220 |
SAFEARRAY **pparray; |
| 221 |
VARIANT *pvarVal; |
| 222 |
PVOID byref; |
| 223 |
CHAR cVal; |
| 224 |
USHORT uiVal; |
| 225 |
ULONG ulVal; |
| 226 |
ULONGLONG ullVal; |
| 227 |
INT intVal; |
| 228 |
UINT uintVal; |
| 229 |
DECIMAL *pdecVal; |
| 230 |
CHAR *pcVal; |
| 231 |
USHORT *puiVal; |
| 232 |
ULONG *pulVal; |
| 233 |
ULONGLONG *pullVal; |
| 234 |
INT *pintVal; |
| 235 |
UINT *puintVal; |
| 236 |
struct __tagBRECORD { |
| 237 |
PVOID pvRecord; |
| 238 |
IRecordInfo *pRecInfo; |
| 239 |
} __VARIANT_NAME_4; |
| 240 |
} __VARIANT_NAME_3; |
| 241 |
} __VARIANT_NAME_2; |
| 242 |
DECIMAL decVal; |
| 243 |
} __VARIANT_NAME_1; |
| 244 |
}; |
| 245 |
|
| 246 |
cpp_quote("") |
| 247 |
typedef VARIANT *LPVARIANT; |
| 248 |
typedef VARIANT VARIANTARG; |
| 249 |
typedef VARIANT *LPVARIANTARG; |
| 250 |
cpp_quote("#if 0") |
| 251 |
typedef const VARIANT *REFVARIANT; |
| 252 |
cpp_quote("#else") |
| 253 |
cpp_quote("") |
| 254 |
cpp_quote("#ifndef _REFVARIANT_DEFINED") |
| 255 |
cpp_quote("#define _REFVARIANT_DEFINED") |
| 256 |
cpp_quote("#ifdef __cplusplus") |
| 257 |
cpp_quote("#define REFVARIANT const VARIANT &") |
| 258 |
cpp_quote("#else") |
| 259 |
cpp_quote("#define REFVARIANT const VARIANT * __MIDL_CONST") |
| 260 |
cpp_quote("#endif") |
| 261 |
cpp_quote("#endif") |
| 262 |
cpp_quote("#endif") |
| 263 |
|
| 264 |
cpp_quote("") |
| 265 |
struct _wireBRECORD { |
| 266 |
ULONG fFlags; |
| 267 |
ULONG clSize; |
| 268 |
IRecordInfo *pRecInfo; |
| 269 |
[size_is (clSize)] byte *pRecord; |
| 270 |
}; |
| 271 |
|
| 272 |
cpp_quote("") |
| 273 |
struct _wireVARIANT { |
| 274 |
DWORD clSize; |
| 275 |
DWORD rpcReserved; |
| 276 |
USHORT vt; |
| 277 |
USHORT wReserved1; |
| 278 |
USHORT wReserved2; |
| 279 |
USHORT wReserved3; |
| 280 |
[switch_type (ULONG), switch_is (vt)] union { |
| 281 |
[case (VT_I8)] LONGLONG llVal; |
| 282 |
[case (VT_I4)] LONG lVal; |
| 283 |
[case (VT_UI1)] BYTE bVal; |
| 284 |
[case (VT_I2)] SHORT iVal; |
| 285 |
[case (VT_R4)] FLOAT fltVal; |
| 286 |
[case (VT_R8)] DOUBLE dblVal; |
| 287 |
[case (VT_BOOL)] VARIANT_BOOL boolVal; |
| 288 |
[case (VT_ERROR)] SCODE scode; |
| 289 |
[case (VT_CY)] CY cyVal; |
| 290 |
[case (VT_DATE)] DATE date; |
| 291 |
[case (VT_BSTR)] wireBSTR bstrVal; |
| 292 |
[case (VT_UNKNOWN)] IUnknown *punkVal; |
| 293 |
[case (VT_DISPATCH)] IDispatch *pdispVal; |
| 294 |
[case (VT_ARRAY)] wirePSAFEARRAY parray; |
| 295 |
[case (VT_RECORD, VT_RECORD|VT_BYREF)] |
| 296 |
wireBRECORD brecVal; |
| 297 |
[case (VT_UI1|VT_BYREF)] |
| 298 |
BYTE *pbVal; |
| 299 |
[case (VT_I2|VT_BYREF)] |
| 300 |
SHORT *piVal; |
| 301 |
[case (VT_I4|VT_BYREF)] |
| 302 |
LONG *plVal; |
| 303 |
[case (VT_I8|VT_BYREF)] |
| 304 |
LONGLONG *pllVal; |
| 305 |
[case (VT_R4|VT_BYREF)] |
| 306 |
FLOAT *pfltVal; |
| 307 |
[case (VT_R8|VT_BYREF)] |
| 308 |
DOUBLE *pdblVal; |
| 309 |
[case (VT_BOOL|VT_BYREF)] |
| 310 |
VARIANT_BOOL *pboolVal; |
| 311 |
[case (VT_ERROR|VT_BYREF)] |
| 312 |
SCODE *pscode; |
| 313 |
[case (VT_CY|VT_BYREF)] |
| 314 |
CY *pcyVal; |
| 315 |
[case (VT_DATE|VT_BYREF)] |
| 316 |
DATE *pdate; |
| 317 |
[case (VT_BSTR|VT_BYREF)] |
| 318 |
wireBSTR *pbstrVal; |
| 319 |
[case (VT_UNKNOWN|VT_BYREF)] |
| 320 |
IUnknown **ppunkVal; |
| 321 |
[case (VT_DISPATCH|VT_BYREF)] |
| 322 |
IDispatch **ppdispVal; |
| 323 |
[case (VT_ARRAY|VT_BYREF)] |
| 324 |
wirePSAFEARRAY *pparray; |
| 325 |
[case (VT_VARIANT|VT_BYREF)] |
| 326 |
wireVARIANT *pvarVal; |
| 327 |
[case (VT_I1)] CHAR cVal; |
| 328 |
[case (VT_UI2)] USHORT uiVal; |
| 329 |
[case (VT_UI4)] ULONG ulVal; |
| 330 |
[case (VT_UI8)] ULONGLONG ullVal; |
| 331 |
[case (VT_INT)] INT intVal; |
| 332 |
[case (VT_UINT)] UINT uintVal; |
| 333 |
[case (VT_DECIMAL)] DECIMAL decVal; |
| 334 |
[case (VT_BYREF|VT_DECIMAL)] |
| 335 |
DECIMAL *pdecVal; |
| 336 |
[case (VT_BYREF|VT_I1)] |
| 337 |
CHAR *pcVal; |
| 338 |
[case (VT_BYREF|VT_UI2)] |
| 339 |
USHORT *puiVal; |
| 340 |
[case (VT_BYREF|VT_UI4)] |
| 341 |
ULONG *pulVal; |
| 342 |
[case (VT_BYREF|VT_UI8)] |
| 343 |
ULONGLONG *pullVal; |
| 344 |
[case (VT_BYREF|VT_INT)] |
| 345 |
INT *pintVal; |
| 346 |
[case (VT_BYREF|VT_UINT)] |
| 347 |
UINT *puintVal; |
| 348 |
[case (VT_EMPTY)]; |
| 349 |
[case (VT_NULL)]; |
| 350 |
}; |
| 351 |
}; |
| 352 |
|
| 353 |
cpp_quote("") |
| 354 |
typedef LONG DISPID; |
| 355 |
typedef DISPID MEMBERID; |
| 356 |
typedef DWORD HREFTYPE; |
| 357 |
typedef [v1_enum] enum tagTYPEKIND { |
| 358 |
TKIND_ENUM = 0, |
| 359 |
TKIND_RECORD, |
| 360 |
TKIND_MODULE, |
| 361 |
TKIND_INTERFACE, |
| 362 |
TKIND_DISPATCH, |
| 363 |
TKIND_COCLASS, |
| 364 |
TKIND_ALIAS, |
| 365 |
TKIND_UNION, |
| 366 |
TKIND_MAX |
| 367 |
} TYPEKIND; |
| 368 |
|
| 369 |
cpp_quote("") |
| 370 |
typedef struct tagTYPEDESC { |
| 371 |
[switch_type (VARTYPE), switch_is (vt)] union { |
| 372 |
[case (VT_PTR, VT_SAFEARRAY)] struct tagTYPEDESC *lptdesc; |
| 373 |
[case (VT_CARRAY)] struct tagARRAYDESC *lpadesc; |
| 374 |
[case (VT_USERDEFINED)] HREFTYPE hreftype; |
| 375 |
[default]; |
| 376 |
}; |
| 377 |
VARTYPE vt; |
| 378 |
} TYPEDESC; |
| 379 |
|
| 380 |
cpp_quote("") |
| 381 |
typedef struct tagARRAYDESC { |
| 382 |
TYPEDESC tdescElem; |
| 383 |
USHORT cDims; |
| 384 |
[size_is (cDims)] SAFEARRAYBOUND rgbounds[]; |
| 385 |
} ARRAYDESC; |
| 386 |
|
| 387 |
cpp_quote("") |
| 388 |
typedef struct tagPARAMDESCEX { |
| 389 |
ULONG cBytes; |
| 390 |
VARIANTARG varDefaultValue; |
| 391 |
} PARAMDESCEX,*LPPARAMDESCEX; |
| 392 |
|
| 393 |
cpp_quote("") |
| 394 |
typedef struct tagPARAMDESC { |
| 395 |
LPPARAMDESCEX pparamdescex; |
| 396 |
USHORT wParamFlags; |
| 397 |
} PARAMDESC,*LPPARAMDESC; |
| 398 |
|
| 399 |
cpp_quote("") |
| 400 |
const USHORT PARAMFLAG_NONE = 0x00; |
| 401 |
const USHORT PARAMFLAG_FIN = 0x01; |
| 402 |
const USHORT PARAMFLAG_FOUT = 0x02; |
| 403 |
const USHORT PARAMFLAG_FLCID = 0x04; |
| 404 |
const USHORT PARAMFLAG_FRETVAL = 0x08; |
| 405 |
const USHORT PARAMFLAG_FOPT = 0x10; |
| 406 |
const USHORT PARAMFLAG_FHASDEFAULT = 0x20; |
| 407 |
const USHORT PARAMFLAG_FHASCUSTDATA = 0x40; |
| 408 |
|
| 409 |
cpp_quote("") |
| 410 |
typedef struct tagIDLDESC { |
| 411 |
ULONG_PTR dwReserved; |
| 412 |
USHORT wIDLFlags; |
| 413 |
} IDLDESC,*LPIDLDESC; |
| 414 |
|
| 415 |
cpp_quote("") |
| 416 |
const USHORT IDLFLAG_NONE = PARAMFLAG_NONE; |
| 417 |
const USHORT IDLFLAG_FIN = PARAMFLAG_FIN; |
| 418 |
const USHORT IDLFLAG_FOUT = PARAMFLAG_FOUT; |
| 419 |
const USHORT IDLFLAG_FLCID = PARAMFLAG_FLCID; |
| 420 |
const USHORT IDLFLAG_FRETVAL = PARAMFLAG_FRETVAL; |
| 421 |
cpp_quote("") |
| 422 |
cpp_quote("#if 0") |
| 423 |
typedef struct tagELEMDESC { |
| 424 |
TYPEDESC tdesc; |
| 425 |
PARAMDESC paramdesc; |
| 426 |
} ELEMDESC; |
| 427 |
cpp_quote("#else") |
| 428 |
cpp_quote("") |
| 429 |
cpp_quote(" typedef struct tagELEMDESC {") |
| 430 |
cpp_quote(" TYPEDESC tdesc;") |
| 431 |
cpp_quote(" __C89_NAMELESS union {") |
| 432 |
cpp_quote(" IDLDESC idldesc;") |
| 433 |
cpp_quote(" PARAMDESC paramdesc;") |
| 434 |
cpp_quote(" } DUMMYUNIONNAME;") |
| 435 |
cpp_quote(" } ELEMDESC,*LPELEMDESC;") |
| 436 |
cpp_quote("#endif") |
| 437 |
|
| 438 |
cpp_quote("") |
| 439 |
typedef struct tagTYPEATTR { |
| 440 |
GUID guid; |
| 441 |
LCID lcid; |
| 442 |
DWORD dwReserved; |
| 443 |
MEMBERID memidConstructor; |
| 444 |
MEMBERID memidDestructor; |
| 445 |
LPOLESTR lpstrSchema; |
| 446 |
ULONG cbSizeInstance; |
| 447 |
TYPEKIND typekind; |
| 448 |
WORD cFuncs; |
| 449 |
WORD cVars; |
| 450 |
WORD cImplTypes; |
| 451 |
WORD cbSizeVft; |
| 452 |
WORD cbAlignment; |
| 453 |
WORD wTypeFlags; |
| 454 |
WORD wMajorVerNum; |
| 455 |
WORD wMinorVerNum; |
| 456 |
TYPEDESC tdescAlias; |
| 457 |
IDLDESC idldescType; |
| 458 |
} TYPEATTR,*LPTYPEATTR; |
| 459 |
|
| 460 |
cpp_quote("") |
| 461 |
typedef struct tagDISPPARAMS { |
| 462 |
[size_is (cArgs)] VARIANTARG *rgvarg; |
| 463 |
[size_is (cNamedArgs)] DISPID *rgdispidNamedArgs; |
| 464 |
UINT cArgs; |
| 465 |
UINT cNamedArgs; |
| 466 |
} DISPPARAMS; |
| 467 |
cpp_quote("") |
| 468 |
cpp_quote("#if 0") |
| 469 |
typedef struct tagEXCEPINFO { |
| 470 |
WORD wCode; |
| 471 |
WORD wReserved; |
| 472 |
BSTR bstrSource; |
| 473 |
BSTR bstrDescription; |
| 474 |
BSTR bstrHelpFile; |
| 475 |
DWORD dwHelpContext; |
| 476 |
ULONG_PTR pvReserved; |
| 477 |
ULONG_PTR pfnDeferredFillIn; |
| 478 |
SCODE scode; |
| 479 |
} EXCEPINFO; |
| 480 |
cpp_quote("#else") |
| 481 |
cpp_quote(" typedef struct tagEXCEPINFO {") |
| 482 |
cpp_quote(" WORD wCode;") |
| 483 |
cpp_quote(" WORD wReserved;") |
| 484 |
cpp_quote(" BSTR bstrSource;") |
| 485 |
cpp_quote(" BSTR bstrDescription;") |
| 486 |
cpp_quote(" BSTR bstrHelpFile;") |
| 487 |
cpp_quote(" DWORD dwHelpContext;") |
| 488 |
cpp_quote(" PVOID pvReserved;") |
| 489 |
cpp_quote(" HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *);") |
| 490 |
cpp_quote(" SCODE scode;") |
| 491 |
cpp_quote(" } EXCEPINFO, *LPEXCEPINFO;") |
| 492 |
cpp_quote("#endif") |
| 493 |
|
| 494 |
cpp_quote("") |
| 495 |
typedef [v1_enum] enum tagCALLCONV { |
| 496 |
CC_FASTCALL = 0, |
| 497 |
CC_CDECL = 1, |
| 498 |
CC_MSCPASCAL, |
| 499 |
CC_PASCAL = CC_MSCPASCAL, |
| 500 |
CC_MACPASCAL, |
| 501 |
CC_STDCALL, |
| 502 |
CC_FPFASTCALL, |
| 503 |
CC_SYSCALL, |
| 504 |
CC_MPWCDECL, |
| 505 |
CC_MPWPASCAL, |
| 506 |
CC_MAX |
| 507 |
} CALLCONV; |
| 508 |
|
| 509 |
cpp_quote("") |
| 510 |
typedef [v1_enum] enum tagFUNCKIND { |
| 511 |
FUNC_VIRTUAL, |
| 512 |
FUNC_PUREVIRTUAL, |
| 513 |
FUNC_NONVIRTUAL, |
| 514 |
FUNC_STATIC, |
| 515 |
FUNC_DISPATCH |
| 516 |
} FUNCKIND; |
| 517 |
|
| 518 |
cpp_quote("") |
| 519 |
typedef [v1_enum] enum tagINVOKEKIND { |
| 520 |
INVOKE_FUNC = 1, |
| 521 |
INVOKE_PROPERTYGET = 2, |
| 522 |
INVOKE_PROPERTYPUT = 4, |
| 523 |
INVOKE_PROPERTYPUTREF = 8 |
| 524 |
} INVOKEKIND; |
| 525 |
|
| 526 |
cpp_quote("") |
| 527 |
typedef struct tagFUNCDESC { |
| 528 |
MEMBERID memid; |
| 529 |
[size_is (cScodes)] SCODE *lprgscode; |
| 530 |
[size_is (cParams)] ELEMDESC *lprgelemdescParam; |
| 531 |
FUNCKIND funckind; |
| 532 |
INVOKEKIND invkind; |
| 533 |
CALLCONV callconv; |
| 534 |
SHORT cParams; |
| 535 |
SHORT cParamsOpt; |
| 536 |
SHORT oVft; |
| 537 |
SHORT cScodes; |
| 538 |
ELEMDESC elemdescFunc; |
| 539 |
WORD wFuncFlags; |
| 540 |
} FUNCDESC,*LPFUNCDESC; |
| 541 |
|
| 542 |
cpp_quote("") |
| 543 |
typedef [v1_enum] enum tagVARKIND { |
| 544 |
VAR_PERINSTANCE, |
| 545 |
VAR_STATIC, |
| 546 |
VAR_CONST, |
| 547 |
VAR_DISPATCH |
| 548 |
} VARKIND; |
| 549 |
|
| 550 |
cpp_quote("") |
| 551 |
const USHORT IMPLTYPEFLAG_FDEFAULT = 0x1; |
| 552 |
const USHORT IMPLTYPEFLAG_FSOURCE = 0x2; |
| 553 |
const USHORT IMPLTYPEFLAG_FRESTRICTED = 0x4; |
| 554 |
const USHORT IMPLTYPEFLAG_FDEFAULTVTABLE= 0x8; |
| 555 |
|
| 556 |
cpp_quote("") |
| 557 |
typedef struct tagVARDESC { |
| 558 |
MEMBERID memid; |
| 559 |
LPOLESTR lpstrSchema; |
| 560 |
[switch_type (VARKIND), switch_is (varkind)] union { |
| 561 |
[case (VAR_PERINSTANCE, VAR_DISPATCH, VAR_STATIC)] ULONG oInst; |
| 562 |
[case (VAR_CONST)] VARIANT *lpvarValue; |
| 563 |
}; |
| 564 |
ELEMDESC elemdescVar; |
| 565 |
WORD wVarFlags; |
| 566 |
VARKIND varkind; |
| 567 |
} VARDESC,*LPVARDESC; |
| 568 |
|
| 569 |
cpp_quote("") |
| 570 |
typedef enum tagTYPEFLAGS { |
| 571 |
TYPEFLAG_FAPPOBJECT = 0x01, |
| 572 |
TYPEFLAG_FCANCREATE = 0x02, |
| 573 |
TYPEFLAG_FLICENSED = 0x04, |
| 574 |
TYPEFLAG_FPREDECLID = 0x08, |
| 575 |
TYPEFLAG_FHIDDEN = 0x10, |
| 576 |
TYPEFLAG_FCONTROL = 0x20, |
| 577 |
TYPEFLAG_FDUAL = 0x40, |
| 578 |
TYPEFLAG_FNONEXTENSIBLE = 0x80, |
| 579 |
TYPEFLAG_FOLEAUTOMATION = 0x100, |
| 580 |
TYPEFLAG_FRESTRICTED = 0x200, |
| 581 |
TYPEFLAG_FAGGREGATABLE = 0x400, |
| 582 |
TYPEFLAG_FREPLACEABLE = 0x800, |
| 583 |
TYPEFLAG_FDISPATCHABLE = 0x1000, |
| 584 |
TYPEFLAG_FREVERSEBIND = 0x2000, |
| 585 |
TYPEFLAG_FPROXY = 0x4000 |
| 586 |
} TYPEFLAGS; |
| 587 |
|
| 588 |
cpp_quote("") |
| 589 |
typedef enum tagFUNCFLAGS { |
| 590 |
FUNCFLAG_FRESTRICTED = 0x1, |
| 591 |
FUNCFLAG_FSOURCE = 0x2, |
| 592 |
FUNCFLAG_FBINDABLE = 0x4, |
| 593 |
FUNCFLAG_FREQUESTEDIT = 0x8, |
| 594 |
FUNCFLAG_FDISPLAYBIND = 0x10, |
| 595 |
FUNCFLAG_FDEFAULTBIND = 0x20, |
| 596 |
FUNCFLAG_FHIDDEN = 0x40, |
| 597 |
FUNCFLAG_FUSESGETLASTERROR = 0x80, |
| 598 |
FUNCFLAG_FDEFAULTCOLLELEM = 0x100, |
| 599 |
FUNCFLAG_FUIDEFAULT = 0x200, |
| 600 |
FUNCFLAG_FNONBROWSABLE = 0x400, |
| 601 |
FUNCFLAG_FREPLACEABLE = 0x800, |
| 602 |
FUNCFLAG_FIMMEDIATEBIND = 0x1000 |
| 603 |
} FUNCFLAGS; |
| 604 |
|
| 605 |
cpp_quote("") |
| 606 |
typedef enum tagVARFLAGS { |
| 607 |
VARFLAG_FREADONLY = 0x1, |
| 608 |
VARFLAG_FSOURCE = 0x2, |
| 609 |
VARFLAG_FBINDABLE = 0x4, |
| 610 |
VARFLAG_FREQUESTEDIT = 0x8, |
| 611 |
VARFLAG_FDISPLAYBIND = 0x10, |
| 612 |
VARFLAG_FDEFAULTBIND = 0x20, |
| 613 |
VARFLAG_FHIDDEN = 0x40, |
| 614 |
VARFLAG_FRESTRICTED = 0x80, |
| 615 |
VARFLAG_FDEFAULTCOLLELEM = 0x100, |
| 616 |
VARFLAG_FUIDEFAULT = 0x200, |
| 617 |
VARFLAG_FNONBROWSABLE = 0x400, |
| 618 |
VARFLAG_FREPLACEABLE = 0x800, |
| 619 |
VARFLAG_FIMMEDIATEBIND = 0x1000 |
| 620 |
} VARFLAGS; |
| 621 |
|
| 622 |
cpp_quote("") |
| 623 |
typedef [wire_marshal (DWORD)] struct tagCLEANLOCALSTORAGE { |
| 624 |
IUnknown *pInterface; |
| 625 |
PVOID pStorage; |
| 626 |
DWORD flags; |
| 627 |
} CLEANLOCALSTORAGE; |
| 628 |
|
| 629 |
cpp_quote("") |
| 630 |
typedef struct tagCUSTDATAITEM { |
| 631 |
GUID guid; |
| 632 |
VARIANTARG varValue; |
| 633 |
} CUSTDATAITEM,*LPCUSTDATAITEM; |
| 634 |
|
| 635 |
cpp_quote("") |
| 636 |
typedef struct tagCUSTDATA { |
| 637 |
DWORD cCustData; |
| 638 |
[size_is (cCustData)] LPCUSTDATAITEM prgCustData; |
| 639 |
} CUSTDATA,*LPCUSTDATA; |
| 640 |
} |
| 641 |
cpp_quote("#endif") |
| 642 |
cpp_quote("") |
| 643 |
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") |
| 644 |
[object, uuid (00020405-0000-0000-C000-000000000046), pointer_default (unique), local] |
| 645 |
interface ICreateTypeInfo: IUnknown { |
| 646 |
typedef [unique] ICreateTypeInfo *LPCREATETYPEINFO; |
| 647 |
cpp_quote("") |
| 648 |
HRESULT SetGuid ([in] REFGUID guid); |
| 649 |
HRESULT SetTypeFlags ([in] UINT uTypeFlags); |
| 650 |
HRESULT SetDocString ([in] LPOLESTR pStrDoc); |
| 651 |
HRESULT SetHelpContext ([in] DWORD dwHelpContext); |
| 652 |
HRESULT SetVersion ([in] WORD wMajorVerNum,[in] WORD wMinorVerNum); |
| 653 |
HRESULT AddRefTypeInfo ([in] ITypeInfo *pTInfo,[in] HREFTYPE *phRefType); |
| 654 |
HRESULT AddFuncDesc ([in] UINT index,[in] FUNCDESC *pFuncDesc); |
| 655 |
HRESULT AddImplType ([in] UINT index,[in] HREFTYPE hRefType); |
| 656 |
HRESULT SetImplTypeFlags ([in] UINT index,[in] INT implTypeFlags); |
| 657 |
HRESULT SetAlignment ([in] WORD cbAlignment); |
| 658 |
HRESULT SetSchema ([in] LPOLESTR pStrSchema); |
| 659 |
HRESULT AddVarDesc ([in] UINT index,[in] VARDESC *pVarDesc); |
| 660 |
HRESULT SetFuncAndParamNames ([in] UINT index,[in, size_is ((UINT) cNames)] LPOLESTR *rgszNames,[in] UINT cNames); |
| 661 |
HRESULT SetVarName ([in] UINT index,[in] LPOLESTR szName); |
| 662 |
HRESULT SetTypeDescAlias ([in] TYPEDESC *pTDescAlias); |
| 663 |
HRESULT DefineFuncAsDllEntry ([in] UINT index,[in] LPOLESTR szDllName,[in] LPOLESTR szProcName); |
| 664 |
HRESULT SetFuncDocString ([in] UINT index,[in] LPOLESTR szDocString); |
| 665 |
HRESULT SetVarDocString ([in] UINT index,[in] LPOLESTR szDocString); |
| 666 |
HRESULT SetFuncHelpContext ([in] UINT index,[in] DWORD dwHelpContext); |
| 667 |
HRESULT SetVarHelpContext ([in] UINT index,[in] DWORD dwHelpContext); |
| 668 |
HRESULT SetMops ([in] UINT index,[in] BSTR bstrMops); |
| 669 |
HRESULT SetTypeIdldesc ([in] IDLDESC *pIdlDesc); |
| 670 |
HRESULT LayOut (void); |
| 671 |
} |
| 672 |
|
| 673 |
cpp_quote("") |
| 674 |
[object, uuid (0002040e-0000-0000-C000-000000000046), pointer_default (unique), local] |
| 675 |
interface ICreateTypeInfo2: ICreateTypeInfo { |
| 676 |
typedef [unique] ICreateTypeInfo2 *LPCREATETYPEINFO2; |
| 677 |
cpp_quote("") |
| 678 |
HRESULT DeleteFuncDesc ([in] UINT index); |
| 679 |
HRESULT DeleteFuncDescByMemId ([in] MEMBERID memid,[in] INVOKEKIND invKind); |
| 680 |
HRESULT DeleteVarDesc ([in] UINT index); |
| 681 |
HRESULT DeleteVarDescByMemId ([in] MEMBERID memid); |
| 682 |
HRESULT DeleteImplType ([in] UINT index); |
| 683 |
HRESULT SetCustData ([in] REFGUID guid,[in] VARIANT *pVarVal); |
| 684 |
HRESULT SetFuncCustData ([in] UINT index,[in] REFGUID guid,[in] VARIANT *pVarVal); |
| 685 |
HRESULT SetParamCustData ([in] UINT indexFunc,[in] UINT indexParam,[in] REFGUID guid,[in] VARIANT *pVarVal); |
| 686 |
HRESULT SetVarCustData ([in] UINT index,[in] REFGUID guid,[in] VARIANT *pVarVal); |
| 687 |
HRESULT SetImplTypeCustData ([in] UINT index,[in] REFGUID guid,[in] VARIANT *pVarVal); |
| 688 |
HRESULT SetHelpStringContext ([in] ULONG dwHelpStringContext); |
| 689 |
HRESULT SetFuncHelpStringContext ([in] UINT index,[in] ULONG dwHelpStringContext); |
| 690 |
HRESULT SetVarHelpStringContext ([in] UINT index,[in] ULONG dwHelpStringContext); |
| 691 |
HRESULT Invalidate (void); |
| 692 |
HRESULT SetName ([in] LPOLESTR szName); |
| 693 |
} |
| 694 |
cpp_quote("") |
| 695 |
[object, uuid (00020406-0000-0000-C000-000000000046), pointer_default (unique), local] |
| 696 |
interface ICreateTypeLib : IUnknown { |
| 697 |
typedef [unique] ICreateTypeLib *LPCREATETYPELIB; |
| 698 |
cpp_quote("") |
| 699 |
HRESULT CreateTypeInfo ([in] LPOLESTR szName,[in] TYPEKIND tkind,[out] ICreateTypeInfo **ppCTInfo); |
| 700 |
HRESULT SetName ([in] LPOLESTR szName); |
| 701 |
HRESULT SetVersion ([in] WORD wMajorVerNum,[in] WORD wMinorVerNum); |
| 702 |
HRESULT SetGuid ([in] REFGUID guid); |
| 703 |
HRESULT SetDocString ([in] LPOLESTR szDoc); |
| 704 |
HRESULT SetHelpFileName ([in] LPOLESTR szHelpFileName); |
| 705 |
HRESULT SetHelpContext ([in] DWORD dwHelpContext); |
| 706 |
HRESULT SetLcid ([in] LCID lcid); |
| 707 |
HRESULT SetLibFlags ([in] UINT uLibFlags); |
| 708 |
HRESULT SaveAllChanges (void); |
| 709 |
} |
| 710 |
cpp_quote("") |
| 711 |
[object, uuid (0002040f-0000-0000-C000-000000000046), pointer_default (unique), local] |
| 712 |
interface ICreateTypeLib2 : ICreateTypeLib { |
| 713 |
typedef [unique] ICreateTypeLib2 *LPCREATETYPELIB2; |
| 714 |
HRESULT DeleteTypeInfo ([in] LPOLESTR szName); |
| 715 |
HRESULT SetCustData ([in] REFGUID guid,[in] VARIANT *pVarVal); |
| 716 |
HRESULT SetHelpStringContext ([in] ULONG dwHelpStringContext); |
| 717 |
HRESULT SetHelpStringDll ([in] LPOLESTR szFileName); |
| 718 |
} |
| 719 |
cpp_quote("#endif") |
| 720 |
cpp_quote("") |
| 721 |
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") |
| 722 |
[object, uuid (00020400-0000-0000-C000-000000000046), pointer_default (unique)] |
| 723 |
interface IDispatch : IUnknown { |
| 724 |
typedef [unique] IDispatch *LPDISPATCH; |
| 725 |
cpp_quote("") |
| 726 |
HRESULT GetTypeInfoCount ([out] UINT *pctinfo); |
| 727 |
HRESULT GetTypeInfo ([in] UINT iTInfo,[in] LCID lcid,[out] ITypeInfo **ppTInfo); |
| 728 |
HRESULT GetIDsOfNames ([in] REFIID riid,[in, size_is (cNames)] LPOLESTR *rgszNames,[in, range (0, 16384)] UINT cNames,[in] LCID lcid,[out, size_is (cNames)] DISPID *rgDispId); |
| 729 |
[local] HRESULT Invoke ([in] DISPID dispIdMember,[in] REFIID riid,[in] LCID lcid,[in] WORD wFlags,[in, out] DISPPARAMS *pDispParams,[out] VARIANT *pVarResult,[out] EXCEPINFO *pExcepInfo,[out] UINT *puArgErr); |
| 730 |
[call_as (Invoke)] HRESULT RemoteInvoke ([in] DISPID dispIdMember,[in] REFIID riid,[in] LCID lcid,[in] DWORD dwFlags,[in] DISPPARAMS *pDispParams,[out] VARIANT *pVarResult,[out] EXCEPINFO *pExcepInfo,[out] UINT *pArgErr,[in] UINT cVarRef,[in, size_is (cVarRef)] UINT *rgVarRefIdx,[in, out, size_is (cVarRef)] VARIANTARG *rgVarRef); |
| 731 |
cpp_quote("") |
| 732 |
const DISPID DISPID_UNKNOWN = -1; |
| 733 |
const DISPID DISPID_VALUE = 0; |
| 734 |
const DISPID DISPID_PROPERTYPUT = -3; |
| 735 |
const DISPID DISPID_NEWENUM = -4; |
| 736 |
const DISPID DISPID_EVALUATE = -5; |
| 737 |
const DISPID DISPID_CONSTRUCTOR = -6; |
| 738 |
const DISPID DISPID_DESTRUCTOR = -7; |
| 739 |
const DISPID DISPID_COLLECT = -8; |
| 740 |
cpp_quote("") |
| 741 |
} |
| 742 |
|
| 743 |
cpp_quote("") |
| 744 |
[object, uuid (00020404-0000-0000-C000-000000000046), pointer_default (unique)] |
| 745 |
interface IEnumVARIANT : IUnknown { |
| 746 |
typedef [unique] IEnumVARIANT *LPENUMVARIANT; |
| 747 |
cpp_quote("") |
| 748 |
[local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pCeltFetched)] VARIANT *rgVar,[out] ULONG *pCeltFetched); |
| 749 |
[call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pCeltFetched)] VARIANT *rgVar,[out] ULONG *pCeltFetched); |
| 750 |
HRESULT Skip ([in] ULONG celt); |
| 751 |
HRESULT Reset (); |
| 752 |
HRESULT Clone ([out] IEnumVARIANT **ppEnum); |
| 753 |
} |
| 754 |
|
| 755 |
cpp_quote("") |
| 756 |
[object, uuid (00020403-0000-0000-C000-000000000046), pointer_default (unique)] |
| 757 |
interface ITypeComp : IUnknown { |
| 758 |
typedef [unique] ITypeComp *LPTYPECOMP; |
| 759 |
cpp_quote("") |
| 760 |
typedef [v1_enum] enum tagDESCKIND { |
| 761 |
DESCKIND_NONE = 0, |
| 762 |
DESCKIND_FUNCDESC, |
| 763 |
DESCKIND_VARDESC, |
| 764 |
DESCKIND_TYPECOMP, |
| 765 |
DESCKIND_IMPLICITAPPOBJ, |
| 766 |
DESCKIND_MAX |
| 767 |
} DESCKIND; |
| 768 |
cpp_quote("") |
| 769 |
typedef union tagBINDPTR { |
| 770 |
FUNCDESC *lpfuncdesc; |
| 771 |
VARDESC *lpvardesc; |
| 772 |
ITypeComp *lptcomp; |
| 773 |
} BINDPTR,*LPBINDPTR; |
| 774 |
cpp_quote("") |
| 775 |
[local] HRESULT Bind ([in] LPOLESTR szName,[in] ULONG lHashVal,[in] WORD wFlags,[out] ITypeInfo **ppTInfo,[out] DESCKIND *pDescKind,[out] BINDPTR *pBindPtr); |
| 776 |
[call_as (Bind)] HRESULT RemoteBind ([in] LPOLESTR szName,[in] ULONG lHashVal,[in] WORD wFlags,[out] ITypeInfo **ppTInfo,[out] DESCKIND *pDescKind,[out] LPFUNCDESC *ppFuncDesc,[out] LPVARDESC *ppVarDesc,[out] ITypeComp **ppTypeComp,[out] CLEANLOCALSTORAGE *pDummy); |
| 777 |
[local] HRESULT BindType ([in] LPOLESTR szName,[in] ULONG lHashVal,[out] ITypeInfo **ppTInfo,[out] ITypeComp **ppTComp); |
| 778 |
[call_as (BindType)] HRESULT RemoteBindType ([in] LPOLESTR szName,[in] ULONG lHashVal,[out] ITypeInfo **ppTInfo); |
| 779 |
} |
| 780 |
cpp_quote("#endif") |
| 781 |
cpp_quote("") |
| 782 |
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") |
| 783 |
[object, uuid (00020401-0000-0000-C000-000000000046), pointer_default (unique)] |
| 784 |
interface ITypeInfo : IUnknown { |
| 785 |
typedef [unique] ITypeInfo *LPTYPEINFO; |
| 786 |
cpp_quote("") |
| 787 |
[local] HRESULT GetTypeAttr ([out] TYPEATTR **ppTypeAttr); |
| 788 |
[call_as (GetTypeAttr)] HRESULT RemoteGetTypeAttr ([out] LPTYPEATTR *ppTypeAttr,[out] CLEANLOCALSTORAGE *pDummy); |
| 789 |
HRESULT GetTypeComp ([out] ITypeComp **ppTComp); |
| 790 |
[local] HRESULT GetFuncDesc ([in] UINT index,[out] FUNCDESC **ppFuncDesc); |
| 791 |
[call_as (GetFuncDesc)] HRESULT RemoteGetFuncDesc ([in] UINT index,[out] LPFUNCDESC *ppFuncDesc,[out] CLEANLOCALSTORAGE *pDummy); |
| 792 |
[local] HRESULT GetVarDesc ([in] UINT index,[out] VARDESC **ppVarDesc); |
| 793 |
[call_as (GetVarDesc)] HRESULT RemoteGetVarDesc ([in] UINT index,[out] LPVARDESC *ppVarDesc,[out] CLEANLOCALSTORAGE *pDummy); |
| 794 |
[local] HRESULT GetNames ([in] MEMBERID memid,[out, size_is (cMaxNames), length_is (*pcNames)] BSTR *rgBstrNames,[in] UINT cMaxNames,[out] UINT *pcNames); |
| 795 |
[call_as (GetNames)] HRESULT RemoteGetNames ([in] MEMBERID memid,[out, size_is (cMaxNames), length_is (*pcNames)] BSTR *rgBstrNames,[in] UINT cMaxNames,[out] UINT *pcNames); |
| 796 |
HRESULT GetRefTypeOfImplType ([in] UINT index,[out] HREFTYPE *pRefType); |
| 797 |
HRESULT GetImplTypeFlags ([in] UINT index,[out] INT *pImplTypeFlags); |
| 798 |
[local] HRESULT GetIDsOfNames ([in, size_is (cNames)] LPOLESTR *rgszNames,[in] UINT cNames,[out, size_is (cNames)] MEMBERID *pMemId); |
| 799 |
[call_as (GetIDsOfNames)] HRESULT LocalGetIDsOfNames (void); |
| 800 |
[local] HRESULT Invoke ([in] PVOID pvInstance,[in] MEMBERID memid,[in] WORD wFlags,[in, out] DISPPARAMS *pDispParams,[out] VARIANT *pVarResult,[out] EXCEPINFO *pExcepInfo,[out] UINT *puArgErr); |
| 801 |
[call_as (Invoke)] HRESULT LocalInvoke (void); |
| 802 |
[local] HRESULT GetDocumentation ([in] MEMBERID memid,[out] BSTR *pBstrName,[out] BSTR *pBstrDocString,[out] DWORD *pdwHelpContext,[out] BSTR *pBstrHelpFile); |
| 803 |
[call_as (GetDocumentation)] HRESULT RemoteGetDocumentation ([in] MEMBERID memid,[in] DWORD refPtrFlags,[out] BSTR *pBstrName,[out] BSTR *pBstrDocString,[out] DWORD *pdwHelpContext,[out] BSTR *pBstrHelpFile); |
| 804 |
[local] |
| 805 |
HRESULT GetDllEntry ([in] MEMBERID memid,[in] INVOKEKIND invKind,[out] BSTR *pBstrDllName,[out] BSTR *pBstrName,[out] WORD *pwOrdinal); |
| 806 |
[call_as (GetDllEntry)] |
| 807 |
HRESULT RemoteGetDllEntry ([in] MEMBERID memid,[in] INVOKEKIND invKind,[in] DWORD refPtrFlags,[out] BSTR *pBstrDllName,[out] BSTR *pBstrName,[out] WORD *pwOrdinal); |
| 808 |
HRESULT GetRefTypeInfo ([in] HREFTYPE hRefType,[out] ITypeInfo **ppTInfo); |
| 809 |
[local] HRESULT AddressOfMember ([in] MEMBERID memid,[in] INVOKEKIND invKind,[out] PVOID *ppv); |
| 810 |
[call_as (AddressOfMember)] HRESULT LocalAddressOfMember (void); |
| 811 |
[local] HRESULT CreateInstance ([in] IUnknown *pUnkOuter,[in] REFIID riid,[out, iid_is (riid)] PVOID *ppvObj); |
| 812 |
[call_as (CreateInstance)] HRESULT RemoteCreateInstance ([in] REFIID riid,[out, iid_is (riid)] IUnknown **ppvObj); |
| 813 |
HRESULT GetMops ([in] MEMBERID memid,[out] BSTR *pBstrMops); |
| 814 |
[local] HRESULT GetContainingTypeLib ([out] ITypeLib **ppTLib,[out] UINT *pIndex); |
| 815 |
[call_as (GetContainingTypeLib)] HRESULT RemoteGetContainingTypeLib ([out] ITypeLib **ppTLib,[out] UINT *pIndex); |
| 816 |
[local] void ReleaseTypeAttr ([in] TYPEATTR *pTypeAttr); |
| 817 |
[call_as (ReleaseTypeAttr)] HRESULT LocalReleaseTypeAttr (void); |
| 818 |
[local] void ReleaseFuncDesc ([in] FUNCDESC *pFuncDesc); |
| 819 |
[call_as (ReleaseFuncDesc)] HRESULT LocalReleaseFuncDesc (void); |
| 820 |
[local] void ReleaseVarDesc ([in] VARDESC *pVarDesc); |
| 821 |
[call_as (ReleaseVarDesc)] HRESULT LocalReleaseVarDesc (void); |
| 822 |
} |
| 823 |
|
| 824 |
cpp_quote("") |
| 825 |
[object, uuid (00020412-0000-0000-C000-000000000046), pointer_default (unique)] |
| 826 |
interface ITypeInfo2 : ITypeInfo { |
| 827 |
typedef [unique] ITypeInfo2 *LPTYPEINFO2; |
| 828 |
cpp_quote("") |
| 829 |
HRESULT GetTypeKind ([out] TYPEKIND *pTypeKind); |
| 830 |
HRESULT GetTypeFlags ([out] ULONG *pTypeFlags); |
| 831 |
HRESULT GetFuncIndexOfMemId ([in] MEMBERID memid,[in] INVOKEKIND invKind,[out] UINT *pFuncIndex); |
| 832 |
HRESULT GetVarIndexOfMemId ([in] MEMBERID memid,[out] UINT *pVarIndex); |
| 833 |
HRESULT GetCustData ([in] REFGUID guid,[out] VARIANT *pVarVal); |
| 834 |
HRESULT GetFuncCustData ([in] UINT index,[in] REFGUID guid,[out] VARIANT *pVarVal); |
| 835 |
HRESULT GetParamCustData ([in] UINT indexFunc,[in] UINT indexParam,[in] REFGUID guid,[out] VARIANT *pVarVal); |
| 836 |
HRESULT GetVarCustData ([in] UINT index,[in] REFGUID guid,[out] VARIANT *pVarVal); |
| 837 |
HRESULT GetImplTypeCustData ([in] UINT index,[in] REFGUID guid,[out] VARIANT *pVarVal); |
| 838 |
[local] HRESULT GetDocumentation2 ([in] MEMBERID memid,[in] LCID lcid,[out] BSTR *pbstrHelpString,[out] DWORD *pdwHelpStringContext,[out] BSTR *pbstrHelpStringDll); |
| 839 |
[call_as (GetDocumentation2)] HRESULT RemoteGetDocumentation2 ([in] MEMBERID memid,[in] LCID lcid,[in] DWORD refPtrFlags,[out] BSTR *pbstrHelpString,[out] DWORD *pdwHelpStringContext,[out] BSTR *pbstrHelpStringDll); |
| 840 |
HRESULT GetAllCustData ([out] CUSTDATA *pCustData); |
| 841 |
HRESULT GetAllFuncCustData ([in] UINT index,[out] CUSTDATA *pCustData); |
| 842 |
HRESULT GetAllParamCustData ([in] UINT indexFunc,[in] UINT indexParam,[out] CUSTDATA *pCustData); |
| 843 |
HRESULT GetAllVarCustData ([in] UINT index,[out] CUSTDATA *pCustData); |
| 844 |
HRESULT GetAllImplTypeCustData ([in] UINT index,[out] CUSTDATA *pCustData); |
| 845 |
} |
| 846 |
cpp_quote("#endif") |
| 847 |
cpp_quote("") |
| 848 |
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") |
| 849 |
[object, uuid (00020402-0000-0000-C000-000000000046), pointer_default (unique)] |
| 850 |
interface ITypeLib : IUnknown { |
| 851 |
typedef [v1_enum] enum tagSYSKIND { |
| 852 |
SYS_WIN16 = 0, |
| 853 |
SYS_WIN32, |
| 854 |
SYS_MAC, |
| 855 |
SYS_WIN64 |
| 856 |
} SYSKIND; |
| 857 |
cpp_quote("") |
| 858 |
typedef [v1_enum] enum tagLIBFLAGS { |
| 859 |
LIBFLAG_FRESTRICTED = 0x01, |
| 860 |
LIBFLAG_FCONTROL = 0x02, |
| 861 |
LIBFLAG_FHIDDEN = 0x04, |
| 862 |
LIBFLAG_FHASDISKIMAGE = 0x08 |
| 863 |
} LIBFLAGS; |
| 864 |
cpp_quote("") |
| 865 |
typedef [unique] ITypeLib *LPTYPELIB; |
| 866 |
cpp_quote("") |
| 867 |
typedef struct tagTLIBATTR { |
| 868 |
GUID guid; |
| 869 |
LCID lcid; |
| 870 |
SYSKIND syskind; |
| 871 |
WORD wMajorVerNum; |
| 872 |
WORD wMinorVerNum; |
| 873 |
WORD wLibFlags; |
| 874 |
} TLIBATTR,*LPTLIBATTR; |
| 875 |
cpp_quote("") |
| 876 |
[local] UINT GetTypeInfoCount (void); |
| 877 |
[call_as (GetTypeInfoCount)] HRESULT RemoteGetTypeInfoCount ([out] UINT *pcTInfo); |
| 878 |
HRESULT GetTypeInfo ([in] UINT index,[out] ITypeInfo **ppTInfo); |
| 879 |
HRESULT GetTypeInfoType ([in] UINT index,[out] TYPEKIND *pTKind); |
| 880 |
HRESULT GetTypeInfoOfGuid ([in] REFGUID guid,[out] ITypeInfo **ppTinfo); |
| 881 |
[local] HRESULT GetLibAttr ([out] TLIBATTR **ppTLibAttr); |
| 882 |
[call_as (GetLibAttr)] HRESULT RemoteGetLibAttr ([out] LPTLIBATTR *ppTLibAttr,[out] CLEANLOCALSTORAGE *pDummy); |
| 883 |
HRESULT GetTypeComp ([out] ITypeComp **ppTComp); |
| 884 |
[local] HRESULT GetDocumentation ([in] INT index,[out] BSTR *pBstrName,[out] BSTR *pBstrDocString,[out] DWORD *pdwHelpContext,[out] BSTR *pBstrHelpFile); |
| 885 |
[call_as (GetDocumentation)] HRESULT RemoteGetDocumentation ([in] INT index,[in] DWORD refPtrFlags,[out] BSTR *pBstrName,[out] BSTR *pBstrDocString,[out] DWORD *pdwHelpContext,[out] BSTR *pBstrHelpFile); |
| 886 |
[local] HRESULT IsName ([in, out] LPOLESTR szNameBuf,[in] ULONG lHashVal,[out] BOOL *pfName); |
| 887 |
[call_as (IsName)] HRESULT RemoteIsName ([in] LPOLESTR szNameBuf,[in] ULONG lHashVal,[out] BOOL *pfName,[out] BSTR *pBstrLibName); |
| 888 |
[local] HRESULT FindName ([in, out] LPOLESTR szNameBuf,[in] ULONG lHashVal,[out, size_is (*pcFound), length_is (*pcFound)] ITypeInfo **ppTInfo,[out, size_is (*pcFound), length_is (*pcFound)] MEMBERID *rgMemId,[in, out] USHORT *pcFound); |
| 889 |
[call_as (FindName)] HRESULT RemoteFindName ([in] LPOLESTR szNameBuf,[in] ULONG lHashVal,[out, size_is (*pcFound), length_is (*pcFound)] ITypeInfo **ppTInfo,[out, size_is (*pcFound), length_is (*pcFound)] MEMBERID *rgMemId,[in, out] USHORT *pcFound,[out] BSTR *pBstrLibName); |
| 890 |
[local] void ReleaseTLibAttr ([in] TLIBATTR *pTLibAttr); |
| 891 |
[call_as (ReleaseTLibAttr)] HRESULT LocalReleaseTLibAttr (void); |
| 892 |
} |
| 893 |
cpp_quote("#endif") |
| 894 |
cpp_quote("") |
| 895 |
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") |
| 896 |
[object, uuid (00020411-0000-0000-C000-000000000046), pointer_default (unique)] |
| 897 |
interface ITypeLib2 : ITypeLib { |
| 898 |
typedef [unique] ITypeLib2 *LPTYPELIB2; |
| 899 |
cpp_quote("") |
| 900 |
HRESULT GetCustData ([in] REFGUID guid,[out] VARIANT *pVarVal); |
| 901 |
[local] HRESULT GetLibStatistics ([out] ULONG *pcUniqueNames,[out] ULONG *pcchUniqueNames); |
| 902 |
[call_as (GetLibStatistics)] HRESULT RemoteGetLibStatistics ([out] ULONG *pcUniqueNames,[out] ULONG *pcchUniqueNames); |
| 903 |
[local] HRESULT GetDocumentation2 ([in] INT index,[in] LCID lcid,[out] BSTR *pbstrHelpString,[out] DWORD *pdwHelpStringContext,[out] BSTR *pbstrHelpStringDll); |
| 904 |
[call_as (GetDocumentation2)] HRESULT RemoteGetDocumentation2 ([in] INT index,[in] LCID lcid,[in] DWORD refPtrFlags,[out] BSTR *pbstrHelpString,[out] DWORD *pdwHelpStringContext,[out] BSTR *pbstrHelpStringDll); |
| 905 |
HRESULT GetAllCustData ([out] CUSTDATA *pCustData); |
| 906 |
} |
| 907 |
|
| 908 |
cpp_quote("") |
| 909 |
[object, uuid (00020410-0000-0000-C000-000000000046), pointer_default (unique), local] |
| 910 |
interface ITypeChangeEvents: IUnknown { |
| 911 |
typedef [unique] ITypeChangeEvents *LPTYPECHANGEEVENTS; |
| 912 |
cpp_quote("") |
| 913 |
typedef enum tagCHANGEKIND { |
| 914 |
CHANGEKIND_ADDMEMBER, |
| 915 |
CHANGEKIND_DELETEMEMBER, |
| 916 |
CHANGEKIND_SETNAMES, |
| 917 |
CHANGEKIND_SETDOCUMENTATION, |
| 918 |
CHANGEKIND_GENERAL, |
| 919 |
CHANGEKIND_INVALIDATE, |
| 920 |
CHANGEKIND_CHANGEFAILED, |
| 921 |
CHANGEKIND_MAX |
| 922 |
} CHANGEKIND; |
| 923 |
cpp_quote("") |
| 924 |
HRESULT RequestTypeChange ([in] CHANGEKIND changeKind,[in] ITypeInfo *pTInfoBefore,[in] LPOLESTR pStrName,[out] INT *pfCancel); |
| 925 |
HRESULT AfterTypeChange ([in] CHANGEKIND changeKind,[in] ITypeInfo *pTInfoAfter,[in] LPOLESTR pStrName); |
| 926 |
} |
| 927 |
|
| 928 |
cpp_quote("") |
| 929 |
[object, uuid (1cf2b120-547d-101b-8e65-08002b2bd119), pointer_default (unique)] |
| 930 |
interface IErrorInfo: IUnknown { |
| 931 |
typedef [unique] IErrorInfo *LPERRORINFO; |
| 932 |
cpp_quote("") |
| 933 |
HRESULT GetGUID ([out] GUID *pGUID); |
| 934 |
HRESULT GetSource ([out] BSTR *pBstrSource); |
| 935 |
HRESULT GetDescription ([out] BSTR *pBstrDescription); |
| 936 |
HRESULT GetHelpFile ([out] BSTR *pBstrHelpFile); |
| 937 |
HRESULT GetHelpContext ([out] DWORD *pdwHelpContext); |
| 938 |
} |
| 939 |
|
| 940 |
cpp_quote("") |
| 941 |
[object, uuid (22f03340-547d-101b-8e65-08002b2bd119), pointer_default (unique)] |
| 942 |
interface ICreateErrorInfo: IUnknown { |
| 943 |
typedef [unique] ICreateErrorInfo *LPCREATEERRORINFO; |
| 944 |
cpp_quote("") |
| 945 |
HRESULT SetGUID ([in] REFGUID rguid); |
| 946 |
HRESULT SetSource ([in] LPOLESTR szSource); |
| 947 |
HRESULT SetDescription ([in] LPOLESTR szDescription); |
| 948 |
HRESULT SetHelpFile ([in] LPOLESTR szHelpFile); |
| 949 |
HRESULT SetHelpContext ([in] DWORD dwHelpContext); |
| 950 |
} |
| 951 |
|
| 952 |
cpp_quote("") |
| 953 |
[object, uuid (DF0B3D60-548f-101b-8e65-08002b2bd119), pointer_default (unique)] |
| 954 |
interface ISupportErrorInfo: IUnknown { |
| 955 |
typedef [unique] ISupportErrorInfo *LPSUPPORTERRORINFO; |
| 956 |
cpp_quote("") |
| 957 |
HRESULT InterfaceSupportsErrorInfo ([in] REFIID riid); |
| 958 |
} |
| 959 |
|
| 960 |
cpp_quote("") |
| 961 |
[object, uuid (0000002e-0000-0000-C000-000000000046)] |
| 962 |
interface ITypeFactory : IUnknown { |
| 963 |
HRESULT CreateFromTypeInfo ([in] ITypeInfo *pTypeInfo,[in] REFIID riid,[out, iid_is (riid)] IUnknown **ppv); |
| 964 |
} |
| 965 |
|
| 966 |
cpp_quote("") |
| 967 |
[local, object, uuid (0000002d-0000-0000-C000-000000000046)] |
| 968 |
interface ITypeMarshal : IUnknown { |
| 969 |
HRESULT Size ([in] PVOID pvType,[in] DWORD dwDestContext,[in] PVOID pvDestContext,[out] ULONG *pSize); |
| 970 |
HRESULT Marshal ([in] PVOID pvType,[in] DWORD dwDestContext,[in] PVOID pvDestContext,[in] ULONG cbBufferLength,[out] BYTE *pBuffer,[out] ULONG *pcbWritten); |
| 971 |
HRESULT Unmarshal ([out] PVOID pvType,[in] DWORD dwFlags,[in] ULONG cbBufferLength,[in] BYTE *pBuffer,[out] ULONG *pcbRead); |
| 972 |
HRESULT Free ([in] PVOID pvType); |
| 973 |
} |
| 974 |
|
| 975 |
cpp_quote("") |
| 976 |
[local, object, uuid (0000002f-0000-0000-C000-000000000046)] |
| 977 |
interface IRecordInfo: IUnknown { |
| 978 |
typedef [unique] IRecordInfo *LPRECORDINFO; |
| 979 |
cpp_quote("") |
| 980 |
HRESULT RecordInit ([out] PVOID pvNew); |
| 981 |
HRESULT RecordClear ([in] PVOID pvExisting); |
| 982 |
HRESULT RecordCopy ([in] PVOID pvExisting,[out] PVOID pvNew); |
| 983 |
HRESULT GetGuid ([out] GUID *pguid); |
| 984 |
HRESULT GetName ([out] BSTR *pbstrName); |
| 985 |
HRESULT GetSize ([out] ULONG *pcbSize); |
| 986 |
HRESULT GetTypeInfo ([out] ITypeInfo **ppTypeInfo); |
| 987 |
HRESULT GetField ([in] PVOID pvData,[in] LPCOLESTR szFieldName,[out] VARIANT *pvarField); |
| 988 |
HRESULT GetFieldNoCopy ([in] PVOID pvData,[in] LPCOLESTR szFieldName,[out] VARIANT *pvarField,[out] PVOID *ppvDataCArray); |
| 989 |
HRESULT PutField ([in] ULONG wFlags,[in, out] PVOID pvData,[in] LPCOLESTR szFieldName,[in] VARIANT *pvarField); |
| 990 |
HRESULT PutFieldNoCopy ([in] ULONG wFlags,[in, out] PVOID pvData,[in] LPCOLESTR szFieldName,[in] VARIANT *pvarField); |
| 991 |
HRESULT GetFieldNames ([in, out] ULONG *pcNames,[out, size_is (*pcNames), length_is (*pcNames)] BSTR *rgBstrNames); |
| 992 |
BOOL IsMatchingType ([in] IRecordInfo *pRecordInfo); |
| 993 |
PVOID RecordCreate (); |
| 994 |
HRESULT RecordCreateCopy ([in] PVOID pvSource,[out] PVOID *ppvDest); |
| 995 |
HRESULT RecordDestroy ([in] PVOID pvRecord); |
| 996 |
} |
| 997 |
|
| 998 |
cpp_quote("") |
| 999 |
[object, uuid (3127ca40-446e-11ce-8135-00aa004bb851), pointer_default (unique)] |
| 1000 |
interface IErrorLog : IUnknown { |
| 1001 |
typedef IErrorLog *LPERRORLOG; |
| 1002 |
cpp_quote("") |
| 1003 |
HRESULT AddError ([in] LPCOLESTR pszPropName,[in] EXCEPINFO *pExcepInfo); |
| 1004 |
} |
| 1005 |
|
| 1006 |
cpp_quote("") |
| 1007 |
[object, uuid (55272a00-42cb-11ce-8135-00aa004bb851), pointer_default (unique)] |
| 1008 |
interface IPropertyBag : IUnknown { |
| 1009 |
typedef IPropertyBag *LPPROPERTYBAG; |
| 1010 |
cpp_quote("") |
| 1011 |
[local] HRESULT Read ([in] LPCOLESTR pszPropName,[in, out] VARIANT *pVar,[in, unique] IErrorLog *pErrorLog); |
| 1012 |
[call_as (Read)] HRESULT RemoteRead ([in] LPCOLESTR pszPropName,[out] VARIANT *pVar,[in, unique] IErrorLog *pErrorLog,[in] DWORD varType,[in] IUnknown *pUnkObj); |
| 1013 |
HRESULT Write ([in] LPCOLESTR pszPropName,[in] VARIANT *pVar); |
| 1014 |
} |
| 1015 |
cpp_quote("#endif") |