ReactOS 0.4.16-dev-340-g0540c21
oleauto.h File Reference
#include <oaidl.h>
Include dependency graph for oleauto.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  UDATE
 
struct  NUMPARSE
 
struct  tagPARAMDATA
 
struct  tagMETHODDATA
 
struct  tagINTERFACEDATA
 

Macros

#define STDOLE_MAJORVERNUM   1
 
#define STDOLE_MINORVERNUM   0
 
#define STDOLE_LCID   0
 
#define STDOLE2_MAJORVERNUM   2
 
#define STDOLE2_MINORVERNUM   0
 
#define STDOLE2_LCID   0
 
#define ACTIVEOBJECT_STRONG   0
 
#define ACTIVEOBJECT_WEAK   1
 
#define V_VT(A)   ((A)->vt)
 
#define V_UNION(A, B)   ((A)->B)
 
#define V_RECORD(A)   ((A)->pvRecord)
 
#define V_RECORDINFO(A)   ((A)->pRecInfo)
 
#define V_ISBYREF(A)   (V_VT(A) & VT_BYREF)
 
#define V_ISARRAY(A)   (V_VT(A) & VT_ARRAY)
 
#define V_ISVECTOR(A)   (V_VT(A) & VT_VECTOR)
 
#define V_NONE(A)   V_I2(A)
 
#define V_ARRAY(A)   V_UNION(A,parray)
 
#define V_ARRAYREF(A)   V_UNION(A,pparray)
 
#define V_BOOL(A)   V_UNION(A,boolVal)
 
#define V_BOOLREF(A)   V_UNION(A,pboolVal)
 
#define V_BSTR(A)   V_UNION(A,bstrVal)
 
#define V_BSTRREF(A)   V_UNION(A,pbstrVal)
 
#define V_BYREF(A)   V_UNION(A,byref)
 
#define V_CY(A)   V_UNION(A,cyVal)
 
#define V_CYREF(A)   V_UNION(A,pcyVal)
 
#define V_DATE(A)   V_UNION(A,date)
 
#define V_DATEREF(A)   V_UNION(A,pdate)
 
#define V_DECIMAL(A)   ((A)->decVal)
 
#define V_DECIMALREF(A)   V_UNION(A,pdecVal)
 
#define V_DISPATCH(A)   V_UNION(A,pdispVal)
 
#define V_DISPATCHREF(A)   V_UNION(A,ppdispVal)
 
#define V_ERROR(A)   V_UNION(A,scode)
 
#define V_ERRORREF(A)   V_UNION(A,pscode)
 
#define V_I1(A)   V_UNION(A,cVal)
 
#define V_I1REF(A)   V_UNION(A,pcVal)
 
#define V_I2(A)   V_UNION(A,iVal)
 
#define V_I2REF(A)   V_UNION(A,piVal)
 
#define V_I4(A)   V_UNION(A,lVal)
 
#define V_I4REF(A)   V_UNION(A,plVal)
 
#define V_I8(A)   V_UNION(A,llVal)
 
#define V_I8REF(A)   V_UNION(A,pllVal)
 
#define V_INT(A)   V_UNION(A,intVal)
 
#define V_INTREF(A)   V_UNION(A,pintVal)
 
#define V_INT_PTR(A)   V_I4(A)
 
#define V_INT_PTRREF(A)   V_I4REF(A)
 
#define V_R4(A)   V_UNION(A,fltVal)
 
#define V_R4REF(A)   V_UNION(A,pfltVal)
 
#define V_R8(A)   V_UNION(A,dblVal)
 
#define V_R8REF(A)   V_UNION(A,pdblVal)
 
#define V_UINT(A)   V_UNION(A,uintVal)
 
#define V_UINTREF(A)   V_UNION(A,puintVal)
 
#define V_UI1(A)   V_UNION(A,bVal)
 
#define V_UI1REF(A)   V_UNION(A,pbVal)
 
#define V_UI2(A)   V_UNION(A,uiVal)
 
#define V_UI2REF(A)   V_UNION(A,puiVal)
 
#define V_UI4(A)   V_UNION(A,ulVal)
 
#define V_UI4REF(A)   V_UNION(A,pulVal)
 
#define V_UI8(A)   V_UNION(A,ullVal)
 
#define V_UI8REF(A)   V_UNION(A,pullVal)
 
#define V_UINT_PTR(A)   V_UI4(A)
 
#define V_UINT_PTRREF(A)   V_UI4REF(A)
 
#define V_UNKNOWN(A)   V_UNION(A,punkVal)
 
#define V_UNKNOWNREF(A)   V_UNION(A,ppunkVal)
 
#define V_VARIANTREF(A)   V_UNION(A,pvarVal)
 
#define VARIANT_NOVALUEPROP   0x01 /* Don't get the default value property from IDispatch */
 
#define VARIANT_ALPHABOOL   0x02 /* Coerce to "True"|"False" instead of "-1"|"0" */
 
#define VARIANT_NOUSEROVERRIDE   0x04 /* Pass LOCALE_NOUSEROVERRIDE to low level conversions */
 
#define VARIANT_CALENDAR_HIJRI   0x08 /* Use the Hijri calendar */
 
#define VARIANT_LOCALBOOL   0x10 /* Like VARIANT_ALPHABOOL, but use localised text */
 
#define VARIANT_CALENDAR_THAI   0x20 /* Use the Thai buddhist calendar */
 
#define VARIANT_CALENDAR_GREGORIAN   0x40 /* Use the Gregorian calendar */
 
#define VARIANT_USE_NLS   0x80 /* Format result using NLS calls */
 
#define VT_HARDTYPE   VT_RESERVED /* Don't coerce this variant when comparing it to others */
 
#define VAR_TIMEVALUEONLY   0x001 /* Ignore date portion of VT_DATE */
 
#define VAR_DATEVALUEONLY   0x002 /* Ignore time portion of VT_DATE */
 
#define VAR_VALIDDATE   0x004
 
#define VAR_CALENDAR_HIJRI   0x008 /* Use the Hijri calendar */
 
#define VAR_LOCALBOOL   0x010 /* VT_BOOL<->VT_BSTR: Use localised boolean text */
 
#define VAR_FORMAT_NOSUBSTITUTE   0x020 /* Don't change format strings for un-coercable types */
 
#define VAR_FOURDIGITYEARS   0x040 /* Always print years with 4 digits */
 
#define VAR_CALENDAR_THAI   0x080 /* Use the Thai buddhist calendar */
 
#define VAR_CALENDAR_GREGORIAN   0x100 /* Use the Gregorian calendar */
 
#define LOCALE_USE_NLS   0x10000000
 
#define VTDATEGRE_MIN   -657434 /* Minimum possible Gregorian date: 1/1/100 */
 
#define VTDATEGRE_MAX   2958465 /* Maximum possible Gregorian date: 31/12/9999 */
 
#define VarUI4FromUI4(in, pOut)   ( *(pOut) = (in) )
 
#define VarI4FromI4(in, pOut)   ( *(pOut) = (in) )
 
#define VarUI1FromInt   VarUI1FromI4
 
#define VarUI1FromUint   VarUI1FromUI4
 
#define VarI2FromInt   VarI2FromI4
 
#define VarI2FromUint   VarI2FromUI4
 
#define VarI4FromInt   VarI4FromI4
 
#define VarI4FromUint   VarI4FromUI4
 
#define VarI8FromInt   VarI8FromI4
 
#define VarI8FromUint   VarI8FromUI4
 
#define VarR4FromInt   VarR4FromI4
 
#define VarR4FromUint   VarR4FromUI4
 
#define VarR8FromInt   VarR8FromI4
 
#define VarR8FromUint   VarR8FromUI4
 
#define VarDateFromInt   VarDateFromI4
 
#define VarDateFromUint   VarDateFromUI4
 
#define VarCyFromInt   VarCyFromI4
 
#define VarCyFromUint   VarCyFromUI4
 
#define VarBstrFromInt   VarBstrFromI4
 
#define VarBstrFromUint   VarBstrFromUI4
 
#define VarBoolFromInt   VarBoolFromI4
 
#define VarBoolFromUint   VarBoolFromUI4
 
#define VarI1FromInt   VarI1FromI4
 
#define VarI1FromUint   VarI1FromUI4
 
#define VarUI2FromInt   VarUI2FromI4
 
#define VarUI2FromUint   VarUI2FromUI4
 
#define VarUI4FromInt   VarUI4FromI4
 
#define VarUI4FromUint   VarUI4FromUI4
 
#define VarUI8FromInt   VarUI8FromI4
 
#define VarUI8FromUint   VarUI8FromUI4
 
#define VarDecFromInt   VarDecFromI4
 
#define VarDecFromUint   VarDecFromUI4
 
#define VarIntFromUI1   VarI4FromUI1
 
#define VarIntFromI2   VarI4FromI2
 
#define VarIntFromI4   VarI4FromI4
 
#define VarIntFromI8   VarI4FromI8
 
#define VarIntFromR4   VarI4FromR4
 
#define VarIntFromR8   VarI4FromR8
 
#define VarIntFromDate   VarI4FromDate
 
#define VarIntFromCy   VarI4FromCy
 
#define VarIntFromStr   VarI4FromStr
 
#define VarIntFromDisp   VarI4FromDisp
 
#define VarIntFromBool   VarI4FromBool
 
#define VarIntFromI1   VarI4FromI1
 
#define VarIntFromUI2   VarI4FromUI2
 
#define VarIntFromUI4   VarI4FromUI4
 
#define VarIntFromUI8   VarI4FromUI8
 
#define VarIntFromDec   VarI4FromDec
 
#define VarIntFromUint   VarI4FromUI4
 
#define VarUintFromUI1   VarUI4FromUI1
 
#define VarUintFromI2   VarUI4FromI2
 
#define VarUintFromI4   VarUI4FromI4
 
#define VarUintFromI8   VarUI4FromI8
 
#define VarUintFromR4   VarUI4FromR4
 
#define VarUintFromR8   VarUI4FromR8
 
#define VarUintFromDate   VarUI4FromDate
 
#define VarUintFromCy   VarUI4FromCy
 
#define VarUintFromStr   VarUI4FromStr
 
#define VarUintFromDisp   VarUI4FromDisp
 
#define VarUintFromBool   VarUI4FromBool
 
#define VarUintFromI1   VarUI4FromI1
 
#define VarUintFromUI2   VarUI4FromUI2
 
#define VarUintFromUI4   VarUI4FromUI4
 
#define VarUintFromUI8   VarUI4FromUI8
 
#define VarUintFromDec   VarUI4FromDec
 
#define VarUintFromInt   VarUI4FromI4
 
#define VARCMP_LT   0
 
#define VARCMP_EQ   1
 
#define VARCMP_GT   2
 
#define VARCMP_NULL   3
 
#define NUMPRS_LEADING_WHITE   0x00001 /* Leading whitespace */
 
#define NUMPRS_TRAILING_WHITE   0x00002 /* Trailing whitespace */
 
#define NUMPRS_LEADING_PLUS   0x00004 /* Leading '+' sign */
 
#define NUMPRS_TRAILING_PLUS   0x00008 /* Trailing '+' sign */
 
#define NUMPRS_LEADING_MINUS   0x00010 /* Leading '-' sign */
 
#define NUMPRS_TRAILING_MINUS   0x00020 /* Trailing '-' sign */
 
#define NUMPRS_HEX_OCT   0x00040 /* Octal number (with a leading 0) */
 
#define NUMPRS_PARENS   0x00080 /* Parentheses for negative numbers */
 
#define NUMPRS_DECIMAL   0x00100 /* Decimal separator */
 
#define NUMPRS_THOUSANDS   0x00200 /* Thousands separator */
 
#define NUMPRS_CURRENCY   0x00400 /* Currency symbol */
 
#define NUMPRS_EXPONENT   0x00800 /* Exponent (e.g. "e-14") */
 
#define NUMPRS_USE_ALL   0x01000 /* Parse the entire string */
 
#define NUMPRS_STD   0x01FFF /* Standard flags for internal coercions (All of the above) */
 
#define NUMPRS_NEG   0x10000 /* Number is negative (dwOutFlags only) */
 
#define NUMPRS_INEXACT   0x20000 /* Number is represented inexactly (dwOutFlags only) */
 
#define VTBIT_I1   (1 << VT_I1)
 
#define VTBIT_UI1   (1 << VT_UI1)
 
#define VTBIT_I2   (1 << VT_I2)
 
#define VTBIT_UI2   (1 << VT_UI2)
 
#define VTBIT_I4   (1 << VT_I4)
 
#define VTBIT_UI4   (1 << VT_UI4)
 
#define VTBIT_I8   (1 << VT_I8)
 
#define VTBIT_UI8   (1 << VT_UI8)
 
#define VTBIT_R4   (1 << VT_R4)
 
#define VTBIT_R8   (1 << VT_R8)
 
#define VTBIT_CY   (1 << VT_CY)
 
#define VTBIT_DECIMAL   (1 << VT_DECIMAL)
 
#define LHashValOfName(lcid, name)   LHashValOfNameSys(SYS_WIN32,lcid,name)
 
#define WHashValOfLHashVal(hash)   ((USHORT)((hash) & 0xffff))
 
#define IsHashValCompatible(hash1, hash2)   ((hash1) & 0xff0000 == (hash2) & 0xff0000)
 
#define MEMBERID_NIL   DISPID_UNKNOWN
 
#define ID_DEFAULTINST   -2
 
#define DISPATCH_METHOD   0x1
 
#define DISPATCH_PROPERTYGET   0x2
 
#define DISPATCH_PROPERTYPUT   0x4
 
#define DISPATCH_PROPERTYPUTREF   0x8
 
#define LOAD_TLB_AS_32BIT   0x20
 
#define LOAD_TLB_AS_64BIT   0x40
 
#define MASK_TO_RESET_TLB_BITS   ~(LOAD_TLB_AS_32BIT|LOAD_TLB_AS_64BIT)
 

Typedefs

typedef struct tagPARAMDATA PARAMDATA
 
typedef struct tagPARAMDATALPPARAMDATA
 
typedef struct tagMETHODDATA METHODDATA
 
typedef struct tagMETHODDATALPMETHODDATA
 
typedef struct tagINTERFACEDATA INTERFACEDATA
 
typedef struct tagINTERFACEDATALPINTERFACEDATA
 
typedef enum tagREGKIND REGKIND
 

Enumerations

enum  tagREGKIND { REGKIND_DEFAULT , REGKIND_REGISTER , REGKIND_NONE }
 

Functions

 DEFINE_OLEGUID (IID_StdOle, 0x00020430, 0, 0)
 
ULONG WINAPI OaBuildVersion (void)
 
BSTR WINAPI SysAllocString (_In_opt_z_ const OLECHAR *)
 
