1 // Copyright © 2015-2017 winapi-rs developers
2 // Licensed under the Apache License, Version 2.0
3 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
4 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
5 // All files in the project carrying such notice may not be copied, modified, or distributed
6 // except according to those terms.
7 //! Mappings for the contents of OAIdl.h
8 use shared
::basetsd
::ULONG_PTR
;
9 use shared
::guiddef
::{GUID, IID, REFGUID, REFIID}
;
10 use shared
::minwindef
::{BOOL, BYTE, DWORD, FLOAT, INT, UINT, ULONG, USHORT, WORD}
;
11 use shared
::rpcndr
::byte
;
13 BSTR
, CY
, DATE
, DECIMAL
, VARIANT_BOOL
, VARTYPE
, VT_BSTR
, VT_DISPATCH
, VT_ERROR
,
14 VT_I1
, VT_I2
, VT_I4
, VT_I8
, VT_RECORD
, VT_RESERVED
, VT_UNKNOWN
, VT_VARIANT
,
17 use shared
::wtypesbase
::{
18 BYTE_SIZEDARR
, DOUBLE
, DWORD_SIZEDARR
, HYPER_SIZEDARR
, LPCOLESTR
, LPOLESTR
, SCODE
,
21 use um
::unknwnbase
::{IUnknown, IUnknownVtbl}
;
22 use um
::winnt
::{CHAR, HRESULT, LCID, LONG, LONGLONG, PVOID, SHORT, ULONGLONG}
;
23 pub type CURRENCY
= CY
;
24 STRUCT
!{struct SAFEARRAYBOUND
{
28 pub type LPSAFEARRAYBOUND
= *mut SAFEARRAYBOUND
;
29 pub type wireBRECORD
= *mut _wireBRECORD
;
30 pub type wireVARIANT
= *mut _wireVARIANT
;
31 STRUCT
!{struct SAFEARR_BSTR
{
35 STRUCT
!{struct SAFEARR_UNKNOWN
{
37 apUnknown
: *mut *mut IUnknown
,
39 STRUCT
!{struct SAFEARR_DISPATCH
{
41 apDispatch
: *mut *mut IDispatch
,
43 STRUCT
!{struct SAFEARR_VARIANT
{
45 aVariant
: *mut wireVARIANT
,
47 STRUCT
!{struct SAFEARR_BRECORD
{
49 aRecord
: *mut wireBRECORD
,
51 STRUCT
!{struct SAFEARR_HAVEIID
{
53 apUnknown
: *mut *mut IUnknown
,
63 SF_UNKNOWN
= VT_UNKNOWN
,
64 SF_DISPATCH
= VT_DISPATCH
,
65 SF_VARIANT
= VT_VARIANT
,
66 SF_RECORD
= VT_RECORD
,
67 SF_HAVEIID
= VT_UNKNOWN
| VT_RESERVED
,
69 #[cfg(target_arch = "x86")]
70 UNION
!{union __MIDL_IOleAutomationTypes_0001
{
72 BstrStr BstrStr_mut
: SAFEARR_BSTR
,
73 UnknownStr UnknownStr_mut
: SAFEARR_UNKNOWN
,
74 DispatchStr DispatchStr_mut
: SAFEARR_DISPATCH
,
75 VariantStr VariantStr_mut
: SAFEARR_VARIANT
,
76 RecordStr RecordStr_mut
: SAFEARR_BRECORD
,
77 HaveIidStr HaveIidStr_mut
: SAFEARR_HAVEIID
,
78 ByteStr ByteStr_mut
: BYTE_SIZEDARR
,
79 WordStr WordStr_mut
: WORD_SIZEDARR
,
80 LongStr LongStr_mut
: DWORD_SIZEDARR
,
81 HyperStr HyperStr_mut
: HYPER_SIZEDARR
,
83 #[cfg(target_arch = "x86_64")]
84 UNION
!{union __MIDL_IOleAutomationTypes_0001
{
86 BstrStr BstrStr_mut
: SAFEARR_BSTR
,
87 UnknownStr UnknownStr_mut
: SAFEARR_UNKNOWN
,
88 DispatchStr DispatchStr_mut
: SAFEARR_DISPATCH
,
89 VariantStr VariantStr_mut
: SAFEARR_VARIANT
,
90 RecordStr RecordStr_mut
: SAFEARR_BRECORD
,
91 HaveIidStr HaveIidStr_mut
: SAFEARR_HAVEIID
,
92 ByteStr ByteStr_mut
: BYTE_SIZEDARR
,
93 WordStr WordStr_mut
: WORD_SIZEDARR
,
94 LongStr LongStr_mut
: DWORD_SIZEDARR
,
95 HyperStr HyperStr_mut
: HYPER_SIZEDARR
,
97 STRUCT
!{struct SAFEARRAYUNION
{
99 u
: __MIDL_IOleAutomationTypes_0001
,
101 STRUCT
!{struct _wireSAFEARRAY
{
106 uArrayStructs
: SAFEARRAYUNION
,
107 rgsaBound
: [SAFEARRAYBOUND
; 1],
109 pub type wireSAFEARRAY
= *mut _wireSAFEARRAY
;
110 pub type wirePSAFEARRAY
= *mut wireSAFEARRAY
;
111 STRUCT
!{struct SAFEARRAY
{
117 rgsabound
: [SAFEARRAYBOUND
; 1],
119 pub type LPSAFEARRAY
= *mut SAFEARRAY
;
120 pub const FADF_AUTO
: DWORD
= 0x1;
121 pub const FADF_STATIC
: DWORD
= 0x2;
122 pub const FADF_EMBEDDED
: DWORD
= 0x4;
123 pub const FADF_FIXEDSIZE
: DWORD
= 0x10;
124 pub const FADF_RECORD
: DWORD
= 0x20;
125 pub const FADF_HAVEIID
: DWORD
= 0x40;
126 pub const FADF_HAVEVARTYPE
: DWORD
= 0x80;
127 pub const FADF_BSTR
: DWORD
= 0x100;
128 pub const FADF_UNKNOWN
: DWORD
= 0x200;
129 pub const FADF_DISPATCH
: DWORD
= 0x400;
130 pub const FADF_VARIANT
: DWORD
= 0x800;
131 pub const FADF_RESERVED
: DWORD
= 0xf008;
132 STRUCT
!{struct __tagBRECORD
{
134 pRecInfo
: *mut IRecordInfo
,
136 UNION
!{union VARIANT_n3
{
138 llVal llVal_mut
: LONGLONG
,
141 iVal iVal_mut
: SHORT
,
142 fltVal fltVal_mut
: FLOAT
,
143 dblVal dblVal_mut
: DOUBLE
,
144 boolVal boolVal_mut
: VARIANT_BOOL
,
145 scode scode_mut
: SCODE
,
148 bstrVal bstrVal_mut
: BSTR
,
149 punkVal punkVal_mut
: *mut IUnknown
,
150 pdispVal pdispVal_mut
: *mut IDispatch
,
151 parray parray_mut
: *mut SAFEARRAY
,
152 pbVal pbVal_mut
: *mut BYTE
,
153 piVal piVal_mut
: *mut SHORT
,
154 plVal plVal_mut
: *mut LONG
,
155 pllVal pllVal_mut
: *mut LONGLONG
,
156 pfltVal pfltVal_mut
: *mut FLOAT
,
157 pdblVal pdblVal_mut
: *mut DOUBLE
,
158 pboolVal pboolVal_mut
: *mut VARIANT_BOOL
,
159 pscode pscode_mut
: *mut SCODE
,
160 pcyVal pcyVal_mut
: *mut CY
,
161 pdate pdate_mut
: *mut DATE
,
162 pbstrVal pbstrVal_mut
: *mut BSTR
,
163 ppunkVal ppunkVal_mut
: *mut *mut IUnknown
,
164 ppdispVal ppdispVal_mut
: *mut *mut IDispatch
,
165 pparray pparray_mut
: *mut *mut SAFEARRAY
,
166 pvarVal pvarVal_mut
: *mut VARIANT
,
167 byref byref_mut
: PVOID
,
169 uiVal uiVal_mut
: USHORT
,
170 ulVal ulVal_mut
: ULONG
,
171 ullVal ullVal_mut
: ULONGLONG
,
172 intVal intVal_mut
: INT
,
173 uintVal uintVal_mut
: UINT
,
174 pdecVal pdecVal_mut
: *mut DECIMAL
,
175 pcVal pcVal_mut
: *mut CHAR
,
176 puiVal puiVal_mut
: *mut USHORT
,
177 pulVal pulVal_mut
: *mut ULONG
,
178 pullVal pullVal_mut
: *mut ULONGLONG
,
179 pintVal pintVal_mut
: *mut INT
,
180 puintVal puintVal_mut
: *mut UINT
,
181 n4 n4_mut
: __tagBRECORD
,
183 STRUCT
!{struct __tagVARIANT
{
190 UNION
!{union VARIANT_n1
{
192 n2 n2_mut
: __tagVARIANT
,
193 decVal decVal_mut
: DECIMAL
,
195 STRUCT
!{struct VARIANT
{
198 pub type LPVARIANT
= *mut VARIANT
;
199 pub type VARIANTARG
= VARIANT
;
200 pub type LPVARIANTARG
= *mut VARIANT
;
201 pub type REFVARIANT
= *const VARIANT
;
202 STRUCT
!{struct _wireBRECORD
{
205 pRecInfo
: *mut IRecordInfo
,
208 UNION
!{union _wireVARIANT_u
{
210 llVal llVal_mut
: LONGLONG
,
213 iVal iVal_mut
: SHORT
,
214 fltVal fltVal_mut
: FLOAT
,
215 dblVal dblVal_mut
: DOUBLE
,
216 boolVal boolVal_mut
: VARIANT_BOOL
,
217 scode scode_mut
: SCODE
,
220 bstrVal bstrVal_mut
: wireBSTR
,
221 punkVal punkVal_mut
: *mut IUnknown
,
222 pdispVal pdispVal_mut
: *mut IDispatch
,
223 parray parray_mut
: wirePSAFEARRAY
,
224 brecVal brecVal_mut
: wireBRECORD
,
225 pbVal pbVal_mut
: *mut BYTE
,
226 piVal piVal_mut
: *mut SHORT
,
227 plVal plVal_mut
: *mut LONG
,
228 pllVal pllVal_mut
: *mut LONGLONG
,
229 pfltVal pfltVal_mut
: *mut FLOAT
,
230 pdblVal pdblVal_mut
: *mut DOUBLE
,
231 pboolVal pboolVal_mut
: *mut VARIANT_BOOL
,
232 pscode pscode_mut
: *mut SCODE
,
233 pcyVal pcyVal_mut
: *mut CY
,
234 pdate pdate_mut
: *mut DATE
,
235 pbstrVal pbstrVal_mut
: *mut wireBSTR
,
236 ppunkVal ppunkVal_mut
: *mut *mut IUnknown
,
237 ppdispVal ppdispVal_mut
: *mut *mut IDispatch
,
238 pparray pparray_mut
: *mut wirePSAFEARRAY
,
239 pvarVal pvarVal_mut
: *mut wireVARIANT
,
241 uiVal uiVal_mut
: USHORT
,
242 ulVal ulVal_mut
: ULONG
,
243 ullVal ullVal_mut
: ULONGLONG
,
244 intVal intVal_mut
: INT
,
245 uintVal uintVal_mut
: UINT
,
246 decVal decVal_mut
: DECIMAL
,
247 pdecVal pdecVal_mut
: *mut DECIMAL
,
248 pcVal pcVal_mut
: *mut CHAR
,
249 puiVal puiVal_mut
: *mut USHORT
,
250 pulVal pulVal_mut
: *mut ULONG
,
251 pullVal pullVal_mut
: *mut ULONGLONG
,
252 pintVal pintVal_mut
: *mut INT
,
253 puintVal puintVal_mut
: *mut UINT
,
255 STRUCT
!{struct _wireVARIANT
{
264 pub type DISPID
= LONG
;
265 pub type MEMBERID
= DISPID
;
266 pub type HREFTYPE
= DWORD
;
267 ENUM
!{enum TYPEKIND
{
278 UNION
!{union TYPEDESC_u
{
280 lptdesc lptdesc_mut
: *mut TYPEDESC
,
281 lpadesc lpadesc_mut
: *mut ARRAYDESC
,
282 hreftype hreftype_mut
: HREFTYPE
,
284 STRUCT
!{struct TYPEDESC
{
288 STRUCT
!{struct ARRAYDESC
{
291 rgbounds
: [SAFEARRAYBOUND
; 1],
293 STRUCT
!{struct PARAMDESCEX
{
295 varDefaultValue
: VARIANTARG
,
297 pub type LPPARAMDESCEX
= *mut PARAMDESCEX
;
298 STRUCT
!{struct PARAMDESC
{
299 pparamdescex
: LPPARAMDESCEX
,
302 pub type LPPARAMDESC
= *mut PARAMDESC
;
303 pub const PARAMFLAG_NONE
: DWORD
= 0;
304 pub const PARAMFLAG_FIN
: DWORD
= 0x1;
305 pub const PARAMFLAG_FOUT
: DWORD
= 0x2;
306 pub const PARAMFLAG_FLCID
: DWORD
= 0x4;
307 pub const PARAMFLAG_FRETVAL
: DWORD
= 0x8;
308 pub const PARAMFLAG_FOPT
: DWORD
= 0x10;
309 pub const PARAMFLAG_FHASDEFAULT
: DWORD
= 0x20;
310 pub const PARAMFLAG_FHASCUSTDATA
: DWORD
= 0x40;
311 STRUCT
!{struct IDLDESC
{
312 dwReserved
: ULONG_PTR
,
315 pub type LPIDLDESC
= *mut IDLDESC
;
316 pub const IDLFLAG_NONE
: DWORD
= PARAMFLAG_NONE
;
317 pub const IDLFLAG_FIN
: DWORD
= PARAMFLAG_FIN
;
318 pub const IDLFLAG_FOUT
: DWORD
= PARAMFLAG_FOUT
;
319 pub const IDLFLAG_FLCID
: DWORD
= PARAMFLAG_FLCID
;
320 pub const IDLFLAG_FRETVAL
: DWORD
= PARAMFLAG_FRETVAL
;
321 UNION
!{union ELEMDESC_u
{
323 idldesc idldesc_mut
: IDLDESC
,
324 paramdesc paramdesc_mut
: PARAMDESC
,
326 STRUCT
!{struct ELEMDESC
{
330 pub type LPELEMDESC
= *mut ELEMDESC
;
331 STRUCT
!{struct TYPEATTR
{
335 memidConstructor
: MEMBERID
,
336 memidDestructor
: MEMBERID
,
337 lpstrSchema
: LPOLESTR
,
338 cbSizeInstance
: ULONG
,
348 tdescAlias
: TYPEDESC
,
349 idldescType
: IDLDESC
,
351 pub type LPTYPEATTR
= *mut TYPEATTR
;
352 STRUCT
!{struct DISPPARAMS
{
353 rgvarg
: *mut VARIANTARG
,
354 rgdispidNamedArgs
: *mut DISPID
,
358 STRUCT
!{struct EXCEPINFO
{
362 bstrDescription
: BSTR
,
364 dwHelpContext
: DWORD
,
366 pfnDeferredFillIn
: Option
<unsafe extern "system" fn(
367 einfo
: *mut EXCEPINFO
,
371 ENUM
!{enum CALLCONV
{
384 ENUM
!{enum FUNCKIND
{
391 ENUM
!{enum INVOKEKIND
{
393 INVOKE_PROPERTYGET
= 2,
394 INVOKE_PROPERTYPUT
= 4,
395 INVOKE_PROPERTYPUTREF
= 8,
397 STRUCT
!{struct FUNCDESC
{
399 lprgscode
: *mut SCODE
,
400 lprgelemdescParam
: *mut ELEMDESC
,
408 elemdescFunc
: ELEMDESC
,
411 pub type LPFUNCDESC
= *mut FUNCDESC
;
418 pub const IMPLTYPEFLAG_FDEFAULT
: DWORD
= 0x1;
419 pub const IMPLTYPEFLAG_FSOURCE
: DWORD
= 0x2;
420 pub const IMPLTYPEFLAG_FRESTRICTED
: DWORD
= 0x4;
421 pub const IMPLTYPEFLAG_FDEFAULTVTABLE
: DWORD
= 0x8;
422 UNION
!{union VARDESC_u
{
424 oInst oInst_mut
: ULONG
,
425 lpvarValue lpvarValue_mut
: *mut VARIANT
,
427 STRUCT
!{struct VARDESC
{
429 lpstrSchema
: LPOLESTR
,
431 elemdescVar
: ELEMDESC
,
435 pub type LPVARDESC
= *mut VARDESC
;
436 ENUM
!{enum TYPEFLAGS
{
437 TYPEFLAG_FAPPOBJECT
= 0x1,
438 TYPEFLAG_FCANCREATE
= 0x2,
439 TYPEFLAG_FLICENSED
= 0x4,
440 TYPEFLAG_FPREDECLID
= 0x8,
441 TYPEFLAG_FHIDDEN
= 0x10,
442 TYPEFLAG_FCONTROL
= 0x20,
443 TYPEFLAG_FDUAL
= 0x40,
444 TYPEFLAG_FNONEXTENSIBLE
= 0x80,
445 TYPEFLAG_FOLEAUTOMATION
= 0x100,
446 TYPEFLAG_FRESTRICTED
= 0x200,
447 TYPEFLAG_FAGGREGATABLE
= 0x400,
448 TYPEFLAG_FREPLACEABLE
= 0x800,
449 TYPEFLAG_FDISPATCHABLE
= 0x1000,
450 TYPEFLAG_FREVERSEBIND
= 0x2000,
451 TYPEFLAG_FPROXY
= 0x4000,
453 ENUM
!{enum FUNCFLAGS
{
454 FUNCFLAG_FRESTRICTED
= 0x1,
455 FUNCFLAG_FSOURCE
= 0x2,
456 FUNCFLAG_FBINDABLE
= 0x4,
457 FUNCFLAG_FREQUESTEDIT
= 0x8,
458 FUNCFLAG_FDISPLAYBIND
= 0x10,
459 FUNCFLAG_FDEFAULTBIND
= 0x20,
460 FUNCFLAG_FHIDDEN
= 0x40,
461 FUNCFLAG_FUSESGETLASTERROR
= 0x80,
462 FUNCFLAG_FDEFAULTCOLLELEM
= 0x100,
463 FUNCFLAG_FUIDEFAULT
= 0x200,
464 FUNCFLAG_FNONBROWSABLE
= 0x400,
465 FUNCFLAG_FREPLACEABLE
= 0x800,
466 FUNCFLAG_FIMMEDIATEBIND
= 0x1000,
468 ENUM
!{enum VARFLAGS
{
469 VARFLAG_FREADONLY
= 0x1,
470 VARFLAG_FSOURCE
= 0x2,
471 VARFLAG_FBINDABLE
= 0x4,
472 VARFLAG_FREQUESTEDIT
= 0x8,
473 VARFLAG_FDISPLAYBIND
= 0x10,
474 VARFLAG_FDEFAULTBIND
= 0x20,
475 VARFLAG_FHIDDEN
= 0x40,
476 VARFLAG_FRESTRICTED
= 0x80,
477 VARFLAG_FDEFAULTCOLLELEM
= 0x100,
478 VARFLAG_FUIDEFAULT
= 0x200,
479 VARFLAG_FNONBROWSABLE
= 0x400,
480 VARFLAG_FREPLACEABLE
= 0x800,
481 VARFLAG_FIMMEDIATEBIND
= 0x1000,
483 STRUCT
!{struct CLEANLOCALSTORAGE
{
484 pInterface
: *mut IUnknown
,
488 STRUCT
!{struct CUSTDATAITEM
{
490 varValue
: VARIANTARG
,
492 pub type LPCUSTDATAITEM
= *mut CUSTDATAITEM
;
493 STRUCT
!{struct CUSTDATA
{
495 prgCustData
: LPCUSTDATAITEM
,
497 pub type LPCUSTDATA
= *mut CUSTDATA
;
498 pub type LPCREATETYPEINFO
= *mut ICreateTypeInfo
;
499 RIDL
!{#[uuid(0x00020405, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)]
500 interface
ICreateTypeInfo(ICreateTypeInfoVtbl
): IUnknown(IUnknownVtbl
) {
511 dwHelpContext
: DWORD
,
518 pTInfo
: *mut ITypeInfo
,
522 pFuncDesc
: *mut FUNCDESC
,
532 pStrSchema
: LPOLESTR
,
536 pVarDesc
: *mut VARDESC
,
538 fn SetFuncAndParamNames(
540 rgszNames
: *mut LPOLESTR
,
548 pTDescAlias
: *mut TYPEDESC
,
550 fn DefineFuncAsDllEntry(
553 szProcName
: LPOLESTR
,
557 szDocString
: LPOLESTR
,
561 szDocString
: LPOLESTR
,
563 fn SetFuncHelpContext(
565 dwHelpContext
: DWORD
,
567 fn SetVarHelpContext(
569 dwHelpContext
: DWORD
,
576 pIdlDesc
: *mut IDLDESC
,
578 fn LayOut() -> HRESULT
,
586 pub type LPDISPATCH
= *mut IDispatch
;
587 pub const DISPID_UNKNOWN
: INT
= -1;
588 pub const DISPID_VALUE
: INT
= 0;
589 pub const DISPID_PROPERTYPUT
: INT
= -3;
590 pub const DISPID_NEWENUM
: INT
= -4;
591 pub const DISPID_EVALUATE
: INT
= -5;
592 pub const DISPID_CONSTRUCTOR
: INT
= -6;
593 pub const DISPID_DESTRUCTOR
: INT
= -7;
594 pub const DISPID_COLLECT
: INT
= -8;
595 RIDL
!{#[uuid(0x00020400, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)]
596 interface
IDispatch(IDispatchVtbl
): IUnknown(IUnknownVtbl
) {
603 ppTInfo
: *mut *mut ITypeInfo
,
607 rgszNames
: *mut LPOLESTR
,
610 rgDispId
: *mut DISPID
,
613 dispIdMember
: DISPID
,
617 pDispParams
: *mut DISPPARAMS
,
618 pVarResult
: *mut VARIANT
,
619 pExcepInfo
: *mut EXCEPINFO
,
623 // IDispatch_RemoteInvoke_Proxy
624 // IDispatch_RemoteInvoke_Stub
627 // IEnumVARIANT_RemoteNext_Proxy
628 // IEnumVARIANT_RemoteNext_Stub
629 pub enum IRecordInfo {}
// FIXME
630 pub enum ITypeComp {}
// FIXME
637 STRUCT
!{struct TLIBATTR
{
645 RIDL
!{#[uuid(0x00020402, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)]
646 interface
ITypeLib(ITypeLibVtbl
): IUnknown(IUnknownVtbl
) {
647 fn GetTypeInfoCount() -> UINT
,
650 ppTInfo
: *mut *mut ITypeInfo
,
654 pTKind
: *mut TYPEKIND
,
656 fn GetTypeInfoOfGuid(
658 ppTInfo
: *mut *mut ITypeInfo
,
661 ppTLibAttr
: *mut *mut TLIBATTR
,
664 ppTComp
: *mut *mut ITypeComp
,
668 pbstrName
: *mut BSTR
,
669 pBstrDocString
: *mut BSTR
,
670 pdwHelpContext
: *mut DWORD
,
671 pBstrHelpFile
: *mut BSTR
,
681 ppTInfo
: *mut *mut ITypeInfo
,
682 rgMemId
: *mut MEMBERID
,
683 pcFound
: *mut USHORT
,
686 pTLibAttr
: *const TLIBATTR
,
689 RIDL
!(#[uuid(0x00020401, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)]
690 interface
ITypeInfo(ITypeInfoVtbl
): IUnknown(IUnknownVtbl
) {
692 ppTypeAttr
: *mut *mut TYPEATTR
,
695 ppTComp
: *mut *mut ITypeComp
,
699 ppFunDesc
: *mut *mut FUNCDESC
,
703 pPVarDesc
: *mut *mut VARDESC
,
707 rgBstrNames
: *mut BSTR
,
711 fn GetRefTypeOfImplType(
713 pRefType
: *mut HREFTYPE
,
717 pImplTypeFlags
: *mut INT
,
720 rgszNames
: *mut LPOLESTR
,
722 pMemId
: *mut MEMBERID
,
728 pDispParams
: *mut DISPPARAMS
,
729 pVarResult
: *mut VARIANT
,
730 pExcepInfo
: *mut EXCEPINFO
,
735 pBstrName
: *mut BSTR
,
736 pBstrDocString
: *mut BSTR
,
737 pdwHelpContext
: *mut DWORD
,
738 pBstrHelpFile
: *mut BSTR
,
743 pBstrDllName
: *mut BSTR
,
744 pBstrName
: *mut BSTR
,
745 pwOrdinal
: *mut WORD
,
749 ppTInfo
: *mut *mut ITypeInfo
,
757 pUnkOuter
: *mut IUnknown
,
763 pBstrMops
: *mut BSTR
,
765 fn GetContainingTypeLib(
766 ppTLib
: *mut *mut ITypeLib
,
770 pTypeAttr
: *mut TYPEATTR
,
773 pFuncDesc
: *mut FUNCDESC
,
776 pVarDesc
: *mut VARDESC
,
780 RIDL
!(#[uuid(0x3127ca40, 0x446e, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51)]
781 interface
IErrorLog(IErrorLogVtbl
): IUnknown(IUnknownVtbl
) {
783 pszPropName
: LPCOLESTR
,
784 pExcepInfo
: *const EXCEPINFO
,
787 pub type LPERRORLOG
= *mut IErrorLog
;