BSTR WINAPI SysAllocStringByteLen (_In_opt_z_ LPCSTR, _In_ UINT)
 
 _Ret_writes_maybenull_z_ (ui+1) BSTR WINAPI SysAllocStringLen(_In_reads_opt_(ui) const OLECHAR *
 
void WINAPI SysFreeString (_In_opt_ BSTR)
 
INT WINAPI SysReAllocString (_Inout_ _At_(*pbstr, _Pre_z_ _Post_z_ _Post_readable_size_(_String_length_(psz)+1)) LPBSTR pbstr, _In_opt_z_ const OLECHAR *psz)
 
_Check_return_ int WINAPI SysReAllocStringLen (_Inout_ _At_(*pbstr, _Pre_z_ _Post_z_ _Post_readable_size_(len+1)) BSTR *pbstr, _In_opt_z_ const OLECHAR *, _In_ UINT len)
 
 _Post_equal_to_ (_String_length_(bstr) *sizeof(OLECHAR)) UINT WINAPI SysStringByteLen(_In_opt_ BSTR bstr)
 
 _Post_equal_to_ (pbstr==NULL ? 0 :_String_length_(pbstr)) UINT WINAPI SysStringLen(_In_opt_ BSTR pbstr)
 
HRESULT WINAPI SetErrorInfo (_In_ ULONG, _In_opt_ IErrorInfo *)
 
_Check_return_ HRESULT WINAPI GetErrorInfo (_In_ ULONG, _Outptr_ IErrorInfo **)
 
_Check_return_ HRESULT WINAPI CreateErrorInfo (_Outptr_ ICreateErrorInfo **)
 
SAFEARRAY *WINAPI SafeArrayCreate (_In_ VARTYPE, _In_ UINT, _In_ SAFEARRAYBOUND *)
 
SAFEARRAY *WINAPI SafeArrayCreateEx (_In_ VARTYPE, _In_ UINT, _In_ SAFEARRAYBOUND *, _In_ LPVOID)
 
SAFEARRAY *WINAPI SafeArrayCreateVector (_In_ VARTYPE, _In_ LONG, _In_ ULONG)
 
SAFEARRAY *WINAPI SafeArrayCreateVectorEx (_In_ VARTYPE, _In_ LONG, _In_ ULONG, _In_ LPVOID)
 
HRESULT WINAPI SafeArrayAllocDescriptor (_In_ UINT, _Outptr_ SAFEARRAY **)
 
HRESULT WINAPI SafeArrayAllocDescriptorEx (_In_ VARTYPE, _In_ UINT, _Outptr_ SAFEARRAY **)
 
HRESULT WINAPI SafeArrayAllocData (_In_ SAFEARRAY *)
 
HRESULT WINAPI SafeArrayDestroyDescriptor (_In_ SAFEARRAY *)
 
_Check_return_ HRESULT WINAPI SafeArrayPutElement (_In_ SAFEARRAY *, LONG *, _In_ void *)
 
HRESULT WINAPI SafeArrayGetElement (_In_ SAFEARRAY *, LONG *, _Out_ void *)
 
HRESULT WINAPI SafeArrayLock (_In_ SAFEARRAY *)
 
HRESULT WINAPI SafeArrayUnlock (_In_ SAFEARRAY *)
 
HRESULT WINAPI SafeArrayGetUBound (_In_ SAFEARRAY *, _In_ UINT, _Out_ LONG *)
 
HRESULT WINAPI SafeArrayGetLBound (_In_ SAFEARRAY *, _In_ UINT, _Out_ LONG *)
 
UINT WINAPI SafeArrayGetDim (_In_ SAFEARRAY *)
 
UINT WINAPI SafeArrayGetElemsize (_In_ SAFEARRAY *)
 
HRESULT WINAPI SafeArrayGetVartype (_In_ SAFEARRAY *, _Out_ VARTYPE *)
 
HRESULT WINAPI SafeArrayAccessData (_In_ SAFEARRAY *, void **)
 
HRESULT WINAPI SafeArrayUnaccessData (_In_ SAFEARRAY *)
 
HRESULT WINAPI SafeArrayPtrOfIndex (_In_ SAFEARRAY *psa, _In_reads_(psa->cDims) LONG *, _Outptr_result_bytebuffer_(psa->cbElements) void **)
 
_Check_return_ HRESULT WINAPI SafeArrayCopyData (_In_ SAFEARRAY *, _In_ SAFEARRAY *)
 
HRESULT WINAPI SafeArrayDestroyData (_In_ SAFEARRAY *)
 
HRESULT WINAPI SafeArrayDestroy (_In_ SAFEARRAY *)
 
_Check_return_ HRESULT WINAPI SafeArrayCopy (_In_ SAFEARRAY *, _Outptr_ SAFEARRAY **)
 
HRESULT WINAPI SafeArrayRedim (_Inout_ SAFEARRAY *, _In_ SAFEARRAYBOUND *)
 
HRESULT WINAPI SafeArraySetRecordInfo (_In_ SAFEARRAY *, _In_ IRecordInfo *)
 
HRESULT WINAPI SafeArrayGetRecordInfo (_In_ SAFEARRAY *, _Outptr_ IRecordInfo **)
 
HRESULT WINAPI SafeArraySetIID (_In_ SAFEARRAY *, _In_ REFGUID)
 
HRESULT WINAPI SafeArrayGetIID (_In_ SAFEARRAY *, _Out_ GUID *)
 
_Check_return_ HRESULT WINAPI VectorFromBstr (_In_ BSTR, _Outptr_ SAFEARRAY **)
 
_Check_return_ HRESULT WINAPI BstrFromVector (_In_ SAFEARRAY *, _Out_ BSTR *)
 
_Check_return_ HRESULT WINAPI RegisterActiveObject (LPUNKNOWN, REFCLSID, DWORD, LPDWORD)
 
HRESULT WINAPI RevokeActiveObject (DWORD, LPVOID)
 
HRESULT WINAPI GetActiveObject (REFCLSID, LPVOID, LPUNKNOWN *)
 
HRESULT WINAPI GetRecordInfoFromTypeInfo (ITypeInfo *, IRecordInfo **)
 
HRESULT WINAPI GetRecordInfoFromGuids (REFGUID, ULONG, ULONG, LCID, REFGUID, IRecordInfo **)
 
void WINAPI VariantInit (_Out_ VARIANT *)
 
HRESULT WINAPI VariantClear (_Inout_ VARIANT *)
 
_Check_return_ HRESULT WINAPI VariantCopy (_Inout_ VARIANT *, _In_ VARIANT *)
 
_Check_return_ HRESULT WINAPI VariantCopyInd (_Inout_ VARIANT *, _In_ VARIANT *)
 
_Check_return_ HRESULT WINAPI VariantChangeType (_Inout_ VARIANT *, _In_ VARIANT *, _In_ USHORT, _In_ VARTYPE)
 
_Check_return_ HRESULT WINAPI VariantChangeTypeEx (_Inout_ VARIANT *, _In_ VARIANT *, _In_ LCID, _In_ USHORT, _In_ VARTYPE)
 
HRESULT WINAPI VarUI1FromI2 (SHORT, _Out_ BYTE *)
 
HRESULT WINAPI VarUI1FromI4 (LONG, _Out_ BYTE *)
 
HRESULT WINAPI VarUI1FromI8 (LONG64, _Out_ BYTE *)
 
HRESULT WINAPI VarUI1FromR4 (FLOAT, _Out_ BYTE *)
 
HRESULT WINAPI VarUI1FromR8 (DOUBLE, _Out_ BYTE *)
 
HRESULT WINAPI VarUI1FromDate (DATE, _Out_ BYTE *)
 
HRESULT WINAPI VarUI1FromBool (VARIANT_BOOL, _Out_ BYTE *)
 
HRESULT WINAPI VarUI1FromI1 (signed char, _Out_ BYTE *)
 
HRESULT WINAPI VarUI1FromUI2 (USHORT, _Out_ BYTE *)
 
HRESULT WINAPI VarUI1FromUI4 (ULONG, _Out_ BYTE *)
 
HRESULT WINAPI VarUI1FromUI8 (ULONG64, _Out_ BYTE *)
 
HRESULT WINAPI VarUI1FromStr (_In_ OLECHAR *, LCID, ULONG, _Out_ BYTE *)
 
HRESULT WINAPI VarUI1FromCy (CY, _Out_ BYTE *)
 
HRESULT WINAPI VarUI1FromDec (_In_ DECIMAL *, _Out_ BYTE *)
 
HRESULT WINAPI VarUI1FromDisp (IDispatch *, LCID, _Out_ BYTE *)
 
HRESULT WINAPI VarI2FromUI1 (BYTE, _Out_ SHORT *)
 
HRESULT WINAPI VarI2FromI4 (LONG, _Out_ SHORT *)
 
HRESULT WINAPI VarI2FromI8 (LONG64, _Out_ SHORT *)
 
HRESULT WINAPI VarI2FromR4 (FLOAT, _Out_ SHORT *)
 
HRESULT WINAPI VarI2FromR8 (DOUBLE, _Out_ SHORT *)
 
HRESULT WINAPI VarI2FromDate (DATE, _Out_ SHORT *)
 
HRESULT WINAPI VarI2FromBool (VARIANT_BOOL, _Out_ SHORT *)
 
HRESULT WINAPI VarI2FromI1 (signed char, _Out_ SHORT *)
 
HRESULT WINAPI VarI2FromUI2 (USHORT, _Out_ SHORT *)
 
HRESULT WINAPI VarI2FromUI4 (ULONG, _Out_ SHORT *)
 
HRESULT WINAPI VarI2FromUI8 (ULONG64, _Out_ SHORT *)
 
HRESULT WINAPI VarI2FromStr (_In_ OLECHAR *, LCID, ULONG, _Out_ SHORT *)
 
HRESULT WINAPI VarI2FromCy (CY, SHORT *)
 
HRESULT WINAPI VarI2FromDec (_In_ DECIMAL *, _Out_ SHORT *)
 
HRESULT WINAPI VarI2FromDisp (IDispatch *, LCID, _Out_ SHORT *)
 
HRESULT WINAPI VarI4FromUI1 (BYTE, _Out_ LONG *)
 
HRESULT WINAPI VarI4FromI2 (SHORT, _Out_ LONG *)
 
HRESULT WINAPI VarI4FromI8 (LONG64, _Out_ LONG *)
 
HRESULT WINAPI VarI4FromR4 (FLOAT, _Out_ LONG *)
 
HRESULT WINAPI VarI4FromR8 (DOUBLE, _Out_ LONG *)
 
HRESULT WINAPI VarI4FromDate (DATE, _Out_ LONG *)
 
HRESULT WINAPI VarI4FromBool (VARIANT_BOOL, _Out_ LONG *)
 
HRESULT WINAPI VarI4FromI1 (signed char, _Out_ LONG *)
 
HRESULT WINAPI VarI4FromUI2 (USHORT, _Out_ LONG *)
 
HRESULT WINAPI VarI4FromUI4 (ULONG, _Out_ LONG *)
 
HRESULT WINAPI VarI4FromUI8 (ULONG64, _Out_ LONG *)
 
HRESULT WINAPI VarI4FromStr (_In_ OLECHAR *, LCID, ULONG, _Out_ LONG *)
 
HRESULT WINAPI VarI4FromCy (CY, _Out_ LONG *)
 
HRESULT WINAPI VarI4FromDec (_In_ DECIMAL *, _Out_ LONG *)
 
HRESULT WINAPI VarI4FromDisp (IDispatch *, _In_ LCID, _Out_ LONG *)
 
HRESULT WINAPI VarI8FromUI1 (BYTE, _Out_ LONG64 *)
 
HRESULT WINAPI VarI8FromI2 (SHORT, _Out_ LONG64 *)
 
HRESULT WINAPI VarI8FromI4 (LONG, LONG64 *)
 
HRESULT WINAPI VarI8FromR4 (FLOAT, _Out_ LONG64 *)
 
HRESULT WINAPI VarI8FromR8 (DOUBLE, _Out_ LONG64 *)
 
HRESULT WINAPI VarI8FromDate (DATE, _Out_ LONG64 *)
 
HRESULT WINAPI VarI8FromStr (_In_ OLECHAR *, _In_ LCID, _In_ ULONG, _Out_ LONG64 *)
 
HRESULT WINAPI VarI8FromBool (VARIANT_BOOL, _Out_ LONG64 *)
 
HRESULT WINAPI VarI8FromI1 (signed char, _Out_ LONG64 *)
 
HRESULT WINAPI VarI8FromUI2 (USHORT, _Out_ LONG64 *)
 
HRESULT WINAPI VarI8FromUI4 (ULONG, _Out_ LONG64 *)
 
HRESULT WINAPI VarI8FromUI8 (ULONG64, _Out_ LONG64 *)
 
HRESULT WINAPI VarI8FromDec (_In_ DECIMAL *pdecIn, _Out_ LONG64 *)
 
HRESULT WINAPI VarI8FromInt (INT intIn, LONG64 *)
 
HRESULT WINAPI VarI8FromCy (_In_ CY, _Out_ LONG64 *)
 
HRESULT WINAPI VarI8FromDisp (IDispatch *, _In_ LCID, _Out_ LONG64 *)
 
HRESULT WINAPI VarR4FromUI1 (BYTE, _Out_ FLOAT *)
 
HRESULT WINAPI VarR4FromI2 (SHORT, _Out_ FLOAT *)
 
HRESULT WINAPI VarR4FromI4 (LONG, _Out_ FLOAT *)
 
HRESULT WINAPI VarR4FromI8 (LONG64, _Out_ FLOAT *)
 
HRESULT WINAPI VarR4FromR8 (DOUBLE, _Out_ FLOAT *)
 
HRESULT WINAPI VarR4FromDate (DATE, _Out_ FLOAT *)
 
HRESULT WINAPI VarR4FromBool (VARIANT_BOOL, _Out_ FLOAT *)
 
HRESULT WINAPI VarR4FromI1 (signed char, _Out_ FLOAT *)
 
HRESULT WINAPI VarR4FromUI2 (USHORT, _Out_ FLOAT *)
 
HRESULT WINAPI VarR4FromUI4 (ULONG, _Out_ FLOAT *)
 
HRESULT WINAPI VarR4FromUI8 (ULONG64, _Out_ FLOAT *)
 
HRESULT WINAPI VarR4FromStr (_In_ OLECHAR *, LCID, ULONG, _Out_ FLOAT *)
 
HRESULT WINAPI VarR4FromCy (CY, FLOAT *)
 
HRESULT WINAPI VarR4FromDec (_In_ DECIMAL *, _Out_ FLOAT *)
 
HRESULT WINAPI VarR4FromDisp (IDispatch *, LCID, _Out_ FLOAT *)
 
HRESULT WINAPI VarR8FromUI1 (BYTE, _Out_ double *)
 
HRESULT WINAPI VarR8FromI2 (SHORT, _Out_ double *)
 
HRESULT WINAPI VarR8FromI4 (LONG, _Out_ double *)
 
HRESULT WINAPI VarR8FromI8 (LONG64, _Out_ double *)
 
HRESULT WINAPI VarR8FromR4 (FLOAT, _Out_ double *)
 
HRESULT WINAPI VarR8FromDate (DATE, _Out_ double *)
 
HRESULT WINAPI VarR8FromBool (VARIANT_BOOL, _Out_ double *)
 
HRESULT WINAPI VarR8FromI1 (signed char, double *)
 
HRESULT WINAPI VarR8FromUI2 (USHORT, _Out_ double *)
 
HRESULT WINAPI VarR8FromUI4 (ULONG, _Out_ double *)
 
HRESULT WINAPI VarR8FromUI8 (ULONG64, _Out_ double *)
 
HRESULT WINAPI VarR8FromStr (_In_ OLECHAR *, LCID, ULONG, _Out_ double *)
 
HRESULT WINAPI VarR8FromCy (CY, double *)
 
HRESULT WINAPI VarR8FromDec (_In_ const DECIMAL *, _Out_ double *)
 
HRESULT WINAPI VarR8FromDisp (IDispatch *, LCID, _Out_ double *)
 
HRESULT WINAPI VarDateFromUI1 (BYTE, _Out_ DATE *)
 
HRESULT WINAPI VarDateFromI2 (SHORT, _Out_ DATE *)
 
HRESULT WINAPI VarDateFromI4 (LONG, _Out_ DATE *)
 
HRESULT WINAPI VarDateFromI8 (LONG64, _Out_ DATE *)
 
HRESULT WINAPI VarDateFromR4 (FLOAT, _Out_ DATE *)
 
HRESULT WINAPI VarDateFromR8 (DOUBLE, _Out_ DATE *)
 
HRESULT WINAPI VarDateFromStr (_In_ OLECHAR *, _In_ LCID, _In_ ULONG, _Out_ DATE *)
 
HRESULT WINAPI VarDateFromI1 (signed char, _Out_ DATE *)
 
HRESULT WINAPI VarDateFromUI2 (USHORT, _Out_ DATE *)
 
HRESULT WINAPI VarDateFromUI4 (ULONG, _Out_ DATE *)
 
HRESULT WINAPI VarDateFromUI8 (ULONG64, _Out_ DATE *)
 
HRESULT WINAPI VarDateFromBool (VARIANT_BOOL, _Out_ DATE *)
 
HRESULT WINAPI VarDateFromCy (CY, _Out_ DATE *)
 
HRESULT WINAPI VarDateFromDec (_In_ DECIMAL *, _Out_ DATE *)
 
HRESULT WINAPI VarDateFromDisp (IDispatch *, LCID, _Out_ DATE *)
 
HRESULT WINAPI VarCyFromUI1 (BYTE, _Out_ CY *)
 
HRESULT WINAPI VarCyFromI2 (SHORT sIn, _Out_ CY *)
 
HRESULT WINAPI VarCyFromI4 (LONG, _Out_ CY *)
 
HRESULT WINAPI VarCyFromI8 (LONG64, _Out_ CY *)
 
HRESULT WINAPI VarCyFromR4 (FLOAT, _Out_ CY *)
 
HRESULT WINAPI VarCyFromR8 (DOUBLE, _Out_ CY *)
 
HRESULT WINAPI VarCyFromDate (DATE, _Out_ CY *)
 
HRESULT WINAPI VarCyFromStr (_In_ OLECHAR *, _In_ LCID, _In_ ULONG, _Out_ CY *)
 
HRESULT WINAPI VarCyFromBool (VARIANT_BOOL, _Out_ CY *)
 
HRESULT WINAPI VarCyFromI1 (signed char, _Out_ CY *)
 
HRESULT WINAPI VarCyFromUI2 (USHORT, _Out_ CY *)
 
HRESULT WINAPI VarCyFromUI4 (ULONG, _Out_ CY *)
 
HRESULT WINAPI VarCyFromUI8 (ULONG64, _Out_ CY *)
 
HRESULT WINAPI VarCyFromDec (_In_ DECIMAL *, _Out_ CY *)
 
HRESULT WINAPI VarCyFromDisp (_In_ IDispatch *, LCID, _Out_ CY *)
 
HRESULT WINAPI VarBstrFromUI1 (BYTE, LCID, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarBstrFromI2 (SHORT, LCID, ULONG, BSTR *)
 
HRESULT WINAPI VarBstrFromI4 (LONG, LCID, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarBstrFromI8 (LONG64, LCID, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarBstrFromR4 (FLOAT, LCID, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarBstrFromR8 (DOUBLE, LCID, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarBstrFromDate (_In_ DATE, _In_ LCID, _In_ ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarBstrFromBool (VARIANT_BOOL, LCID, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarBstrFromI1 (signed char, LCID, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarBstrFromUI2 (USHORT, LCID, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarBstrFromUI8 (ULONG64, LCID, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarBstrFromUI4 (ULONG, LCID, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarBstrFromCy (CY, LCID, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarBstrFromDec (_In_ DECIMAL *, _In_ LCID, _In_ ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarBstrFromDisp (IDispatch *, LCID, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarBoolFromUI1 (BYTE, _Out_ VARIANT_BOOL *)
 
_Check_return_ HRESULT WINAPI VarBoolFromI2 (_In_ SHORT, _Out_ VARIANT_BOOL *)
 
HRESULT WINAPI VarBoolFromI4 (LONG, _Out_ VARIANT_BOOL *)
 
HRESULT WINAPI VarBoolFromI8 (LONG64, _Out_ VARIANT_BOOL *)
 
HRESULT WINAPI VarBoolFromR4 (FLOAT, _Out_ VARIANT_BOOL *)
 
HRESULT WINAPI VarBoolFromR8 (DOUBLE, _Out_ VARIANT_BOOL *)
 
HRESULT WINAPI VarBoolFromDate (DATE, _Out_ VARIANT_BOOL *)
 
HRESULT WINAPI VarBoolFromStr (_In_ OLECHAR *, LCID, ULONG, _Out_ VARIANT_BOOL *)
 
HRESULT WINAPI VarBoolFromI1 (signed char, _Out_ VARIANT_BOOL *)
 
HRESULT WINAPI VarBoolFromUI2 (USHORT, _Out_ VARIANT_BOOL *)
 
HRESULT WINAPI VarBoolFromUI4 (ULONG, _Out_ VARIANT_BOOL *)
 
HRESULT WINAPI VarBoolFromUI8 (ULONG64, _Out_ VARIANT_BOOL *)
 
HRESULT WINAPI VarBoolFromCy (CY, _Out_ VARIANT_BOOL *)
 
HRESULT WINAPI VarBoolFromDec (_In_ DECIMAL *, _Out_ VARIANT_BOOL *)
 
HRESULT WINAPI VarBoolFromDisp (IDispatch *, LCID, _Out_ VARIANT_BOOL *)
 
HRESULT WINAPI VarI1FromUI1 (_In_ BYTE, _Out_ signed char *)
 
HRESULT WINAPI VarI1FromI2 (_In_ SHORT, _Out_ signed char *)
 
HRESULT WINAPI VarI1FromI4 (_In_ LONG, _Out_ signed char *)
 
HRESULT WINAPI VarI1FromI8 (_In_ LONG64, _Out_ signed char *)
 
HRESULT WINAPI VarI1FromR4 (_In_ FLOAT, _Out_ signed char *)
 
HRESULT WINAPI VarI1FromR8 (_In_ DOUBLE, _Out_ signed char *)
 
HRESULT WINAPI VarI1FromDate (_In_ DATE, _Out_ signed char *)
 
HRESULT WINAPI VarI1FromStr (_In_ OLECHAR *, _In_ LCID, _In_ ULONG, _Out_ signed char *)
 
HRESULT WINAPI VarI1FromBool (_In_ VARIANT_BOOL, _Out_ signed char *)
 
HRESULT WINAPI VarI1FromUI2 (_In_ USHORT, _Out_ signed char *)
 
HRESULT WINAPI VarI1FromUI4 (_In_ ULONG, _Out_ signed char *)
 
HRESULT WINAPI VarI1FromUI8 (_In_ ULONG64, _Out_ signed char *)
 
HRESULT WINAPI VarI1FromCy (_In_ CY, _Out_ signed char *)
 
HRESULT WINAPI VarI1FromDec (_In_ DECIMAL *, _Out_ signed char *)
 
HRESULT WINAPI VarI1FromDisp (_In_ IDispatch *, _In_ LCID, _Out_ signed char *)
 
HRESULT WINAPI VarUI2FromUI1 (BYTE, _Out_ USHORT *)
 
HRESULT WINAPI VarUI2FromI2 (SHORT, _Out_ USHORT *)
 
HRESULT WINAPI VarUI2FromI4 (LONG, _Out_ USHORT *)
 
HRESULT WINAPI VarUI2FromI8 (LONG64, _Out_ USHORT *)
 
HRESULT WINAPI VarUI2FromR4 (FLOAT, _Out_ USHORT *)
 
HRESULT WINAPI VarUI2FromR8 (DOUBLE, USHORT *)
 
HRESULT WINAPI VarUI2FromDate (DATE, _Out_ USHORT *)
 
HRESULT WINAPI VarUI2FromStr (_In_ OLECHAR *, _In_ LCID, _In_ ULONG, _Out_ USHORT *)
 
HRESULT WINAPI VarUI2FromBool (VARIANT_BOOL, _Out_ USHORT *)
 
HRESULT WINAPI VarUI2FromI1 (signed char, _Out_ USHORT *)
 
HRESULT WINAPI VarUI2FromUI4 (ULONG, _Out_ USHORT *)
 
HRESULT WINAPI VarUI2FromUI8 (ULONG64, _Out_ USHORT *)
 
HRESULT WINAPI VarUI2FromCy (CY, _Out_ USHORT *)
 
HRESULT WINAPI VarUI2FromDec (_In_ DECIMAL *, _Out_ USHORT *)
 
HRESULT WINAPI VarUI2FromDisp (_In_ IDispatch *, LCID, _Out_ USHORT *)
 
HRESULT WINAPI VarUI4FromStr (_In_ OLECHAR *, _In_ LCID, _In_ ULONG, _Out_ ULONG *)
 
HRESULT WINAPI VarUI4FromUI1 (BYTE, _Out_ ULONG *)
 
HRESULT WINAPI VarUI4FromI2 (_In_ SHORT, _Out_ ULONG *)
 
HRESULT WINAPI VarUI4FromI4 (LONG, _Out_ ULONG *)
 
HRESULT WINAPI VarUI4FromI8 (LONG64, _Out_ ULONG *)
 
HRESULT WINAPI VarUI4FromR4 (FLOAT, _Out_ ULONG *)
 
HRESULT WINAPI VarUI4FromR8 (DOUBLE, _Out_ ULONG *)
 
HRESULT WINAPI VarUI4FromDate (DATE, _Out_ ULONG *)
 
HRESULT WINAPI VarUI4FromBool (VARIANT_BOOL, _Out_ ULONG *)
 
HRESULT WINAPI VarUI4FromI1 (signed char, _Out_ ULONG *)
 
HRESULT WINAPI VarUI4FromUI2 (USHORT, _Out_ ULONG *)
 
HRESULT WINAPI VarUI4FromUI8 (ULONG64, _Out_ ULONG *)
 
HRESULT WINAPI VarUI4FromCy (CY, _Out_ ULONG *)
 
HRESULT WINAPI VarUI4FromDec (_In_ DECIMAL *, _Out_ ULONG *)
 
HRESULT WINAPI VarUI4FromDisp (_In_ IDispatch *, LCID, _Out_ ULONG *)
 
HRESULT WINAPI VarUI8FromUI1 (BYTE, _Out_ ULONG64 *)
 
HRESULT WINAPI VarUI8FromI2 (SHORT, _Out_ ULONG64 *)
 
HRESULT WINAPI VarUI8FromI4 (LONG, _Out_ ULONG64 *)
 
HRESULT WINAPI VarUI8FromI8 (LONG64, _Out_ ULONG64 *)
 
HRESULT WINAPI VarUI8FromR4 (FLOAT, _Out_ ULONG64 *)
 
HRESULT WINAPI VarUI8FromR8 (DOUBLE, _Out_ ULONG64 *)
 
HRESULT WINAPI VarUI8FromDate (DATE, _Out_ ULONG64 *)
 
HRESULT WINAPI VarUI8FromStr (_In_ OLECHAR *, _In_ LCID, _In_ ULONG, _Out_ ULONG64 *)
 
HRESULT WINAPI VarUI8FromBool (VARIANT_BOOL, _Out_ ULONG64 *)
 
HRESULT WINAPI VarUI8FromI1 (signed char, _Out_ ULONG64 *)
 
HRESULT WINAPI VarUI8FromUI2 (USHORT, _Out_ ULONG64 *)
 
HRESULT WINAPI VarUI8FromUI4 (ULONG, _Out_ ULONG64 *)
 
HRESULT WINAPI VarUI8FromDec (_In_ DECIMAL *, _Out_ ULONG64 *)
 
HRESULT WINAPI VarUI8FromInt (INT, ULONG64 *)
 
HRESULT WINAPI VarUI8FromCy (CY, _Out_ ULONG64 *)
 
HRESULT WINAPI VarUI8FromDisp (_In_ IDispatch *, LCID, _Out_ ULONG64 *)
 
HRESULT WINAPI VarDecFromUI1 (_In_ BYTE, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecFromI2 (_In_ SHORT, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecFromI4 (_In_ LONG, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecFromI8 (LONG64, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecFromR4 (_In_ FLOAT, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecFromR8 (_In_ DOUBLE, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecFromDate (_In_ DATE, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecFromStr (_In_ OLECHAR *, _In_ LCID, _In_ ULONG, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecFromBool (_In_ VARIANT_BOOL, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecFromI1 (_In_ signed char, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecFromUI2 (_In_ USHORT, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecFromUI4 (_In_ ULONG, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecFromUI8 (ULONG64, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecFromCy (_In_ CY, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecFromDisp (_In_ IDispatch *, _In_ LCID, _Out_ DECIMAL *)
 
HRESULT WINAPI VarR4CmpR8 (_In_ float, _In_ double)
 
HRESULT WINAPI VarR8Pow (_In_ double, _In_ double, _Out_ double *)
 
HRESULT WINAPI VarR8Round (_In_ double, _In_ int, _Out_ double *)
 
HRESULT WINAPI VarDecAbs (_In_ const DECIMAL *, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecAdd (_In_ const DECIMAL *, _In_ const DECIMAL *, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecCmp (_In_ const DECIMAL *, _In_ const DECIMAL *)
 
HRESULT WINAPI VarDecCmpR8 (_In_ const DECIMAL *, _In_ DOUBLE)
 
HRESULT WINAPI VarDecDiv (_In_ const DECIMAL *, _In_ const DECIMAL *, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecFix (_In_ const DECIMAL *, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecInt (_In_ const DECIMAL *, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecMul (_In_ const DECIMAL *, _In_ const DECIMAL *, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecNeg (_In_ const DECIMAL *, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecRound (_In_ const DECIMAL *, int, _Out_ DECIMAL *)
 
HRESULT WINAPI VarDecSub (_In_ const DECIMAL *, _In_ const DECIMAL *, _Out_ DECIMAL *)
 
HRESULT WINAPI VarCyAbs (_In_ CY, _Out_ CY *)
 
HRESULT WINAPI VarCyAdd (_In_ CY, _In_ CY, _Out_ CY *)
 
HRESULT WINAPI VarCyCmp (_In_ CY, _In_ CY)
 
HRESULT WINAPI VarCyCmpR8 (_In_ CY, _In_ DOUBLE)
 
HRESULT WINAPI VarCyFix (_In_ CY, _Out_ CY *)
 
HRESULT WINAPI VarCyInt (_In_ CY, _Out_ CY *)
 
HRESULT WINAPI VarCyMul (_In_ CY, _In_ CY, _Out_ CY *)
 
HRESULT WINAPI VarCyMulI4 (_In_ CY, _In_ LONG, _Out_ CY *)
 
HRESULT WINAPI VarCyMulI8 (_In_ CY, _In_ LONG64, _Out_ CY *)
 
HRESULT WINAPI VarCyNeg (_In_ CY, _Out_ CY *)
 
HRESULT WINAPI VarCyRound (_In_ CY, _In_ INT, _Out_ CY *)
 
HRESULT WINAPI VarCySub (_In_ CY, _In_ CY, _Out_ CY *)
 
HRESULT WINAPI VarAdd (_In_ LPVARIANT, _In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarAnd (_In_ LPVARIANT, _In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarCat (_In_ LPVARIANT, _In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarDiv (_In_ LPVARIANT, _In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarEqv (_In_ LPVARIANT, _In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarIdiv (_In_ LPVARIANT, _In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarImp (_In_ LPVARIANT, _In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarMod (_In_ LPVARIANT, _In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarMul (_In_ LPVARIANT, _In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarOr (_In_ LPVARIANT, _In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarPow (_In_ LPVARIANT, _In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarSub (_In_ LPVARIANT, _In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarXor (_In_ LPVARIANT, _In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarAbs (_In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarFix (_In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarInt (_In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarNeg (_In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarNot (_In_ LPVARIANT, _Out_ LPVARIANT)
 
HRESULT WINAPI VarRound (_In_ LPVARIANT, _In_ int, _Out_ LPVARIANT)
 
HRESULT WINAPI VarCmp (_In_ LPVARIANT, _In_ LPVARIANT, _In_ LCID, _In_ ULONG)
 
HRESULT WINAPI VarBstrCmp (_In_ BSTR, _In_ BSTR, _In_ LCID, _In_ ULONG)
 
HRESULT WINAPI VarBstrCat (_In_ BSTR, _In_ BSTR, _Out_ BSTR *)
 
_Check_return_ HRESULT WINAPI VarParseNumFromStr (_In_ OLECHAR *, _In_ LCID, _In_ ULONG, _Out_ NUMPARSE *, _Out_ BYTE *)
 
_Check_return_ HRESULT WINAPI VarNumFromParseNum (_In_ NUMPARSE *, _In_ BYTE *, _In_ ULONG, _Out_ VARIANT *)
 
INT WINAPI DosDateTimeToVariantTime (_In_ USHORT, _In_ USHORT, _Out_ double *)
 
INT WINAPI VariantTimeToDosDateTime (_In_ double, _Out_ USHORT *, _Out_ USHORT *)
 
INT WINAPI VariantTimeToSystemTime (_In_ DOUBLE, _Out_ LPSYSTEMTIME)
 
INT WINAPI SystemTimeToVariantTime (_In_ LPSYSTEMTIME, _Out_ double *)
 
_Check_return_ HRESULT WINAPI VarDateFromUdate (_In_ UDATE *, _In_ ULONG, _Out_ DATE *)
 
HRESULT WINAPI VarDateFromUdateEx (_In_ UDATE *, _In_ LCID, _In_ ULONG, _Out_ DATE *)
 
_Check_return_ HRESULT WINAPI VarUdateFromDate (_In_ DATE, _In_ ULONG, _Out_ UDATE *)
 
HRESULT WINAPI VarWeekdayName (int, int, int, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarMonthName (int, int, ULONG, _Out_ BSTR *)
 
_Check_return_ HRESULT WINAPI GetAltMonthNames (LCID, _Outptr_result_buffer_maybenull_(13) LPOLESTR **)
 
HRESULT WINAPI VarFormat (_In_ LPVARIANT, _In_opt_ LPOLESTR, int, int, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarFormatCurrency (_In_ LPVARIANT, int, int, int, int, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarFormatDateTime (_In_ LPVARIANT, int, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarFormatNumber (_In_ LPVARIANT, int, int, int, int, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarFormatPercent (_In_ LPVARIANT, int, int, int, int, ULONG, _Out_ BSTR *)
 
HRESULT WINAPI VarFormatFromTokens (_In_ LPVARIANT, _In_opt_ LPOLESTR, LPBYTE, ULONG, _Out_ BSTR *, LCID)
 
HRESULT WINAPI VarTokenizeFormatString (_In_opt_ LPOLESTR, _Inout_ LPBYTE, int, int, int, LCID, _In_opt_ int *)
 
_Check_return_ HRESULT WINAPI DispGetParam (_In_ DISPPARAMS *, UINT, VARTYPE, _Out_ VARIANT *, _Out_opt_ UINT *)
 
_Check_return_ HRESULT WINAPI DispGetIDsOfNames (ITypeInfo *, _In_reads_(cNames) OLECHAR **, UINT cNames, _Out_writes_(cNames) DISPID *)
 
_Check_return_ HRESULT WINAPI DispInvoke (void *, ITypeInfo *, DISPID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *)
 
_Check_return_ HRESULT WINAPI CreateDispTypeInfo (INTERFACEDATA *, LCID, ITypeInfo **)
 
_Check_return_ HRESULT WINAPI CreateStdDispatch (IUnknown *, void *, ITypeInfo *, IUnknown **)
 
HRESULT WINAPI DispCallFunc (void *, ULONG_PTR, CALLCONV, VARTYPE, UINT, VARTYPE *, VARIANTARG **, VARIANT *)
 
ULONG WINAPI LHashValOfNameSysA (SYSKIND, LCID, LPCSTR)
 
ULONG WINAPI LHashValOfNameSys (SYSKIND, LCID, LPCOLESTR)
 
_Check_return_ HRESULT WINAPI CreateTypeLib (SYSKIND, const OLECHAR *, ICreateTypeLib **)
 
_Check_return_ HRESULT WINAPI CreateTypeLib2 (SYSKIND, LPCOLESTR, ICreateTypeLib2 **)
 
_Check_return_ HRESULT WINAPI LoadRegTypeLib (REFGUID, WORD, WORD, LCID, ITypeLib **)
 
HRESULT WINAPI LoadTypeLib (_In_z_ const OLECHAR *, ITypeLib **)
 
_Check_return_ HRESULT WINAPI LoadTypeLibEx (LPCOLESTR, REGKIND, ITypeLib **)
 
HRESULT WINAPI QueryPathOfRegTypeLib (REFGUID, WORD, WORD, LCID, LPBSTR)
 
_Check_return_ HRESULT WINAPI RegisterTypeLib (ITypeLib *, _In_ LPCOLESTR, _In_opt_ LPCOLESTR)
 
_Check_return_ HRESULT WINAPI UnRegisterTypeLib (REFGUID, WORD, WORD, LCID, SYSKIND)
 
HRESULT WINAPI RegisterTypeLibForUser (ITypeLib *, _In_ OLECHAR *, _In_opt_ OLECHAR *)
 
HRESULT WINAPI UnRegisterTypeLibForUser (REFGUID, WORD, WORD, LCID, SYSKIND)
 
VOID WINAPI ClearCustData (LPCUSTDATA)
 

Variables

UINT ui
 

Macro Definition Documentation

◆ ACTIVEOBJECT_STRONG

#define ACTIVEOBJECT_STRONG   0

Definition at line 181 of file oleauto.h.

◆ ACTIVEOBJECT_WEAK

#define ACTIVEOBJECT_WEAK   1

Definition at line 182 of file oleauto.h.

◆ DISPATCH_METHOD

#define DISPATCH_METHOD   0x1

Definition at line 1006 of file oleauto.h.

◆ DISPATCH_PROPERTYGET

#define DISPATCH_PROPERTYGET   0x2

Definition at line 1007 of file oleauto.h.

◆ DISPATCH_PROPERTYPUT

#define DISPATCH_PROPERTYPUT   0x4

Definition at line 1008 of file oleauto.h.

◆ DISPATCH_PROPERTYPUTREF

#define DISPATCH_PROPERTYPUTREF   0x8

Definition at line 1009 of file oleauto.h.

◆ ID_DEFAULTINST

#define ID_DEFAULTINST   -2

Definition at line 1004 of file oleauto.h.

◆ IsHashValCompatible

#define IsHashValCompatible (   hash1,
  hash2 
)    ((hash1) & 0xff0000 == (hash2) & 0xff0000)

Definition at line 1001 of file oleauto.h.

◆ LHashValOfName

#define LHashValOfName (   lcid,
  name 
)    LHashValOfNameSys(SYS_WIN32,lcid,name)

Definition at line 999 of file oleauto.h.

◆ LOAD_TLB_AS_32BIT

#define LOAD_TLB_AS_32BIT   0x20

Definition at line 1011 of file oleauto.h.

◆ LOAD_TLB_AS_64BIT

#define LOAD_TLB_AS_64BIT   0x40

Definition at line 1012 of file oleauto.h.

◆ LOCALE_USE_NLS

#define LOCALE_USE_NLS   0x10000000

Definition at line 338 of file oleauto.h.

◆ MASK_TO_RESET_TLB_BITS

#define MASK_TO_RESET_TLB_BITS   ~(LOAD_TLB_AS_32BIT|LOAD_TLB_AS_64BIT)

Definition at line 1013 of file oleauto.h.

◆ MEMBERID_NIL

#define MEMBERID_NIL   DISPID_UNKNOWN

Definition at line 1003 of file oleauto.h.

◆ NUMPRS_CURRENCY

#define NUMPRS_CURRENCY   0x00400 /* Currency symbol */

Definition at line 745 of file oleauto.h.

◆ NUMPRS_DECIMAL

#define NUMPRS_DECIMAL   0x00100 /* Decimal separator */

Definition at line 743 of file oleauto.h.

◆ NUMPRS_EXPONENT

#define NUMPRS_EXPONENT   0x00800 /* Exponent (e.g. "e-14") */

Definition at line 746 of file oleauto.h.

◆ NUMPRS_HEX_OCT

#define NUMPRS_HEX_OCT   0x00040 /* Octal number (with a leading 0) */

Definition at line 741 of file oleauto.h.

◆ NUMPRS_INEXACT

#define NUMPRS_INEXACT   0x20000 /* Number is represented inexactly (dwOutFlags only) */

Definition at line 750 of file oleauto.h.

◆ NUMPRS_LEADING_MINUS

#define NUMPRS_LEADING_MINUS   0x00010 /* Leading '-' sign */

Definition at line 739 of file oleauto.h.

◆ NUMPRS_LEADING_PLUS

#define NUMPRS_LEADING_PLUS   0x00004 /* Leading '+' sign */

Definition at line 737 of file oleauto.h.

◆ NUMPRS_LEADING_WHITE

#define NUMPRS_LEADING_WHITE   0x00001 /* Leading whitespace */

Definition at line 735 of file oleauto.h.

◆ NUMPRS_NEG

#define NUMPRS_NEG   0x10000 /* Number is negative (dwOutFlags only) */

Definition at line 749 of file oleauto.h.

◆ NUMPRS_PARENS

#define NUMPRS_PARENS   0x00080 /* Parentheses for negative numbers */

Definition at line 742 of file oleauto.h.

◆ NUMPRS_STD

#define NUMPRS_STD   0x01FFF /* Standard flags for internal coercions (All of the above) */

Definition at line 748 of file oleauto.h.

◆ NUMPRS_THOUSANDS

#define NUMPRS_THOUSANDS   0x00200 /* Thousands separator */

Definition at line 744 of file oleauto.h.

◆ NUMPRS_TRAILING_MINUS

#define NUMPRS_TRAILING_MINUS   0x00020 /* Trailing '-' sign */

Definition at line 740 of file oleauto.h.

◆ NUMPRS_TRAILING_PLUS

#define NUMPRS_TRAILING_PLUS   0x00008 /* Trailing '+' sign */

Definition at line 738 of file oleauto.h.

◆ NUMPRS_TRAILING_WHITE

#define NUMPRS_TRAILING_WHITE   0x00002 /* Trailing whitespace */

Definition at line 736 of file oleauto.h.

◆ NUMPRS_USE_ALL

#define NUMPRS_USE_ALL   0x01000 /* Parse the entire string */

Definition at line 747 of file oleauto.h.

◆ STDOLE2_LCID

#define STDOLE2_LCID   0

Definition at line 36 of file oleauto.h.

◆ STDOLE2_MAJORVERNUM

#define STDOLE2_MAJORVERNUM   2

Definition at line 34 of file oleauto.h.

◆ STDOLE2_MINORVERNUM

#define STDOLE2_MINORVERNUM   0

Definition at line 35 of file oleauto.h.

◆ STDOLE_LCID

#define STDOLE_LCID   0

Definition at line 32 of file oleauto.h.

◆ STDOLE_MAJORVERNUM

#define STDOLE_MAJORVERNUM   1

Definition at line 30 of file oleauto.h.

◆ STDOLE_MINORVERNUM

#define STDOLE_MINORVERNUM   0

Definition at line 31 of file oleauto.h.

◆ V_ARRAY

#define V_ARRAY (   A)    V_UNION(A,parray)

Definition at line 222 of file oleauto.h.

◆ V_ARRAYREF

#define V_ARRAYREF (   A)    V_UNION(A,pparray)

Definition at line 223 of file oleauto.h.

◆ V_BOOL

#define V_BOOL (   A)    V_UNION(A,boolVal)

Definition at line 224 of file oleauto.h.

◆ V_BOOLREF

#define V_BOOLREF (   A)    V_UNION(A,pboolVal)

Definition at line 225 of file oleauto.h.

◆ V_BSTR

#define V_BSTR (   A)    V_UNION(A,bstrVal)

Definition at line 226 of file oleauto.h.

◆ V_BSTRREF

#define V_BSTRREF (   A)    V_UNION(A,pbstrVal)

Definition at line 227 of file oleauto.h.

◆ V_BYREF

#define V_BYREF (   A)    V_UNION(A,byref)

Definition at line 228 of file oleauto.h.

◆ V_CY

#define V_CY (   A)    V_UNION(A,cyVal)

Definition at line 229 of file oleauto.h.

◆ V_CYREF

#define V_CYREF (   A)    V_UNION(A,pcyVal)

Definition at line 230 of file oleauto.h.

◆ V_DATE

#define V_DATE (   A)    V_UNION(A,date)

Definition at line 231 of file oleauto.h.

◆ V_DATEREF

#define V_DATEREF (   A)    V_UNION(A,pdate)

Definition at line 232 of file oleauto.h.

◆ V_DECIMAL

#define V_DECIMAL (   A)    ((A)->decVal)

Definition at line 236 of file oleauto.h.

◆ V_DECIMALREF

#define V_DECIMALREF (   A)    V_UNION(A,pdecVal)

Definition at line 238 of file oleauto.h.

◆ V_DISPATCH

#define V_DISPATCH (   A)    V_UNION(A,pdispVal)

Definition at line 239 of file oleauto.h.

◆ V_DISPATCHREF

#define V_DISPATCHREF (   A)    V_UNION(A,ppdispVal)

Definition at line 240 of file oleauto.h.

◆ V_ERROR

#define V_ERROR (   A)    V_UNION(A,scode)

Definition at line 241 of file oleauto.h.

◆ V_ERRORREF

#define V_ERRORREF (   A)    V_UNION(A,pscode)

Definition at line 242 of file oleauto.h.

◆ V_I1

#define V_I1 (   A)    V_UNION(A,cVal)

Definition at line 243 of file oleauto.h.

◆ V_I1REF

#define V_I1REF (   A)    V_UNION(A,pcVal)

Definition at line 244 of file oleauto.h.

◆ V_I2

#define V_I2 (   A)    V_UNION(A,iVal)

Definition at line 245 of file oleauto.h.

◆ V_I2REF

#define V_I2REF (   A)    V_UNION(A,piVal)

Definition at line 246 of file oleauto.h.

◆ V_I4

#define V_I4 (   A)    V_UNION(A,lVal)

Definition at line 247 of file oleauto.h.

◆ V_I4REF

#define V_I4REF (   A)    V_UNION(A,plVal)

Definition at line 248 of file oleauto.h.

◆ V_I8

#define V_I8 (   A)    V_UNION(A,llVal)

Definition at line 249 of file oleauto.h.

◆ V_I8REF

#define V_I8REF (   A)    V_UNION(A,pllVal)

Definition at line 250 of file oleauto.h.

◆ V_INT

#define V_INT (   A)    V_UNION(A,intVal)

Definition at line 251 of file oleauto.h.

◆ V_INT_PTR

#define V_INT_PTR (   A)    V_I4(A)

Definition at line 257 of file oleauto.h.

◆ V_INT_PTRREF

#define V_INT_PTRREF (   A)    V_I4REF(A)

Definition at line 258 of file oleauto.h.

◆ V_INTREF

#define V_INTREF (   A)    V_UNION(A,pintVal)

Definition at line 252 of file oleauto.h.

◆ V_ISARRAY

#define V_ISARRAY (   A)    (V_VT(A) & VT_ARRAY)

Definition at line 218 of file oleauto.h.

◆ V_ISBYREF

#define V_ISBYREF (   A)    (V_VT(A) & VT_BYREF)

Definition at line 217 of file oleauto.h.

◆ V_ISVECTOR

#define V_ISVECTOR (   A)    (V_VT(A) & VT_VECTOR)

Definition at line 219 of file oleauto.h.

◆ V_NONE

#define V_NONE (   A)    V_I2(A)

Definition at line 220 of file oleauto.h.

◆ V_R4

#define V_R4 (   A)    V_UNION(A,fltVal)

Definition at line 260 of file oleauto.h.

◆ V_R4REF

#define V_R4REF (   A)    V_UNION(A,pfltVal)

Definition at line 261 of file oleauto.h.

◆ V_R8

#define V_R8 (   A)    V_UNION(A,dblVal)

Definition at line 262 of file oleauto.h.

◆ V_R8REF

#define V_R8REF (   A)    V_UNION(A,pdblVal)

Definition at line 263 of file oleauto.h.

◆ V_RECORD

#define V_RECORD (   A)    ((A)->pvRecord)

Definition at line 213 of file oleauto.h.

◆ V_RECORDINFO

#define V_RECORDINFO (   A)    ((A)->pRecInfo)

Definition at line 214 of file oleauto.h.

◆ V_UI1

#define V_UI1 (   A)    V_UNION(A,bVal)

Definition at line 266 of file oleauto.h.

◆ V_UI1REF

#define V_UI1REF (   A)    V_UNION(A,pbVal)

Definition at line 267 of file oleauto.h.

◆ V_UI2

#define V_UI2 (   A)    V_UNION(A,uiVal)

Definition at line 268 of file oleauto.h.

◆ V_UI2REF

#define V_UI2REF (   A)    V_UNION(A,puiVal)

Definition at line 269 of file oleauto.h.

◆ V_UI4

#define V_UI4 (   A)    V_UNION(A,ulVal)

Definition at line 270 of file oleauto.h.

◆ V_UI4REF

#define V_UI4REF (   A)    V_UNION(A,pulVal)

Definition at line 271 of file oleauto.h.

◆ V_UI8

#define V_UI8 (   A)    V_UNION(A,ullVal)

Definition at line 272 of file oleauto.h.

◆ V_UI8REF

#define V_UI8REF (   A)    V_UNION(A,pullVal)

Definition at line 273 of file oleauto.h.

◆ V_UINT

#define V_UINT (   A)    V_UNION(A,uintVal)

Definition at line 264 of file oleauto.h.

◆ V_UINT_PTR

#define V_UINT_PTR (   A)    V_UI4(A)

Definition at line 278 of file oleauto.h.

◆ V_UINT_PTRREF

#define V_UINT_PTRREF (   A)    V_UI4REF(A)

Definition at line 279 of file oleauto.h.

◆ V_UINTREF

#define V_UINTREF (   A)    V_UNION(A,puintVal)

Definition at line 265 of file oleauto.h.

◆ V_UNION

#define V_UNION (   A,
  B 
)    ((A)->B)

Definition at line 212 of file oleauto.h.

◆ V_UNKNOWN

#define V_UNKNOWN (   A)    V_UNION(A,punkVal)

Definition at line 281 of file oleauto.h.

◆ V_UNKNOWNREF

#define V_UNKNOWNREF (   A)    V_UNION(A,ppunkVal)

Definition at line 282 of file oleauto.h.

◆ V_VARIANTREF

#define V_VARIANTREF (   A)    V_UNION(A,pvarVal)

Definition at line 283 of file oleauto.h.

◆ V_VT

#define V_VT (   A)    ((A)->vt)

Definition at line 211 of file oleauto.h.

◆ VAR_CALENDAR_GREGORIAN

#define VAR_CALENDAR_GREGORIAN   0x100 /* Use the Gregorian calendar */

Definition at line 334 of file oleauto.h.

◆ VAR_CALENDAR_HIJRI

#define VAR_CALENDAR_HIJRI   0x008 /* Use the Hijri calendar */

Definition at line 329 of file oleauto.h.

◆ VAR_CALENDAR_THAI

#define VAR_CALENDAR_THAI   0x080 /* Use the Thai buddhist calendar */

Definition at line 333 of file oleauto.h.

◆ VAR_DATEVALUEONLY

#define VAR_DATEVALUEONLY   0x002 /* Ignore time portion of VT_DATE */

Definition at line 327 of file oleauto.h.

◆ VAR_FORMAT_NOSUBSTITUTE

#define VAR_FORMAT_NOSUBSTITUTE   0x020 /* Don't change format strings for un-coercable types */

Definition at line 331 of file oleauto.h.

◆ VAR_FOURDIGITYEARS

#define VAR_FOURDIGITYEARS   0x040 /* Always print years with 4 digits */

Definition at line 332 of file oleauto.h.

◆ VAR_LOCALBOOL

#define VAR_LOCALBOOL   0x010 /* VT_BOOL<->VT_BSTR: Use localised boolean text */

Definition at line 330 of file oleauto.h.

◆ VAR_TIMEVALUEONLY

#define VAR_TIMEVALUEONLY   0x001 /* Ignore date portion of VT_DATE */

Definition at line 326 of file oleauto.h.

◆ VAR_VALIDDATE

#define VAR_VALIDDATE   0x004

Definition at line 328 of file oleauto.h.

◆ VarBoolFromInt

#define VarBoolFromInt   VarBoolFromI4

Definition at line 607 of file oleauto.h.

◆ VarBoolFromUint

#define VarBoolFromUint   VarBoolFromUI4

Definition at line 608 of file oleauto.h.

◆ VarBstrFromInt

#define VarBstrFromInt   VarBstrFromI4

Definition at line 605 of file oleauto.h.

◆ VarBstrFromUint

#define VarBstrFromUint   VarBstrFromUI4

Definition at line 606 of file oleauto.h.

◆ VARCMP_EQ

#define VARCMP_EQ   1

Definition at line 658 of file oleauto.h.

◆ VARCMP_GT

#define VARCMP_GT   2

Definition at line 659 of file oleauto.h.

◆ VARCMP_LT

#define VARCMP_LT   0

Definition at line 657 of file oleauto.h.

◆ VARCMP_NULL

#define VARCMP_NULL   3

Definition at line 660 of file oleauto.h.

◆ VarCyFromInt

#define VarCyFromInt   VarCyFromI4

Definition at line 603 of file oleauto.h.

◆ VarCyFromUint

#define VarCyFromUint   VarCyFromUI4

Definition at line 604 of file oleauto.h.

◆ VarDateFromInt

#define VarDateFromInt   VarDateFromI4

Definition at line 601 of file oleauto.h.

◆ VarDateFromUint

#define VarDateFromUint   VarDateFromUI4

Definition at line 602 of file oleauto.h.

◆ VarDecFromInt

#define VarDecFromInt   VarDecFromI4

Definition at line 617 of file oleauto.h.

◆ VarDecFromUint

#define VarDecFromUint   VarDecFromUI4

Definition at line 618 of file oleauto.h.

◆ VarI1FromInt

#define VarI1FromInt   VarI1FromI4

Definition at line 609 of file oleauto.h.

◆ VarI1FromUint

#define VarI1FromUint   VarI1FromUI4

Definition at line 610 of file oleauto.h.

◆ VarI2FromInt

#define VarI2FromInt   VarI2FromI4

Definition at line 591 of file oleauto.h.

◆ VarI2FromUint

#define VarI2FromUint   VarI2FromUI4

Definition at line 592 of file oleauto.h.

◆ VarI4FromI4

#define VarI4FromI4 (   in,
  pOut 
)    ( *(pOut) = (in) )

Definition at line 587 of file oleauto.h.

◆ VarI4FromInt

#define VarI4FromInt   VarI4FromI4

Definition at line 593 of file oleauto.h.

◆ VarI4FromUint

#define VarI4FromUint   VarI4FromUI4

Definition at line 594 of file oleauto.h.

◆ VarI8FromInt

#define VarI8FromInt   VarI8FromI4

Definition at line 595 of file oleauto.h.

◆ VarI8FromUint

#define VarI8FromUint   VarI8FromUI4

Definition at line 596 of file oleauto.h.

◆ VARIANT_ALPHABOOL

#define VARIANT_ALPHABOOL   0x02 /* Coerce to "True"|"False" instead of "-1"|"0" */

Definition at line 311 of file oleauto.h.

◆ VARIANT_CALENDAR_GREGORIAN

#define VARIANT_CALENDAR_GREGORIAN   0x40 /* Use the Gregorian calendar */

Definition at line 316 of file oleauto.h.

◆ VARIANT_CALENDAR_HIJRI

#define VARIANT_CALENDAR_HIJRI   0x08 /* Use the Hijri calendar */

Definition at line 313 of file oleauto.h.

◆ VARIANT_CALENDAR_THAI

#define VARIANT_CALENDAR_THAI   0x20 /* Use the Thai buddhist calendar */

Definition at line 315 of file oleauto.h.

◆ VARIANT_LOCALBOOL

#define VARIANT_LOCALBOOL   0x10 /* Like VARIANT_ALPHABOOL, but use localised text */

Definition at line 314 of file oleauto.h.

◆ VARIANT_NOUSEROVERRIDE

#define VARIANT_NOUSEROVERRIDE   0x04 /* Pass LOCALE_NOUSEROVERRIDE to low level conversions */

Definition at line 312 of file oleauto.h.

◆ VARIANT_NOVALUEPROP

#define VARIANT_NOVALUEPROP   0x01 /* Don't get the default value property from IDispatch */

Definition at line 310 of file oleauto.h.

◆ VARIANT_USE_NLS

#define VARIANT_USE_NLS   0x80 /* Format result using NLS calls */

Definition at line 317 of file oleauto.h.

◆ VarIntFromBool

#define VarIntFromBool   VarI4FromBool

Definition at line 629 of file oleauto.h.

◆ VarIntFromCy

#define VarIntFromCy   VarI4FromCy

Definition at line 626 of file oleauto.h.

◆ VarIntFromDate

#define VarIntFromDate   VarI4FromDate

Definition at line 625 of file oleauto.h.

◆ VarIntFromDec

#define VarIntFromDec   VarI4FromDec

Definition at line 634 of file oleauto.h.

◆ VarIntFromDisp

#define VarIntFromDisp   VarI4FromDisp

Definition at line 628 of file oleauto.h.

◆ VarIntFromI1

#define VarIntFromI1   VarI4FromI1

Definition at line 630 of file oleauto.h.

◆ VarIntFromI2

#define VarIntFromI2   VarI4FromI2

Definition at line 620 of file oleauto.h.

◆ VarIntFromI4

#define VarIntFromI4   VarI4FromI4

Definition at line 621 of file oleauto.h.

◆ VarIntFromI8

#define VarIntFromI8   VarI4FromI8

Definition at line 622 of file oleauto.h.

◆ VarIntFromR4

#define VarIntFromR4   VarI4FromR4

Definition at line 623 of file oleauto.h.

◆ VarIntFromR8

#define VarIntFromR8   VarI4FromR8

Definition at line 624 of file oleauto.h.

◆ VarIntFromStr

#define VarIntFromStr   VarI4FromStr

Definition at line 627 of file oleauto.h.

◆ VarIntFromUI1

#define VarIntFromUI1   VarI4FromUI1

Definition at line 619 of file oleauto.h.

◆ VarIntFromUI2

#define VarIntFromUI2   VarI4FromUI2

Definition at line 631 of file oleauto.h.

◆ VarIntFromUI4

#define VarIntFromUI4   VarI4FromUI4

Definition at line 632 of file oleauto.h.

◆ VarIntFromUI8

#define VarIntFromUI8   VarI4FromUI8

Definition at line 633 of file oleauto.h.

◆ VarIntFromUint

#define VarIntFromUint   VarI4FromUI4

Definition at line 635 of file oleauto.h.

◆ VarR4FromInt

#define VarR4FromInt   VarR4FromI4

Definition at line 597 of file oleauto.h.

◆ VarR4FromUint

#define VarR4FromUint   VarR4FromUI4

Definition at line 598 of file oleauto.h.

◆ VarR8FromInt

#define VarR8FromInt   VarR8FromI4

Definition at line 599 of file oleauto.h.

◆ VarR8FromUint

#define VarR8FromUint   VarR8FromUI4

Definition at line 600 of file oleauto.h.

◆ VarUI1FromInt

#define VarUI1FromInt   VarUI1FromI4

Definition at line 589 of file oleauto.h.

◆ VarUI1FromUint

#define VarUI1FromUint   VarUI1FromUI4

Definition at line 590 of file oleauto.h.

◆ VarUI2FromInt

#define VarUI2FromInt   VarUI2FromI4

Definition at line 611 of file oleauto.h.

◆ VarUI2FromUint

#define VarUI2FromUint   VarUI2FromUI4

Definition at line 612 of file oleauto.h.

◆ VarUI4FromInt

#define VarUI4FromInt   VarUI4FromI4

Definition at line 613 of file oleauto.h.

◆ VarUI4FromUI4

#define VarUI4FromUI4 (   in,
  pOut 
)    ( *(pOut) = (in) )

Definition at line 586 of file oleauto.h.

◆ VarUI4FromUint

#define VarUI4FromUint   VarUI4FromUI4

Definition at line 614 of file oleauto.h.

◆ VarUI8FromInt

#define VarUI8FromInt   VarUI8FromI4

Definition at line 615 of file oleauto.h.

◆ VarUI8FromUint

#define VarUI8FromUint   VarUI8FromUI4

Definition at line 616 of file oleauto.h.

◆ VarUintFromBool

#define VarUintFromBool   VarUI4FromBool

Definition at line 646 of file oleauto.h.

◆ VarUintFromCy

#define VarUintFromCy   VarUI4FromCy

Definition at line 643 of file oleauto.h.

◆ VarUintFromDate

#define VarUintFromDate   VarUI4FromDate

Definition at line 642 of file oleauto.h.

◆ VarUintFromDec

#define VarUintFromDec   VarUI4FromDec

Definition at line 651 of file oleauto.h.

◆ VarUintFromDisp

#define VarUintFromDisp   VarUI4FromDisp

Definition at line 645 of file oleauto.h.

◆ VarUintFromI1

#define VarUintFromI1   VarUI4FromI1

Definition at line 647 of file oleauto.h.

◆ VarUintFromI2

#define VarUintFromI2   VarUI4FromI2

Definition at line 637 of file oleauto.h.

◆ VarUintFromI4

#define VarUintFromI4   VarUI4FromI4

Definition at line 638 of file oleauto.h.

◆ VarUintFromI8

#define VarUintFromI8   VarUI4FromI8

Definition at line 639 of file oleauto.h.

◆ VarUintFromInt

#define VarUintFromInt   VarUI4FromI4

Definition at line 652 of file oleauto.h.

◆ VarUintFromR4

#define VarUintFromR4   VarUI4FromR4

Definition at line 640 of file oleauto.h.

◆ VarUintFromR8

#define VarUintFromR8   VarUI4FromR8

Definition at line 641 of file oleauto.h.

◆ VarUintFromStr

#define VarUintFromStr   VarUI4FromStr

Definition at line 644 of file oleauto.h.

◆ VarUintFromUI1

#define VarUintFromUI1   VarUI4FromUI1

Definition at line 636 of file oleauto.h.

◆ VarUintFromUI2

#define VarUintFromUI2   VarUI4FromUI2

Definition at line 648 of file oleauto.h.

◆ VarUintFromUI4

#define VarUintFromUI4   VarUI4FromUI4

Definition at line 649 of file oleauto.h.

◆ VarUintFromUI8

#define VarUintFromUI8   VarUI4FromUI8

Definition at line 650 of file oleauto.h.

◆ VT_HARDTYPE

#define VT_HARDTYPE   VT_RESERVED /* Don't coerce this variant when comparing it to others */

Definition at line 323 of file oleauto.h.

◆ VTBIT_CY

#define VTBIT_CY   (1 << VT_CY)

Definition at line 762 of file oleauto.h.

◆ VTBIT_DECIMAL

#define VTBIT_DECIMAL   (1 << VT_DECIMAL)

Definition at line 763 of file oleauto.h.

◆ VTBIT_I1

#define VTBIT_I1   (1 << VT_I1)

Definition at line 752 of file oleauto.h.

◆ VTBIT_I2

#define VTBIT_I2   (1 << VT_I2)

Definition at line 754 of file oleauto.h.

◆ VTBIT_I4

#define VTBIT_I4   (1 << VT_I4)

Definition at line 756 of file oleauto.h.

◆ VTBIT_I8

#define VTBIT_I8   (1 << VT_I8)

Definition at line 758 of file oleauto.h.

◆ VTBIT_R4

#define VTBIT_R4   (1 << VT_R4)

Definition at line 760 of file oleauto.h.

◆ VTBIT_R8

#define VTBIT_R8   (1 << VT_R8)

Definition at line 761 of file oleauto.h.

◆ VTBIT_UI1

#define VTBIT_UI1   (1 << VT_UI1)

Definition at line 753 of file oleauto.h.

◆ VTBIT_UI2

#define VTBIT_UI2   (1 << VT_UI2)

Definition at line 755 of file oleauto.h.

◆ VTBIT_UI4

#define VTBIT_UI4   (1 << VT_UI4)

Definition at line 757 of file oleauto.h.

◆ VTBIT_UI8

#define VTBIT_UI8   (1 << VT_UI8)

Definition at line 759 of file oleauto.h.

◆ VTDATEGRE_MAX

#define VTDATEGRE_MAX   2958465 /* Maximum possible Gregorian date: 31/12/9999 */

Definition at line 342 of file oleauto.h.

◆ VTDATEGRE_MIN

#define VTDATEGRE_MIN   -657434 /* Minimum possible Gregorian date: 1/1/100 */

Definition at line 341 of file oleauto.h.

◆ WHashValOfLHashVal

#define WHashValOfLHashVal (   hash)    ((USHORT)((hash) & 0xffff))

Definition at line 1000 of file oleauto.h.

Typedef Documentation

◆ INTERFACEDATA

◆ LPINTERFACEDATA

◆ LPMETHODDATA

◆ LPPARAMDATA

◆ METHODDATA

◆ PARAMDATA

◆ REGKIND

Enumeration Type Documentation

◆ tagREGKIND

Enumerator
REGKIND_DEFAULT 
REGKIND_REGISTER 
REGKIND_NONE 

Definition at line 923 of file oleauto.h.

924{
928} REGKIND;
@ REGKIND_NONE
Definition: oleauto.h:927
@ REGKIND_DEFAULT
Definition: oleauto.h:925
@ REGKIND_REGISTER
Definition: oleauto.h:926
enum tagREGKIND REGKIND

Function Documentation

◆ _Post_equal_to_() [1/2]

_Post_equal_to_ ( _String_length_(bstr) *sizeof(OLECHAR )

◆ _Post_equal_to_() [2/2]

_Post_equal_to_ ( pbstr  = =NULL ? 0 :_String_length_(pbstr))

◆ _Ret_writes_maybenull_z_()

_Ret_writes_maybenull_z_ ( ui 1) const

◆ BstrFromVector()

_Check_return_ HRESULT WINAPI BstrFromVector ( _In_ SAFEARRAY ,
_Out_ BSTR  
)

◆ ClearCustData()

VOID WINAPI ClearCustData ( LPCUSTDATA  )

◆ CreateDispTypeInfo()

_Check_return_ HRESULT WINAPI CreateDispTypeInfo ( INTERFACEDATA pidata,
LCID  lcid,
ITypeInfo **  pptinfo 
)

Definition at line 8792 of file typelib.c.

8796{
8797 ITypeInfoImpl *pTIClass, *pTIIface;
8798 ITypeLibImpl *pTypeLibImpl;
8799 unsigned int param, func;
8800 TLBFuncDesc *pFuncDesc;
8801 TLBRefType *ref;
8802
8803 TRACE("\n");
8804 pTypeLibImpl = TypeLibImpl_Constructor();
8805 if (!pTypeLibImpl) return E_FAIL;
8806
8807 pTypeLibImpl->TypeInfoCount = 2;
8808 pTypeLibImpl->typeinfos = heap_alloc_zero(pTypeLibImpl->TypeInfoCount * sizeof(ITypeInfoImpl*));
8809
8810 pTIIface = pTypeLibImpl->typeinfos[0] = ITypeInfoImpl_Constructor();
8811 pTIIface->pTypeLib = pTypeLibImpl;
8812 pTIIface->index = 0;
8813 pTIIface->Name = NULL;
8814 pTIIface->dwHelpContext = -1;
8815 pTIIface->guid = NULL;
8816 pTIIface->typeattr.lcid = lcid;
8817 pTIIface->typeattr.typekind = TKIND_INTERFACE;
8818 pTIIface->typeattr.wMajorVerNum = 0;
8819 pTIIface->typeattr.wMinorVerNum = 0;
8820 pTIIface->typeattr.cbAlignment = 2;
8821 pTIIface->typeattr.cbSizeInstance = -1;
8822 pTIIface->typeattr.cbSizeVft = -1;
8823 pTIIface->typeattr.cFuncs = 0;
8824 pTIIface->typeattr.cImplTypes = 0;
8825 pTIIface->typeattr.cVars = 0;
8826 pTIIface->typeattr.wTypeFlags = 0;
8827 pTIIface->hreftype = 0;
8828
8829 pTIIface->funcdescs = TLBFuncDesc_Alloc(pidata->cMembers);
8830 pFuncDesc = pTIIface->funcdescs;
8831 for(func = 0; func < pidata->cMembers; func++) {
8832 METHODDATA *md = pidata->pmethdata + func;
8833 pFuncDesc->Name = TLB_append_str(&pTypeLibImpl->name_list, md->szName);
8834 pFuncDesc->funcdesc.memid = md->dispid;
8835 pFuncDesc->funcdesc.lprgscode = NULL;
8836 pFuncDesc->funcdesc.funckind = FUNC_VIRTUAL;
8837 pFuncDesc->funcdesc.invkind = md->wFlags;
8838 pFuncDesc->funcdesc.callconv = md->cc;
8839 pFuncDesc->funcdesc.cParams = md->cArgs;
8840 pFuncDesc->funcdesc.cParamsOpt = 0;
8841 pFuncDesc->funcdesc.oVft = md->iMeth * sizeof(void *);
8842 pFuncDesc->funcdesc.cScodes = 0;
8843 pFuncDesc->funcdesc.wFuncFlags = 0;
8844 pFuncDesc->funcdesc.elemdescFunc.tdesc.vt = md->vtReturn;
8845 pFuncDesc->funcdesc.elemdescFunc.u.paramdesc.wParamFlags = PARAMFLAG_NONE;
8846 pFuncDesc->funcdesc.elemdescFunc.u.paramdesc.pparamdescex = NULL;
8847 pFuncDesc->funcdesc.lprgelemdescParam = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
8848 md->cArgs * sizeof(ELEMDESC));
8849 pFuncDesc->pParamDesc = TLBParDesc_Constructor(md->cArgs);
8850 for(param = 0; param < md->cArgs; param++) {
8851 pFuncDesc->funcdesc.lprgelemdescParam[param].tdesc.vt = md->ppdata[param].vt;
8852 pFuncDesc->pParamDesc[param].Name = TLB_append_str(&pTypeLibImpl->name_list, md->ppdata[param].szName);
8853 }
8854 pFuncDesc->helpcontext = 0;
8855 pFuncDesc->HelpStringContext = 0;
8856 pFuncDesc->HelpString = NULL;
8857 pFuncDesc->Entry = NULL;
8858 list_init(&pFuncDesc->custdata_list);
8859 pTIIface->typeattr.cFuncs++;
8860 ++pFuncDesc;
8861 }
8862
8863 dump_TypeInfo(pTIIface);
8864
8865 pTIClass = pTypeLibImpl->typeinfos[1] = ITypeInfoImpl_Constructor();
8866 pTIClass->pTypeLib = pTypeLibImpl;
8867 pTIClass->index = 1;
8868 pTIClass->Name = NULL;
8869 pTIClass->dwHelpContext = -1;
8870 pTIClass->guid = NULL;
8871 pTIClass->typeattr.lcid = lcid;
8872 pTIClass->typeattr.typekind = TKIND_COCLASS;
8873 pTIClass->typeattr.wMajorVerNum = 0;
8874 pTIClass->typeattr.wMinorVerNum = 0;
8875 pTIClass->typeattr.cbAlignment = 2;
8876 pTIClass->typeattr.cbSizeInstance = -1;
8877 pTIClass->typeattr.cbSizeVft = -1;
8878 pTIClass->typeattr.cFuncs = 0;
8879 pTIClass->typeattr.cImplTypes = 1;
8880 pTIClass->typeattr.cVars = 0;
8881 pTIClass->typeattr.wTypeFlags = 0;
8882 pTIClass->hreftype = sizeof(MSFT_TypeInfoBase);
8883
8884 pTIClass->impltypes = TLBImplType_Alloc(1);
8885
8886 ref = heap_alloc_zero(sizeof(*ref));
8887 ref->pImpTLInfo = TLB_REF_INTERNAL;
8888 list_add_head(&pTypeLibImpl->ref_list, &ref->entry);
8889
8890 dump_TypeInfo(pTIClass);
8891
8892 *pptinfo = (ITypeInfo *)&pTIClass->ITypeInfo2_iface;
8893
8894 ITypeInfo_AddRef(*pptinfo);
8895 ITypeLib2_Release(&pTypeLibImpl->ITypeLib2_iface);
8896
8897 return S_OK;
8898
8899}
static void list_add_head(struct list_entry *head, struct list_entry *entry)
Definition: list.h:76
static void list_init(struct list_entry *head)
Definition: list.h:51
#define md
Definition: compat-1.3.h:2013
#define E_FAIL
Definition: ddrawi.h:102
#define NULL
Definition: types.h:112
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
static TLBImplType * TLBImplType_Alloc(UINT n)
Definition: typelib.c:1812
static void dump_TypeInfo(const ITypeInfoImpl *pty)
Definition: typelib.c:1573
static ITypeLibImpl * TypeLibImpl_Constructor(void)
Definition: typelib.c:3429
static TLBString * TLB_append_str(struct list *string_list, BSTR new_str)
Definition: typelib.c:1884
static ITypeInfoImpl * ITypeInfoImpl_Constructor(void)
Definition: typelib.c:5623
#define TLB_REF_INTERNAL
Definition: typelib.c:1196
static TLBFuncDesc * TLBFuncDesc_Alloc(UINT n)
Definition: typelib.c:1791
static TLBParDesc * TLBParDesc_Constructor(UINT n)
Definition: typelib.c:1770
struct tagMSFT_TypeInfoBase MSFT_TypeInfoBase
GLenum func
Definition: glext.h:6028
GLfloat param
Definition: glext.h:5796
#define S_OK
Definition: intsafe.h:52
#define TRACE(s)
Definition: solgame.cpp:4
Definition: send.c:48
METHODDATA * pmethdata
Definition: oleauto.h:919
DWORD dwHelpContext
Definition: typelib.c:1263
const TLBString * Name
Definition: typelib.c:1259
ITypeInfo2 ITypeInfo2_iface
Definition: typelib.c:1242
TYPEATTR typeattr
Definition: typelib.c:1250
TLBFuncDesc * funcdescs
Definition: typelib.c:1267
ITypeLibImpl * pTypeLib
Definition: typelib.c:1253
TLBGuid * guid
Definition: typelib.c:1249
TLBImplType * impltypes
Definition: typelib.c:1273
HREFTYPE hreftype
Definition: typelib.c:1255
ITypeLib2 ITypeLib2_iface
Definition: typelib.c:1102
struct list name_list
Definition: typelib.c:1119
struct list ref_list
Definition: typelib.c:1135
struct tagITypeInfoImpl ** typeinfos
Definition: typelib.c:1128
int HelpStringContext
Definition: typelib.c:1213
FUNCDESC funcdesc
Definition: typelib.c:1209
const TLBString * Entry
Definition: typelib.c:1215
TLBParDesc * pParamDesc
Definition: typelib.c:1211
const TLBString * Name
Definition: typelib.c:1210
const TLBString * HelpString
Definition: typelib.c:1214
struct list custdata_list
Definition: typelib.c:1216
const TLBString * Name
Definition: typelib.c:1202
@ TKIND_COCLASS
Definition: widltypes.h:224
@ TKIND_INTERFACE
Definition: widltypes.h:222

Referenced by test_CreateDispTypeInfo().

◆ CreateErrorInfo()

◆ CreateStdDispatch()

_Check_return_ HRESULT WINAPI CreateStdDispatch ( IUnknown punkOuter,
void pvThis,
ITypeInfo ptinfo,
IUnknown **  stddisp 
)

Definition at line 434 of file dispatch.c.

439{
440 StdDispatch *pStdDispatch;
441
442 TRACE("(%p, %p, %p, %p)\n", punkOuter, pvThis, ptinfo, stddisp);
443
444 if (!pvThis || !ptinfo || !stddisp)
445 return E_INVALIDARG;
446
447 pStdDispatch = CoTaskMemAlloc(sizeof(StdDispatch));
448 if (!pStdDispatch)
449 return E_OUTOFMEMORY;
450
451 pStdDispatch->IDispatch_iface.lpVtbl = &StdDispatch_VTable;
452 pStdDispatch->pvThis = pvThis;
453 pStdDispatch->pTypeInfo = ptinfo;
454 pStdDispatch->ref = 1;
455
456 /* we keep a reference to the type info so prevent it from
457 * being destroyed until we are done with it */
458 ITypeInfo_AddRef(ptinfo);
459 *stddisp = (IUnknown*)&pStdDispatch->IDispatch_iface;
460
461 return S_OK;
462}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_INVALIDARG
Definition: ddrawi.h:101
static const IDispatchVtbl StdDispatch_VTable
Definition: dispatch.c:411
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: ifs.c:426
LONG ref
Definition: dispatch.c:208
IDispatch IDispatch_iface
Definition: dispatch.c:205
void * pvThis
Definition: dispatch.c:206
ITypeInfo * pTypeInfo
Definition: dispatch.c:207

Referenced by test_CreateStdDispatch(), and Widget_Create().

◆ CreateTypeLib()

_Check_return_ HRESULT WINAPI CreateTypeLib ( SYSKIND  ,
const OLECHAR ,
ICreateTypeLib **   
)

◆ CreateTypeLib2()

_Check_return_ HRESULT WINAPI CreateTypeLib2 ( SYSKIND  syskind,
LPCOLESTR  szFile,
ICreateTypeLib2 **  ppctlib 
)

Definition at line 9043 of file typelib.c.

9045{
9047 HRESULT hres;
9048
9049 TRACE("(%d,%s,%p)\n", syskind, debugstr_w(szFile), ppctlib);
9050
9051 if (!szFile) return E_INVALIDARG;
9052
9054 if (!This)
9055 return E_OUTOFMEMORY;
9056
9057 This->lcid = GetSystemDefaultLCID();
9058 This->syskind = syskind;
9059 This->ptr_size = get_ptr_size(syskind);
9060
9061 This->path = heap_alloc((lstrlenW(szFile) + 1) * sizeof(WCHAR));
9062 if (!This->path) {
9063 ITypeLib2_Release(&This->ITypeLib2_iface);
9064 return E_OUTOFMEMORY;
9065 }
9066 lstrcpyW(This->path, szFile);
9067
9068 hres = ITypeLib2_QueryInterface(&This->ITypeLib2_iface, &IID_ICreateTypeLib2, (LPVOID*)ppctlib);
9069 ITypeLib2_Release(&This->ITypeLib2_iface);
9070 return hres;
9071}
static void * heap_alloc(size_t len)
Definition: appwiz.h:66
#define lstrcpyW
Definition: compat.h:749
#define lstrlenW
Definition: compat.h:750
LCID WINAPI GetSystemDefaultLCID(void)
Definition: locale.c:1230
static int get_ptr_size(SYSKIND syskind)
Definition: typelib.c:1339
#define debugstr_w
Definition: kernel32.h:32
HRESULT hres
Definition: protocol.c:465
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by CreateTypeLib(), test_create_typelib_lcid(), test_CreateTypeLib(), test_dep(), test_SetDocString(), test_SetFuncAndParamNames(), test_SetTypeDescAlias(), test_SetVarHelpContext(), test_stub(), and test_TypeInfo2_GetContainingTypeLib().

◆ DEFINE_OLEGUID()

DEFINE_OLEGUID ( IID_StdOle  ,
0x00020430  ,
,
 
)

◆ DispCallFunc()

HRESULT WINAPI DispCallFunc ( void pvInstance,
ULONG_PTR  oVft,
CALLCONV  cc,
VARTYPE  vtReturn,
UINT  cActuals,
VARTYPE prgvt,
VARIANTARG **  prgpvarg,
VARIANT pvargResult 
)

Definition at line 7071 of file typelib.c.

7073{
7074 FIXME( "(%p, %ld, %d, %d, %d, %p, %p, %p (vt=%d)): not implemented for this CPU\n",
7075 pvInstance, oVft, cc, vtReturn, cActuals, prgvt, prgpvarg, pvargResult, V_VT(pvargResult));
7076 return E_NOTIMPL;
7077}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define E_NOTIMPL
Definition: ddrawi.h:99
uint32_t cc
Definition: isohybrid.c:75
#define V_VT(A)
Definition: oleauto.h:211

Referenced by invoke_builtin_function(), ITypeInfo_fnInvoke(), and test_DispCallFunc().

◆ DispGetIDsOfNames()

_Check_return_ HRESULT WINAPI DispGetIDsOfNames ( ITypeInfo ,
_In_reads_(cNames) OLECHAR **  ,
UINT  cNames,
_Out_writes_(cNames) DISPID  
)

◆ DispGetParam()

_Check_return_ HRESULT WINAPI DispGetParam ( _In_ DISPPARAMS *  ,
UINT  ,
VARTYPE  ,
_Out_ VARIANT ,
_Out_opt_ UINT  
)

◆ DispInvoke()

_Check_return_ HRESULT WINAPI DispInvoke ( void _this,
ITypeInfo ptinfo,
DISPID  dispidMember,
WORD  wFlags,
DISPPARAMS *  pparams,
VARIANT pvarResult,
EXCEPINFO *  pexcepinfo,
UINT puArgErr 
)

Definition at line 63 of file dispatch.c.

72{
73 TRACE("\n");
74
75 return ITypeInfo_Invoke(ptinfo, _this, dispidMember, wFlags,
76 pparams, pvarResult, pexcepinfo, puArgErr);
77}
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:531

Referenced by StdDispatch_Invoke().

◆ DosDateTimeToVariantTime()

INT WINAPI DosDateTimeToVariantTime ( _In_  USHORT,
_In_  USHORT,
_Out_ double  
)

◆ GetActiveObject()

HRESULT WINAPI GetActiveObject ( REFCLSID  rcid,
LPVOID  preserved,
LPUNKNOWN ppunk 
)

Definition at line 592 of file oleaut.c.

593{
594 WCHAR guidbuf[80];
595 HRESULT ret;
596 LPRUNNINGOBJECTTABLE runobtable;
598
599 StringFromGUID2(rcid,guidbuf,39);
601 if (FAILED(ret))
602 return ret;
603 ret = GetRunningObjectTable(0,&runobtable);
604 if (FAILED(ret)) {
605 IMoniker_Release(moniker);
606 return ret;
607 }
608 ret = IRunningObjectTable_GetObject(runobtable,moniker,ppunk);
609 IRunningObjectTable_Release(runobtable);
610 IMoniker_Release(moniker);
611 return ret;
612}
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2434
HRESULT WINAPI GetRunningObjectTable(DWORD reserved, LPRUNNINGOBJECTTABLE *pprot)
Definition: moniker.c:1035
#define FAILED(hr)
Definition: intsafe.h:51
HRESULT WINAPI CreateItemMoniker(LPCOLESTR lpszDelim, LPCOLESTR lpszItem, IMoniker **ppmk)
Definition: itemmoniker.c:935
interface IMoniker * LPMONIKER
Definition: objfwd.h:9
interface IRunningObjectTable * LPRUNNINGOBJECTTABLE
Definition: objfwd.h:17
static const WCHAR * pdelimiter
Definition: oleaut.c:509
Definition: main.c:40
int ret

Referenced by ITypeInfo_fnCreateInstance().

◆ GetAltMonthNames()

◆ GetErrorInfo()

_Check_return_ HRESULT WINAPI GetErrorInfo ( _In_  ULONG,
_Outptr_ IErrorInfo **   
)

◆ GetRecordInfoFromGuids()

HRESULT WINAPI GetRecordInfoFromGuids ( REFGUID  rGuidTypeLib,
ULONG  uVerMajor,
ULONG  uVerMinor,
LCID  lcid,
REFGUID  rGuidTypeInfo,
IRecordInfo **  ppRecInfo 
)

Definition at line 594 of file recinfo.c.

596{
597 ITypeInfo *pTypeInfo;
598 ITypeLib *pTypeLib;
600
601 TRACE("(%p,%d,%d,%d,%s,%p)\n", rGuidTypeLib, uVerMajor, uVerMinor,
602 lcid, debugstr_guid(rGuidTypeInfo), ppRecInfo);
603
604 hres = LoadRegTypeLib(rGuidTypeLib, uVerMajor, uVerMinor, lcid, &pTypeLib);
605 if(FAILED(hres)) {
606 WARN("LoadRegTypeLib failed!\n");
607 return hres;
608 }
609
610 hres = ITypeLib_GetTypeInfoOfGuid(pTypeLib, rGuidTypeInfo, &pTypeInfo);
611 ITypeLib_Release(pTypeLib);
612 if(FAILED(hres)) {
613 WARN("GetTypeInfoOfGuid failed!\n");
614 return hres;
615 }
616
617 hres = GetRecordInfoFromTypeInfo(pTypeInfo, ppRecInfo);
618 ITypeInfo_Release(pTypeInfo);
619 return hres;
620}
#define WARN(fmt,...)
Definition: precomp.h:61
HRESULT WINAPI LoadRegTypeLib(REFGUID rguid, WORD wVerMajor, WORD wVerMinor, LCID lcid, ITypeLib **ppTLib)
Definition: typelib.c:531
#define debugstr_guid
Definition: kernel32.h:35
HRESULT WINAPI GetRecordInfoFromTypeInfo(ITypeInfo *pTI, IRecordInfo **ppRecInfo)
Definition: recinfo.c:625

◆ GetRecordInfoFromTypeInfo()

HRESULT WINAPI GetRecordInfoFromTypeInfo ( ITypeInfo pTI,
IRecordInfo **  ppRecInfo 
)

Definition at line 625 of file recinfo.c.

625 {
627 TYPEATTR *typeattr;
629 ITypeInfo *pTypeInfo;
630 int i;
631 GUID guid;
632
633 TRACE("(%p %p)\n", pTI, ppRecInfo);
634
635 if(!pTI || !ppRecInfo)
636 return E_INVALIDARG;
637
638 hres = ITypeInfo_GetTypeAttr(pTI, &typeattr);
639 if(FAILED(hres) || !typeattr) {
640 WARN("GetTypeAttr failed: %08x\n", hres);
641 return hres;
642 }
643
644 if(typeattr->typekind == TKIND_ALIAS) {
645 hres = ITypeInfo_GetRefTypeInfo(pTI, typeattr->tdescAlias.u.hreftype, &pTypeInfo);
646 guid = typeattr->guid;
647 ITypeInfo_ReleaseTypeAttr(pTI, typeattr);
648 if(FAILED(hres)) {
649 WARN("GetRefTypeInfo failed: %08x\n", hres);
650 return hres;
651 }
652 hres = ITypeInfo_GetTypeAttr(pTypeInfo, &typeattr);
653 if(FAILED(hres)) {
654 ITypeInfo_Release(pTypeInfo);
655 WARN("GetTypeAttr failed for referenced type: %08x\n", hres);
656 return hres;
657 }
658 }else {
659 pTypeInfo = pTI;
660 ITypeInfo_AddRef(pTypeInfo);
661 guid = typeattr->guid;
662 }
663
664 if(typeattr->typekind != TKIND_RECORD) {
665 WARN("typekind != TKIND_RECORD\n");
666 ITypeInfo_ReleaseTypeAttr(pTypeInfo, typeattr);
667 ITypeInfo_Release(pTypeInfo);
668 return E_INVALIDARG;
669 }
670
671 ret = HeapAlloc(GetProcessHeap(), 0, sizeof(*ret));
672 ret->IRecordInfo_iface.lpVtbl = &IRecordInfoImplVtbl;
673 ret->ref = 1;
674 ret->pTypeInfo = pTypeInfo;
675 ret->n_vars = typeattr->cVars;
676 ret->size = typeattr->cbSizeInstance;
677 ITypeInfo_ReleaseTypeAttr(pTypeInfo, typeattr);
678
679 ret->guid = guid;
680
681 /* NOTE: Windows implementation calls ITypeInfo::GetCantainingTypeLib and
682 * ITypeLib::GetLibAttr, but we currently don't need this.
683 */
684
685 hres = ITypeInfo_GetDocumentation(pTypeInfo, MEMBERID_NIL, &ret->name, NULL, NULL, NULL);
686 if(FAILED(hres)) {
687 WARN("ITypeInfo::GetDocumentation failed\n");
688 ret->name = NULL;
689 }
690
691 ret->fields = HeapAlloc(GetProcessHeap(), 0, ret->n_vars*sizeof(fieldstr));
692 for(i = 0; i<ret->n_vars; i++) {
693 VARDESC *vardesc;
694 hres = ITypeInfo_GetVarDesc(pTypeInfo, i, &vardesc);
695 if(FAILED(hres)) {
696 WARN("GetVarDesc failed\n");
697 continue;
698 }
699 ret->fields[i].vt = vardesc->elemdescVar.tdesc.vt;
700 ret->fields[i].varkind = vardesc->varkind;
701 ret->fields[i].offset = vardesc->u.oInst;
702 hres = ITypeInfo_GetDocumentation(pTypeInfo, vardesc->memid, &ret->fields[i].name,
703 NULL, NULL, NULL);
704 if(FAILED(hres))
705 WARN("GetDocumentation failed: %08x\n", hres);
706 TRACE("field=%s, offset=%d\n", debugstr_w(ret->fields[i].name), ret->fields[i].offset);
707 ITypeInfo_ReleaseVarDesc(pTypeInfo, vardesc);
708 }
709
710 *ppRecInfo = &ret->IRecordInfo_iface;
711
712 return S_OK;
713}
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
const GUID * guid
#define MEMBERID_NIL
Definition: oleauto.h:1003
static const IRecordInfoVtbl IRecordInfoImplVtbl
Definition: recinfo.c:565
@ TKIND_RECORD
Definition: widltypes.h:220
@ TKIND_ALIAS
Definition: widltypes.h:225

Referenced by GetRecordInfoFromGuids(), and test_recinfo().

◆ LHashValOfNameSys()

ULONG WINAPI LHashValOfNameSys ( SYSKIND  skind,
LCID  lcid,
LPCOLESTR  str 
)

Definition at line 628 of file hash.c.

629{
630 LPSTR strA;
631 ULONG res;
632 INT len;
633
634 if (!str) return 0;
635 len = WideCharToMultiByte( CP_ACP, 0, str, -1, NULL, 0, NULL, NULL );
636 strA = HeapAlloc( GetProcessHeap(), 0, len );
638 res = LHashValOfNameSysA(skind, lcid, strA);
640 return res;
641}
#define CP_ACP
Definition: compat.h:109
#define HeapFree(x, y, z)
Definition: compat.h:735
#define WideCharToMultiByte
Definition: compat.h:111
ULONG WINAPI LHashValOfNameSysA(SYSKIND skind, LCID lcid, LPCSTR lpStr)
Definition: hash.c:506
GLuint res
Definition: glext.h:9613
GLenum GLsizei len
Definition: glext.h:6722
char strA[12]
Definition: clipboard.c:2028
const WCHAR * str
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG
Definition: typedefs.h:59
char * LPSTR
Definition: xmlstorage.h:182

Referenced by test_TypeComp().

◆ LHashValOfNameSysA()

ULONG WINAPI LHashValOfNameSysA ( SYSKIND  skind,
LCID  lcid,
LPCSTR  lpStr 
)

Definition at line 506 of file hash.c.

507{
508 ULONG nOffset, nMask = skind == SYS_MAC ? 1 : 0;
509 ULONG nHiWord, nLoWord = 0x0deadbee;
510 const unsigned char *str = (const unsigned char *)lpStr, *pnLookup = NULL;
511
512 TRACE("(%d, 0x%x, %s) %s\n", skind, lcid, debugstr_a(lpStr),
513 (skind == SYS_WIN16) ? "SYS_WIN16" : (skind == SYS_WIN32) ? "SYS_WIN32" : "");
514
515 if (!str)
516 return 0;
517
518 lcid = ConvertDefaultLocale(lcid);
519
520 switch (PRIMARYLANGID(LANGIDFROMLCID(lcid)))
521 {
522 default:
523 ERR("Unknown lcid %x, treating as latin-based, please report\n", lcid);
524 /* .. Fall Through .. */
526 case LANG_ASSAMESE: case LANG_AZERI: case LANG_BASQUE:
528 case LANG_CATALAN: case LANG_DANISH: case LANG_DIVEHI:
529 case LANG_DUTCH: case LANG_ENGLISH: case LANG_ESTONIAN:
530 case LANG_FAEROESE: case LANG_FINNISH: case LANG_FRENCH:
531 case LANG_GALICIAN: case LANG_GEORGIAN: case LANG_GERMAN:
533 case LANG_ITALIAN: case LANG_KANNADA: case LANG_KASHMIRI:
534 case LANG_KAZAK: case LANG_KONKANI: case LANG_KYRGYZ:
536 case LANG_MALAY: case LANG_MALAYALAM: case LANG_MANIPURI:
537 case LANG_MARATHI: case LANG_MONGOLIAN: case LANG_NEPALI:
538 case LANG_ORIYA: case LANG_PORTUGUESE: case LANG_PUNJABI:
540 case LANG_SINDHI: case LANG_SLOVENIAN: case LANG_SWAHILI:
541 case LANG_SWEDISH: case LANG_SYRIAC: case LANG_TAMIL:
542 case LANG_TATAR: case LANG_TELUGU: case LANG_THAI:
543 case LANG_UKRAINIAN: case LANG_URDU: case LANG_UZBEK:
545 case LANG_MAORI: case LANG_ROMANSH: case LANG_IRISH:
546 case LANG_SAMI: case LANG_UPPER_SORBIAN: case LANG_SUTU:
547 case LANG_TSONGA: case LANG_TSWANA: case LANG_VENDA:
548 case LANG_XHOSA: case LANG_ZULU: case LANG_ESPERANTO:
549 case LANG_WALON: case LANG_CORNISH: case LANG_WELSH:
550 case LANG_BRETON: case LANG_MANX_GAELIC:
551 nOffset = 16;
552 pnLookup = Lookup_16;
553 break;
554 case LANG_CZECH: case LANG_HUNGARIAN: case LANG_POLISH:
555 case LANG_SLOVAK: case LANG_SPANISH:
556 nOffset = 32;
557 pnLookup = Lookup_32;
558 break;
559 case LANG_HEBREW:
560 nOffset = 48;
561 pnLookup = Lookup_48;
562 break;
563 case LANG_JAPANESE:
564 nOffset = 64;
565 pnLookup = Lookup_64;
566 break;
567 case LANG_KOREAN:
568 nOffset = 80;
569 pnLookup = Lookup_80;
570 break;
571 case LANG_CHINESE:
572 nOffset = 112;
573 pnLookup = Lookup_112;
574 break;
575 case LANG_GREEK:
576 nOffset = 128;
577 pnLookup = Lookup_128;
578 break;
579 case LANG_ICELANDIC:
580 nOffset = 144;
581 pnLookup = Lookup_144;
582 break;
583 case LANG_TURKISH:
584 nOffset = 160;
585 pnLookup = Lookup_160;
586 break;
587 case LANG_NORWEGIAN:
589 {
590 nOffset = 176;
591 pnLookup = Lookup_176;
592 }
593 else
594 {
595 nOffset = 16;
596 pnLookup = Lookup_16;
597 }
598 break;
599 case LANG_ARABIC:
600 case LANG_FARSI:
601 nOffset = 208;
602 pnLookup = Lookup_208;
603 break;
604 case LANG_RUSSIAN:
605 nOffset = 224;
606 pnLookup = Lookup_224;
607 break;
608 }
609
610 nHiWord = (nOffset | nMask) << 16;
611
612 while (*str)
613 {
614 nLoWord = 37 * nLoWord + pnLookup[*str > 0x7f && nMask ? *str + 0x80 : *str];
615 str++;
616 }
617 /* Constrain to a prime modulo and sizeof(WORD) */
618 nLoWord = (nLoWord % 65599) & 0xffff;
619
620 return nHiWord | nLoWord;
621}
#define ERR(fmt,...)
Definition: precomp.h:57
LCID WINAPI ConvertDefaultLocale(LCID lcid)
Definition: locale.c:2877
static const unsigned char Lookup_16[128 *3]
Definition: hash.c:32
static const unsigned char Lookup_208[128 *3]
Definition: hash.c:411
static const unsigned char Lookup_112[128 *3]
Definition: hash.c:221
static const unsigned char Lookup_48[128 *3]
Definition: hash.c:108
static const unsigned char Lookup_128[128 *3]
Definition: hash.c:259
static const unsigned char Lookup_144[128 *3]
Definition: hash.c:297
static const unsigned char Lookup_80[128 *3]
Definition: hash.c:183
static const unsigned char Lookup_224[128 *3]
Definition: hash.c:449
static const unsigned char Lookup_160[128 *3]
Definition: hash.c:335
static const unsigned char Lookup_32[128 *3]
Definition: hash.c:70
static const unsigned char Lookup_64[128 *3]
Definition: hash.c:146
static const unsigned char Lookup_176[128 *3]
Definition: hash.c:373
#define debugstr_a
Definition: kernel32.h:31
#define LANG_SCOTTISH_GAELIC
#define LANG_TATAR
Definition: nls.h:130
#define LANG_MAORI
Definition: nls.h:96
#define LANG_MALAYALAM
Definition: nls.h:93
#define LANG_KONKANI
Definition: nls.h:83
#define SUBLANG_NORWEGIAN_NYNORSK
Definition: nls.h:301
#define LANG_HINDI
Definition: nls.h:68
#define LANG_VENDA
Definition: nls.h:158
#define LANG_TAMIL
Definition: nls.h:129
#define LANG_MALTESE
Definition: nls.h:94
#define LANG_FARSI
Definition: nls.h:55
#define LANG_THAI
Definition: nls.h:132
#define LANG_LITHUANIAN
Definition: nls.h:88
#define LANG_ASSAMESE
Definition: nls.h:31
#define LANG_NORWEGIAN
Definition: nls.h:102
#define LANG_TSONGA
Definition: nls.h:157
#define SUBLANGID(l)
Definition: nls.h:17
#define LANG_ALBANIAN
Definition: nls.h:26
#define LANG_TURKISH
Definition: nls.h:136
#define LANG_SANSKRIT
Definition: nls.h:115
#define LANG_KASHMIRI
Definition: nls.h:78
#define LANG_DANISH
Definition: nls.h:48
#define LANG_SPANISH
Definition: nls.h:123
#define LANG_POLISH
Definition: nls.h:107
#define LANG_AZERI
Definition: nls.h:32
#define LANG_NEPALI
Definition: nls.h:101
#define LANG_SYRIAC
Definition: nls.h:126
#define LANG_GALICIAN
Definition: nls.h:60
#define LANG_INDONESIAN
Definition: nls.h:72
#define LANG_GERMAN
Definition: nls.h:62
#define LANG_ESTONIAN
Definition: nls.h:53
#define LANG_WALON
Definition: nls.h:162
#define LANG_HEBREW
Definition: nls.h:67
#define LANG_KANNADA
Definition: nls.h:77
#define LANG_ORIYA
Definition: nls.h:104
#define LANG_UKRAINIAN
Definition: nls.h:139
#define LANG_SUTU
Definition: nls.h:156
#define LANG_URDU
Definition: nls.h:141
#define LANG_BULGARIAN
Definition: nls.h:40
#define LANG_FINNISH
Definition: nls.h:57
#define LANG_XHOSA
Definition: nls.h:146
#define LANG_BELARUSIAN
Definition: nls.h:35
#define LANG_ROMANSH
Definition: nls.h:112
#define LANG_GEORGIAN
Definition: nls.h:61
#define LANG_GREEK
Definition: nls.h:63
#define LANG_TSWANA
Definition: nls.h:135
#define LANG_BASQUE
Definition: nls.h:34
#define LANG_MACEDONIAN
Definition: nls.h:91
#define LANG_ENGLISH
Definition: nls.h:52
#define LANGIDFROMLCID(l)
Definition: nls.h:18
#define LANG_ROMANIAN
Definition: nls.h:111
#define LANG_ZULU
Definition: nls.h:150
#define LANG_MALAY
Definition: nls.h:92
#define LANG_BENGALI
Definition: nls.h:36
#define LANG_DUTCH
Definition: nls.h:51
#define LANG_MANIPURI
Definition: nls.h:95
#define LANG_ESPERANTO
Definition: nls.h:161
#define LANG_RUSSIAN
Definition: nls.h:113
#define LANG_VIETNAMESE
Definition: nls.h:143
#define LANG_PUNJABI
Definition: nls.h:109
#define LANG_CZECH
Definition: nls.h:47
#define LANG_HUNGARIAN
Definition: nls.h:69
#define LANG_SWEDISH
Definition: nls.h:125
#define LANG_ARABIC
Definition: nls.h:29
#define LANG_UPPER_SORBIAN
Definition: nls.h:140
#define LANG_KYRGYZ
Definition: nls.h:85
#define LANG_CHINESE
Definition: nls.h:42
#define LANG_SERBIAN
Definition: nls.h:116
#define LANG_JAPANESE
Definition: nls.h:76
#define LANG_SAMI
Definition: nls.h:114
#define PRIMARYLANGID(l)
Definition: nls.h:16
#define LANG_DIVEHI
Definition: nls.h:50
#define LANG_LATVIAN
Definition: nls.h:87
#define LANG_BRETON
Definition: nls.h:39
#define LANG_ICELANDIC
Definition: nls.h:70
#define LANG_SINDHI
Definition: nls.h:118
#define LANG_SLOVAK
Definition: nls.h:120
#define LANG_KOREAN
Definition: nls.h:84
#define LANG_AFRIKAANS
Definition: nls.h:25
#define LANG_SLOVENIAN
Definition: nls.h:121
#define LANG_CORNISH
Definition: nls.h:163
#define LANG_GUJARATI
Definition: nls.h:65
#define LANG_WELSH
Definition: nls.h:144
#define LANG_MARATHI
Definition: nls.h:98
#define LANG_SWAHILI
Definition: nls.h:124
#define LANG_FRENCH
Definition: nls.h:58
#define LANG_UZBEK
Definition: nls.h:142
#define LANG_TELUGU
Definition: nls.h:131
#define LANG_ITALIAN
Definition: nls.h:75
#define LANG_ARMENIAN
Definition: nls.h:30
#define LANG_PORTUGUESE
Definition: nls.h:108
#define LANG_CATALAN
Definition: nls.h:41
#define LANG_KAZAK
Definition: nls.h:79
#define LANG_MONGOLIAN
Definition: nls.h:100
#define LANG_IRISH
Definition: nls.h:74
#define LANG_FAEROESE
Definition: nls.h:54
@ SYS_WIN16
Definition: widltypes.h:551
@ SYS_WIN32
Definition: widltypes.h:552
@ SYS_MAC
Definition: widltypes.h:553
#define LANG_MANX_GAELIC
Definition: winnt_old.h:449

Referenced by LHashValOfNameSys(), and WMSFT_compile_names().

◆ LoadRegTypeLib()

_Check_return_ HRESULT WINAPI LoadRegTypeLib ( REFGUID  rguid,
WORD  wVerMajor,
WORD  wVerMinor,
LCID  lcid,
ITypeLib **  ppTLib 
)

Definition at line 531 of file typelib.c.

537{
538 BSTR bstr=NULL;
539 HRESULT res;
540
541 *ppTLib = NULL;
542
543 res = QueryPathOfRegTypeLib( rguid, wVerMajor, wVerMinor, lcid, &bstr);
544
545 if(SUCCEEDED(res))
546 {
547 res= LoadTypeLib(bstr, ppTLib);
548 SysFreeString(bstr);
549
550 if ((wVerMajor!=0xffff || wVerMinor!=0xffff) && *ppTLib)
551 {
552 TLIBATTR *attr;
553
554 res = ITypeLib_GetLibAttr(*ppTLib, &attr);
555 if (res == S_OK)
556 {
557 BOOL mismatch = attr->wMajorVerNum != wVerMajor || attr->wMinorVerNum < wVerMinor;
558 ITypeLib_ReleaseTLibAttr(*ppTLib, attr);
559
560 if (mismatch)
561 {
562 ITypeLib_Release(*ppTLib);
563 *ppTLib = NULL;
565 }
566 }
567 }
568 }
569
570 TRACE("(IID: %s) load %s (%p)\n",debugstr_guid(rguid), SUCCEEDED(res)? "SUCCESS":"FAILED", *ppTLib);
571
572 return res;
573}
_STLP_INLINE_LOOP _STLP_STD::pair< _InputIter1, _InputIter2 > mismatch(_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2)
Definition: _algobase.h:522
OLECHAR * BSTR
Definition: compat.h:2293
HRESULT WINAPI QueryPathOfRegTypeLib(REFGUID guid, WORD wMaj, WORD wMin, LCID lcid, LPBSTR path)
Definition: typelib.c:406
HRESULT WINAPI LoadTypeLib(const OLECHAR *szFile, ITypeLib **pptLib)
Definition: typelib.c:458
unsigned int BOOL
Definition: ntddk_ex.h:94
#define SUCCEEDED(hr)
Definition: intsafe.h:50
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
Definition: cookie.c:202
#define TYPE_E_LIBNOTREGISTERED
Definition: winerror.h:2534

Referenced by BaseDispatch_Init(), ATL::IDispatchImpl< T, piid, plibid, wMajor, wMinor >::EnsureTILoaded(), get_type_info(), get_typeinfo(), get_typelib(), GetRecordInfoFromGuids(), CTipbarAccessible::Initialize(), load_typelib(), NonOleAutomation_GetTypeInfo(), test_libattr(), test_LoadRegTypeLib(), test_register_typelib(), tl_absent(), and tl_present().

◆ LoadTypeLib()

HRESULT WINAPI LoadTypeLib ( _In_z_ const OLECHAR ,
ITypeLib **   
)

◆ LoadTypeLibEx()

_Check_return_ HRESULT WINAPI LoadTypeLibEx ( LPCOLESTR  szFile,
REGKIND  regkind,
ITypeLib **  pptLib 
)

Definition at line 473 of file typelib.c.

477{
479 HRESULT res;
480
481 TRACE("(%s,%d,%p)\n",debugstr_w(szFile), regkind, pptLib);
482
483 if (!szFile || !pptLib)
484 return E_INVALIDARG;
485
486 *pptLib = NULL;
487
488 res = TLB_ReadTypeLib(szFile, szPath, MAX_PATH + 1, (ITypeLib2**)pptLib);
489
490 if (SUCCEEDED(res))
491 switch(regkind)
492 {
493 case REGKIND_DEFAULT:
494 /* don't register typelibs supplied with full path. Experimentation confirms the following */
495 if (((szFile[0] == '\\') && (szFile[1] == '\\')) ||
496 (szFile[0] && (szFile[1] == ':'))) break;
497 /* else fall-through */
498
499 case REGKIND_REGISTER:
500 if (FAILED(res = RegisterTypeLib(*pptLib, szPath, NULL)))
501 {
502 ITypeLib_Release(*pptLib);
503 *pptLib = 0;
504 }
505 break;
506 case REGKIND_NONE:
507 break;
508 }
509
510 TRACE(" returns %08x\n",res);
511 return res;
512}
#define MAX_PATH
Definition: compat.h:34
static HRESULT TLB_ReadTypeLib(LPCWSTR pszFileName, LPWSTR pszPath, UINT cchPath, ITypeLib2 **ppTypeLib)
Definition: typelib.c:3286
HRESULT WINAPI RegisterTypeLib(ITypeLib *ptlib, const WCHAR *szFullPath, const WCHAR *szHelpDir)
Definition: typelib.c:656
LPCWSTR szPath
Definition: env.c:37

Referenced by load_typelib(), LoadTypeLib(), SEALED_::LoadTypeLibrary(), register_server(), search_res_tlb(), test_CreateTypeLib(), test_dep(), test_dump_typelib(), test_LoadTypeLib(), test_recinfo(), test_register_typelib(), test_SetTypeDescAlias(), and UnRegisterTypeLib().

◆ OaBuildVersion()

ULONG WINAPI OaBuildVersion ( void  )

Definition at line 644 of file oleaut.c.

645{
646 switch(GetVersion() & 0x8000ffff) /* mask off build number */
647 {
648 case 0x80000a03: /* WIN31 */
649 return MAKELONG(0xffff, 20);
650 case 0x00003303: /* NT351 */
651 return MAKELONG(0xffff, 30);
652 case 0x80000004: /* WIN95; I'd like to use the "standard" w95 minor
653 version here (30), but as we still use w95
654 as default winver (which is good IMHO), I better
655 play safe and use the latest value for w95 for now.
656 Change this as soon as default winver gets changed
657 to something more recent */
658 case 0x80000a04: /* WIN98 */
659 case 0x00000004: /* NT40 */
660 case 0x00000005: /* W2K */
661 return MAKELONG(0xffff, 40);
662 case 0x00000105: /* WinXP */
663#ifdef __REACTOS__
664 case 0x00000205: /* Win2K3 */
665#endif /* __REACTOS__ */
666 case 0x00000006: /* Vista */
667 case 0x00000106: /* Win7 */
668 return MAKELONG(0xffff, 50);
669 default:
670 FIXME("Version value not known yet. Please investigate it !\n");
671 return MAKELONG(0xffff, 40); /* for now return the same value as for w2k */
672 }
673}
DWORD WINAPI GetVersion()
Definition: redirtest.c:5
#define MAKELONG(a, b)
Definition: typedefs.h:249

◆ QueryPathOfRegTypeLib()

HRESULT WINAPI QueryPathOfRegTypeLib ( REFGUID  guid,
WORD  wMaj,
WORD  wMin,
LCID  lcid,
LPBSTR  path 
)

Definition at line 406 of file typelib.c.

407{
408 BOOL redir = TRUE;
409#ifdef _WIN64
410 HRESULT hres = query_typelib_path( guid, wMaj, wMin, SYS_WIN64, lcid, path, TRUE );
411 if(SUCCEEDED(hres))
412 return hres;
413 redir = FALSE;
414#endif
415 return query_typelib_path( guid, wMaj, wMin, SYS_WIN32, lcid, path, redir );
416}
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
static HRESULT query_typelib_path(REFGUID guid, WORD wMaj, WORD wMin, SYSKIND syskind, LCID lcid, BSTR *path, BOOL redir)
Definition: typelib.c:301
@ SYS_WIN64
Definition: widltypes.h:554

Referenced by ICreateTypeInfo2_fnAddRefTypeInfo(), LoadRegTypeLib(), test_LoadRegTypeLib(), and test_QueryPathOfRegTypeLib().

◆ RegisterActiveObject()

_Check_return_ HRESULT WINAPI RegisterActiveObject ( LPUNKNOWN  punk,
REFCLSID  rcid,
DWORD  dwFlags,
LPDWORD  pdwRegister 
)

Definition at line 526 of file oleaut.c.

528 {
529 WCHAR guidbuf[80];
530 HRESULT ret;
531 LPRUNNINGOBJECTTABLE runobtable;
533 DWORD rot_flags = ROTFLAGS_REGISTRATIONKEEPSALIVE; /* default registration is strong */
534
535 StringFromGUID2(rcid,guidbuf,39);
537 if (FAILED(ret))
538 return ret;
539 ret = GetRunningObjectTable(0,&runobtable);
540 if (FAILED(ret)) {
541 IMoniker_Release(moniker);
542 return ret;
543 }
545 rot_flags = 0;
546 ret = IRunningObjectTable_Register(runobtable,rot_flags,punk,moniker,pdwRegister);
547 IRunningObjectTable_Release(runobtable);
548 IMoniker_Release(moniker);
549 return ret;
550}
unsigned long DWORD
Definition: ntddk_ex.h:95
#define ACTIVEOBJECT_WEAK
Definition: oleauto.h:182
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176

◆ RegisterTypeLib()

_Check_return_ HRESULT WINAPI RegisterTypeLib ( ITypeLib ,
_In_  LPCOLESTR,
_In_opt_  LPCOLESTR 
)

◆ RegisterTypeLibForUser()

HRESULT WINAPI RegisterTypeLibForUser ( ITypeLib ,
_In_ OLECHAR ,
_In_opt_ OLECHAR  
)

◆ RevokeActiveObject()

HRESULT WINAPI RevokeActiveObject ( DWORD  xregister,
LPVOID  reserved 
)

Definition at line 565 of file oleaut.c.

566{
567 LPRUNNINGOBJECTTABLE runobtable;
568 HRESULT ret;
569
570 ret = GetRunningObjectTable(0,&runobtable);
571 if (FAILED(ret)) return ret;
572 ret = IRunningObjectTable_Revoke(runobtable,xregister);
573 if (SUCCEEDED(ret)) ret = S_OK;
574 IRunningObjectTable_Release(runobtable);
575 return ret;
576}

◆ SafeArrayAccessData()

HRESULT WINAPI SafeArrayAccessData ( _In_ SAFEARRAY ,
void **   
)

◆ SafeArrayAllocData()

HRESULT WINAPI SafeArrayAllocData ( _In_ SAFEARRAY )

◆ SafeArrayAllocDescriptor()

HRESULT WINAPI SafeArrayAllocDescriptor ( _In_  UINT,
_Outptr_ SAFEARRAY **   
)

◆ SafeArrayAllocDescriptorEx()

HRESULT WINAPI SafeArrayAllocDescriptorEx ( _In_  VARTYPE,
_In_  UINT,
_Outptr_ SAFEARRAY **   
)

◆ SafeArrayCopy()

_Check_return_ HRESULT WINAPI SafeArrayCopy ( _In_ SAFEARRAY ,
_Outptr_ SAFEARRAY **   
)

◆ SafeArrayCopyData()

_Check_return_ HRESULT WINAPI SafeArrayCopyData ( _In_ SAFEARRAY ,
_In_ SAFEARRAY  
)

◆ SafeArrayCreate()

SAFEARRAY *WINAPI SafeArrayCreate ( _In_  VARTYPE,
_In_  UINT,
_In_ SAFEARRAYBOUND  
)

◆ SafeArrayCreateEx()

SAFEARRAY *WINAPI SafeArrayCreateEx ( _In_  VARTYPE,
_In_  UINT,
_In_ SAFEARRAYBOUND ,
_In_  LPVOID 
)

◆ SafeArrayCreateVector()

SAFEARRAY *WINAPI SafeArrayCreateVector ( _In_  VARTYPE,
_In_  LONG,
_In_  ULONG 
)

◆ SafeArrayCreateVectorEx()

SAFEARRAY *WINAPI SafeArrayCreateVectorEx ( _In_  VARTYPE,
_In_  LONG,
_In_  ULONG,
_In_  LPVOID 
)

◆ SafeArrayDestroy()

HRESULT WINAPI SafeArrayDestroy ( _In_ SAFEARRAY )

◆ SafeArrayDestroyData()

HRESULT WINAPI SafeArrayDestroyData ( _In_ SAFEARRAY )

◆ SafeArrayDestroyDescriptor()

HRESULT WINAPI SafeArrayDestroyDescriptor ( _In_ SAFEARRAY )

◆ SafeArrayGetDim()

UINT WINAPI SafeArrayGetDim ( _In_ SAFEARRAY )

◆ SafeArrayGetElement()

HRESULT WINAPI SafeArrayGetElement ( _In_ SAFEARRAY ,
LONG ,
_Out_ void  
)

◆ SafeArrayGetElemsize()

UINT WINAPI SafeArrayGetElemsize ( _In_ SAFEARRAY )

◆ SafeArrayGetIID()

HRESULT WINAPI SafeArrayGetIID ( _In_ SAFEARRAY ,
_Out_ GUID  
)

◆ SafeArrayGetLBound()

HRESULT WINAPI SafeArrayGetLBound ( _In_ SAFEARRAY ,
_In_  UINT,
_Out_ LONG  
)

◆ SafeArrayGetRecordInfo()

HRESULT WINAPI SafeArrayGetRecordInfo ( _In_ SAFEARRAY ,
_Outptr_ IRecordInfo **   
)

◆ SafeArrayGetUBound()

HRESULT WINAPI SafeArrayGetUBound ( _In_ SAFEARRAY ,
_In_  UINT,
_Out_ LONG  
)

◆ SafeArrayGetVartype()

HRESULT WINAPI SafeArrayGetVartype ( _In_ SAFEARRAY ,
_Out_ VARTYPE  
)

◆ SafeArrayLock()

HRESULT WINAPI SafeArrayLock ( _In_ SAFEARRAY )

◆ SafeArrayPtrOfIndex()

HRESULT WINAPI SafeArrayPtrOfIndex ( _In_ SAFEARRAY psa,
_In_reads_(psa->cDims) LONG ,
_Outptr_result_bytebuffer_(psa->cbElements) void **   
)

◆ SafeArrayPutElement()

_Check_return_ HRESULT WINAPI SafeArrayPutElement ( _In_ SAFEARRAY ,
LONG ,
_In_ void  
)

◆ SafeArrayRedim()

HRESULT WINAPI SafeArrayRedim ( _Inout_ SAFEARRAY ,
_In_ SAFEARRAYBOUND  
)

◆ SafeArraySetIID()

HRESULT WINAPI SafeArraySetIID ( _In_ SAFEARRAY ,
_In_  REFGUID 
)

◆ SafeArraySetRecordInfo()

HRESULT WINAPI SafeArraySetRecordInfo ( _In_ SAFEARRAY ,
_In_ IRecordInfo  
)

◆ SafeArrayUnaccessData()

HRESULT WINAPI SafeArrayUnaccessData ( _In_ SAFEARRAY )

◆ SafeArrayUnlock()

HRESULT WINAPI SafeArrayUnlock ( _In_ SAFEARRAY )

◆ SetErrorInfo()

HRESULT WINAPI SetErrorInfo ( _In_  ULONG,
_In_opt_ IErrorInfo  
)

◆ SysAllocString()

BSTR WINAPI SysAllocString ( _In_opt_z_ const OLECHAR )

◆ SysAllocStringByteLen()

BSTR WINAPI SysAllocStringByteLen ( _In_opt_z_  LPCSTR,
_In_  UINT 
)

◆ SysFreeString()

void WINAPI SysFreeString ( _In_opt_  BSTR)

◆ SysReAllocString()

INT WINAPI SysReAllocString ( _Inout_ _At_(*,(psz+  1) const

◆ SysReAllocStringLen()

_Check_return_ int WINAPI SysReAllocStringLen ( _Inout_ _At_(*,+  1len) const

◆ SystemTimeToVariantTime()

INT WINAPI SystemTimeToVariantTime ( _In_  LPSYSTEMTIME,
_Out_ double  
)

◆ UnRegisterTypeLib()

_Check_return_ HRESULT WINAPI UnRegisterTypeLib ( REFGUID  libid,
WORD  wVerMajor,
WORD  wVerMinor,
LCID  lcid,
SYSKIND  syskind 
)

Definition at line 882 of file typelib.c.

888{
889 BSTR tlibPath = NULL;
890 DWORD tmpLength;
891 WCHAR keyName[60];
892 WCHAR subKeyName[50];
893 int result = S_OK;
894 DWORD i = 0;
895 BOOL deleteOtherStuff;
896 HKEY key = NULL;
897 TYPEATTR* typeAttr = NULL;
898 TYPEKIND kind;
899 ITypeInfo* typeInfo = NULL;
900 ITypeLib* typeLib = NULL;
901 int numTypes;
902
903 TRACE("(IID: %s)\n",debugstr_guid(libid));
904
905 /* Create the path to the key */
906 get_typelib_key( libid, wVerMajor, wVerMinor, keyName );
907
908 if (syskind != SYS_WIN16 && syskind != SYS_WIN32 && syskind != SYS_WIN64)
909 {
910 TRACE("Unsupported syskind %i\n", syskind);
912 goto end;
913 }
914
915 /* get the path to the typelib on disk */
916 if (query_typelib_path(libid, wVerMajor, wVerMinor, syskind, lcid, &tlibPath, FALSE) != S_OK) {
918 goto end;
919 }
920
921 /* Try and open the key to the type library. */
924 goto end;
925 }
926
927 /* Try and load the type library */
928 if (LoadTypeLibEx(tlibPath, REGKIND_NONE, &typeLib) != S_OK) {
930 goto end;
931 }
932
933 /* remove any types registered with this typelib */
934 numTypes = ITypeLib_GetTypeInfoCount(typeLib);
935 for (i=0; i<numTypes; i++) {
936 /* get the kind of type */
937 if (ITypeLib_GetTypeInfoType(typeLib, i, &kind) != S_OK) {
938 goto enddeleteloop;
939 }
940
941 /* skip non-interfaces, and get type info for the type */
942 if ((kind != TKIND_INTERFACE) && (kind != TKIND_DISPATCH)) {
943 goto enddeleteloop;
944 }
945 if (ITypeLib_GetTypeInfo(typeLib, i, &typeInfo) != S_OK) {
946 goto enddeleteloop;
947 }
948 if (ITypeInfo_GetTypeAttr(typeInfo, &typeAttr) != S_OK) {
949 goto enddeleteloop;
950 }
951
952