From d7a08744170f128f64719d6577e7593dbbe6069a Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sat, 17 Aug 2013 15:39:59 +0000 Subject: [PATCH] [PSDK] * Annotate oleauto.h. svn path=/trunk/; revision=59761 --- reactos/include/psdk/oleauto.h | 1012 +++++++++++++++++++++----------- 1 file changed, 662 insertions(+), 350 deletions(-) diff --git a/reactos/include/psdk/oleauto.h b/reactos/include/psdk/oleauto.h index f9862e73274..0fb083338fc 100644 --- a/reactos/include/psdk/oleauto.h +++ b/reactos/include/psdk/oleauto.h @@ -38,60 +38,158 @@ DEFINE_OLEGUID(IID_StdOle, 0x00020430,0,0); ULONG WINAPI OaBuildVersion(void); /* BSTR functions */ -BSTR WINAPI SysAllocString(const OLECHAR*); -BSTR WINAPI SysAllocStringByteLen(LPCSTR,UINT); -BSTR WINAPI SysAllocStringLen(const OLECHAR*,UINT); -void WINAPI SysFreeString(BSTR); -INT WINAPI SysReAllocString(LPBSTR,const OLECHAR*); -int WINAPI SysReAllocStringLen(BSTR*,const OLECHAR*,UINT); -UINT WINAPI SysStringByteLen(BSTR); -UINT WINAPI SysStringLen(BSTR); +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*, + UINT ui); + +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); /* IErrorInfo helpers */ -HRESULT WINAPI SetErrorInfo(ULONG,IErrorInfo*); -HRESULT WINAPI GetErrorInfo(ULONG,IErrorInfo**); -HRESULT WINAPI CreateErrorInfo(ICreateErrorInfo**); +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 functions */ -SAFEARRAY* WINAPI SafeArrayCreate(VARTYPE,UINT,SAFEARRAYBOUND*); -SAFEARRAY* WINAPI SafeArrayCreateEx(VARTYPE,UINT,SAFEARRAYBOUND*,LPVOID); -SAFEARRAY* WINAPI SafeArrayCreateVector(VARTYPE,LONG,ULONG); -SAFEARRAY* WINAPI SafeArrayCreateVectorEx(VARTYPE,LONG,ULONG,LPVOID); -HRESULT WINAPI SafeArrayAllocDescriptor(UINT,SAFEARRAY**); -HRESULT WINAPI SafeArrayAllocDescriptorEx(VARTYPE,UINT,SAFEARRAY**); -HRESULT WINAPI SafeArrayAllocData(SAFEARRAY*); -HRESULT WINAPI SafeArrayDestroyDescriptor(SAFEARRAY*); -HRESULT WINAPI SafeArrayPutElement(SAFEARRAY*,LONG*,void*); -HRESULT WINAPI SafeArrayGetElement(SAFEARRAY*,LONG*,void*); -HRESULT WINAPI SafeArrayLock(SAFEARRAY*); -HRESULT WINAPI SafeArrayUnlock(SAFEARRAY*); -HRESULT WINAPI SafeArrayGetUBound(SAFEARRAY*,UINT,LONG*); -HRESULT WINAPI SafeArrayGetLBound(SAFEARRAY*,UINT,LONG*); -UINT WINAPI SafeArrayGetDim(SAFEARRAY*); -UINT WINAPI SafeArrayGetElemsize(SAFEARRAY*); -HRESULT WINAPI SafeArrayGetVartype(SAFEARRAY*,VARTYPE*); -HRESULT WINAPI SafeArrayAccessData(SAFEARRAY*,void**); -HRESULT WINAPI SafeArrayUnaccessData(SAFEARRAY*); -HRESULT WINAPI SafeArrayPtrOfIndex(SAFEARRAY*,LONG*,void **); -HRESULT WINAPI SafeArrayCopyData(SAFEARRAY*,SAFEARRAY*); -HRESULT WINAPI SafeArrayDestroyData(SAFEARRAY*); -HRESULT WINAPI SafeArrayDestroy(SAFEARRAY*); -HRESULT WINAPI SafeArrayCopy(SAFEARRAY*,SAFEARRAY**); -HRESULT WINAPI SafeArrayRedim(SAFEARRAY*,SAFEARRAYBOUND*); -HRESULT WINAPI SafeArraySetRecordInfo(SAFEARRAY*,IRecordInfo*); -HRESULT WINAPI SafeArrayGetRecordInfo(SAFEARRAY*,IRecordInfo**); -HRESULT WINAPI SafeArraySetIID(SAFEARRAY*,REFGUID); -HRESULT WINAPI SafeArrayGetIID(SAFEARRAY*,GUID*); +SAFEARRAY* +WINAPI +SafeArrayCreate( + _In_ VARTYPE, + _In_ UINT, + _In_ SAFEARRAYBOUND*); -HRESULT WINAPI VectorFromBstr(BSTR,SAFEARRAY**); -HRESULT WINAPI BstrFromVector(SAFEARRAY*,BSTR*); +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*); /* Object registration helpers */ #define ACTIVEOBJECT_STRONG 0 #define ACTIVEOBJECT_WEAK 1 -HRESULT WINAPI RegisterActiveObject(LPUNKNOWN,REFCLSID,DWORD,LPDWORD); +_Check_return_ +HRESULT +WINAPI +RegisterActiveObject( + LPUNKNOWN, + REFCLSID, + DWORD, + LPDWORD); + HRESULT WINAPI RevokeActiveObject(DWORD,LPVOID); HRESULT WINAPI GetActiveObject(REFCLSID,LPVOID,LPUNKNOWN*); @@ -180,12 +278,29 @@ HRESULT WINAPI GetRecordInfoFromGuids(REFGUID,ULONG,ULONG,LCID,REFGUID,IRecordIn #define V_UNKNOWNREF(A) V_UNION(A,ppunkVal) #define V_VARIANTREF(A) V_UNION(A,pvarVal) -void WINAPI VariantInit(VARIANT*); -HRESULT WINAPI VariantClear(VARIANT*); -HRESULT WINAPI VariantCopy(VARIANT*,VARIANT*); -HRESULT WINAPI VariantCopyInd(VARIANT*,VARIANT*); -HRESULT WINAPI VariantChangeType(VARIANT*,VARIANT*,USHORT,VARTYPE); -HRESULT WINAPI VariantChangeTypeEx(VARIANT*,VARIANT*,LCID,USHORT,VARTYPE); +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); /* VariantChangeType/VariantChangeTypeEx flags */ #define VARIANT_NOVALUEPROP 0x01 /* Don't get the default value property from IDispatch */ @@ -222,247 +337,247 @@ HRESULT WINAPI VariantChangeTypeEx(VARIANT*,VARIANT*,LCID,USHORT,VARTYPE); #define VTDATEGRE_MIN -657434 /* Minimum possible Gregorian date: 1/1/100 */ #define VTDATEGRE_MAX 2958465 /* Maximum possible Gregorian date: 31/12/9999 */ -HRESULT WINAPI VarUI1FromI2(SHORT,BYTE*); -HRESULT WINAPI VarUI1FromI4(LONG,BYTE*); -HRESULT WINAPI VarUI1FromI8(LONG64,BYTE*); -HRESULT WINAPI VarUI1FromR4(FLOAT,BYTE*); -HRESULT WINAPI VarUI1FromR8(DOUBLE,BYTE*); -HRESULT WINAPI VarUI1FromDate(DATE,BYTE*); -HRESULT WINAPI VarUI1FromBool(VARIANT_BOOL,BYTE*); -HRESULT WINAPI VarUI1FromI1(signed char,BYTE*); -HRESULT WINAPI VarUI1FromUI2(USHORT,BYTE*); -HRESULT WINAPI VarUI1FromUI4(ULONG,BYTE*); -HRESULT WINAPI VarUI1FromUI8(ULONG64,BYTE*); -HRESULT WINAPI VarUI1FromStr(OLECHAR*,LCID,ULONG,BYTE*); -HRESULT WINAPI VarUI1FromCy(CY,BYTE*); -HRESULT WINAPI VarUI1FromDec(DECIMAL*,BYTE*); -HRESULT WINAPI VarUI1FromDisp(IDispatch*,LCID,BYTE*); +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,SHORT*); -HRESULT WINAPI VarI2FromI4(LONG,SHORT*); -HRESULT WINAPI VarI2FromI8(LONG64,SHORT*); -HRESULT WINAPI VarI2FromR4(FLOAT,SHORT*); -HRESULT WINAPI VarI2FromR8(DOUBLE,SHORT*); -HRESULT WINAPI VarI2FromDate(DATE,SHORT*); -HRESULT WINAPI VarI2FromBool(VARIANT_BOOL,SHORT*); -HRESULT WINAPI VarI2FromI1(signed char,SHORT*); -HRESULT WINAPI VarI2FromUI2(USHORT,SHORT*); -HRESULT WINAPI VarI2FromUI4(ULONG,SHORT*); -HRESULT WINAPI VarI2FromUI8(ULONG64,SHORT*); -HRESULT WINAPI VarI2FromStr(OLECHAR*,LCID,ULONG,SHORT*); +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(DECIMAL*,SHORT*); -HRESULT WINAPI VarI2FromDisp(IDispatch*,LCID,SHORT*); +HRESULT WINAPI VarI2FromDec(_In_ DECIMAL*, _Out_ SHORT*); +HRESULT WINAPI VarI2FromDisp(IDispatch*, LCID, _Out_ SHORT*); -HRESULT WINAPI VarI4FromUI1(BYTE,LONG*); -HRESULT WINAPI VarI4FromI2(SHORT,LONG*); -HRESULT WINAPI VarI4FromI8(LONG64,LONG*); -HRESULT WINAPI VarI4FromR4(FLOAT,LONG*); -HRESULT WINAPI VarI4FromR8(DOUBLE,LONG*); -HRESULT WINAPI VarI4FromDate(DATE,LONG*); -HRESULT WINAPI VarI4FromBool(VARIANT_BOOL,LONG*); -HRESULT WINAPI VarI4FromI1(signed char,LONG*); -HRESULT WINAPI VarI4FromUI2(USHORT,LONG*); -HRESULT WINAPI VarI4FromUI4(ULONG,LONG*); -HRESULT WINAPI VarI4FromUI8(ULONG64,LONG*); -HRESULT WINAPI VarI4FromStr(OLECHAR*,LCID,ULONG,LONG*); -HRESULT WINAPI VarI4FromCy(CY,LONG*); -HRESULT WINAPI VarI4FromDec(DECIMAL*,LONG*); -HRESULT WINAPI VarI4FromDisp(IDispatch*,LCID,LONG*); +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,LONG64*); -HRESULT WINAPI VarI8FromI2(SHORT,LONG64*); +HRESULT WINAPI VarI8FromUI1(BYTE, _Out_ LONG64*); +HRESULT WINAPI VarI8FromI2(SHORT, _Out_ LONG64*); HRESULT WINAPI VarI8FromI4(LONG,LONG64*); -HRESULT WINAPI VarI8FromR4(FLOAT,LONG64*); -HRESULT WINAPI VarI8FromR8(DOUBLE,LONG64*); -HRESULT WINAPI VarI8FromDate(DATE,LONG64*); -HRESULT WINAPI VarI8FromStr(OLECHAR*,LCID,ULONG,LONG64*); -HRESULT WINAPI VarI8FromBool(VARIANT_BOOL,LONG64*); -HRESULT WINAPI VarI8FromI1(signed char,LONG64*); -HRESULT WINAPI VarI8FromUI2(USHORT,LONG64*); -HRESULT WINAPI VarI8FromUI4(ULONG,LONG64*); -HRESULT WINAPI VarI8FromUI8(ULONG64,LONG64*); -HRESULT WINAPI VarI8FromDec(DECIMAL *pdecIn,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(CY,LONG64*); -HRESULT WINAPI VarI8FromDisp(IDispatch*,LCID,LONG64*); +HRESULT WINAPI VarI8FromCy(_In_ CY, _Out_ LONG64*); +HRESULT WINAPI VarI8FromDisp(IDispatch*, _In_ LCID, _Out_ LONG64*); -HRESULT WINAPI VarR4FromUI1(BYTE,FLOAT*); -HRESULT WINAPI VarR4FromI2(SHORT,FLOAT*); -HRESULT WINAPI VarR4FromI4(LONG,FLOAT*); -HRESULT WINAPI VarR4FromI8(LONG64,FLOAT*); -HRESULT WINAPI VarR4FromR8(DOUBLE,FLOAT*); -HRESULT WINAPI VarR4FromDate(DATE,FLOAT*); -HRESULT WINAPI VarR4FromBool(VARIANT_BOOL,FLOAT*); -HRESULT WINAPI VarR4FromI1(signed char,FLOAT*); -HRESULT WINAPI VarR4FromUI2(USHORT,FLOAT*); -HRESULT WINAPI VarR4FromUI4(ULONG,FLOAT*); -HRESULT WINAPI VarR4FromUI8(ULONG64,FLOAT*); -HRESULT WINAPI VarR4FromStr(OLECHAR*,LCID,ULONG,FLOAT*); +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(DECIMAL*,FLOAT*); -HRESULT WINAPI VarR4FromDisp(IDispatch*,LCID,FLOAT*); +HRESULT WINAPI VarR4FromDec(_In_ DECIMAL*, _Out_ FLOAT*); +HRESULT WINAPI VarR4FromDisp(IDispatch*, LCID, _Out_ FLOAT*); -HRESULT WINAPI VarR8FromUI1(BYTE,double*); -HRESULT WINAPI VarR8FromI2(SHORT,double*); -HRESULT WINAPI VarR8FromI4(LONG,double*); -HRESULT WINAPI VarR8FromI8(LONG64,double*); -HRESULT WINAPI VarR8FromR4(FLOAT,double*); -HRESULT WINAPI VarR8FromDate(DATE,double*); -HRESULT WINAPI VarR8FromBool(VARIANT_BOOL,double*); +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,double*); -HRESULT WINAPI VarR8FromUI4(ULONG,double*); -HRESULT WINAPI VarR8FromUI8(ULONG64,double*); -HRESULT WINAPI VarR8FromStr(OLECHAR*,LCID,ULONG,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(const DECIMAL*,double*); -HRESULT WINAPI VarR8FromDisp(IDispatch*,LCID,double*); +HRESULT WINAPI VarR8FromDec(_In_ const DECIMAL*, _Out_ double*); +HRESULT WINAPI VarR8FromDisp(IDispatch*, LCID, _Out_ double*); -HRESULT WINAPI VarDateFromUI1(BYTE,DATE*); -HRESULT WINAPI VarDateFromI2(SHORT,DATE*); -HRESULT WINAPI VarDateFromI4(LONG,DATE*); -HRESULT WINAPI VarDateFromI8(LONG64,DATE*); -HRESULT WINAPI VarDateFromR4(FLOAT,DATE*); -HRESULT WINAPI VarDateFromR8(DOUBLE,DATE*); -HRESULT WINAPI VarDateFromStr(OLECHAR*,LCID,ULONG,DATE*); -HRESULT WINAPI VarDateFromI1(signed char,DATE*); -HRESULT WINAPI VarDateFromUI2(USHORT,DATE*); -HRESULT WINAPI VarDateFromUI4(ULONG,DATE*); -HRESULT WINAPI VarDateFromUI8(ULONG64,DATE*); -HRESULT WINAPI VarDateFromBool(VARIANT_BOOL,DATE*); -HRESULT WINAPI VarDateFromCy(CY,DATE*); -HRESULT WINAPI VarDateFromDec(DECIMAL*,DATE*); -HRESULT WINAPI VarDateFromDisp(IDispatch*,LCID,DATE*); +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,CY*); -HRESULT WINAPI VarCyFromI2(SHORT sIn,CY*); -HRESULT WINAPI VarCyFromI4(LONG,CY*); -HRESULT WINAPI VarCyFromI8(LONG64,CY*); -HRESULT WINAPI VarCyFromR4(FLOAT,CY*); -HRESULT WINAPI VarCyFromR8(DOUBLE,CY*); -HRESULT WINAPI VarCyFromDate(DATE,CY*); -HRESULT WINAPI VarCyFromStr(OLECHAR*,LCID,ULONG,CY*); -HRESULT WINAPI VarCyFromBool(VARIANT_BOOL,CY*); -HRESULT WINAPI VarCyFromI1(signed char,CY*); -HRESULT WINAPI VarCyFromUI2(USHORT,CY*); -HRESULT WINAPI VarCyFromUI4(ULONG,CY*); -HRESULT WINAPI VarCyFromUI8(ULONG64,CY*); -HRESULT WINAPI VarCyFromDec(DECIMAL*,CY*); -HRESULT WINAPI VarCyFromDisp(IDispatch*,LCID,CY*); +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,BSTR*); +HRESULT WINAPI VarBstrFromUI1(BYTE, LCID, ULONG, _Out_ BSTR*); HRESULT WINAPI VarBstrFromI2(SHORT,LCID,ULONG,BSTR*); -HRESULT WINAPI VarBstrFromI4(LONG,LCID,ULONG,BSTR*); -HRESULT WINAPI VarBstrFromI8(LONG64,LCID,ULONG,BSTR*); -HRESULT WINAPI VarBstrFromR4(FLOAT,LCID,ULONG,BSTR*); -HRESULT WINAPI VarBstrFromR8(DOUBLE,LCID,ULONG,BSTR*); -HRESULT WINAPI VarBstrFromDate(DATE,LCID,ULONG,BSTR*); -HRESULT WINAPI VarBstrFromBool(VARIANT_BOOL,LCID,ULONG,BSTR*); -HRESULT WINAPI VarBstrFromI1(signed char,LCID,ULONG,BSTR*); -HRESULT WINAPI VarBstrFromUI2(USHORT,LCID,ULONG,BSTR*); -HRESULT WINAPI VarBstrFromUI8(ULONG64,LCID,ULONG,BSTR*); -HRESULT WINAPI VarBstrFromUI4(ULONG,LCID,ULONG,BSTR*); -HRESULT WINAPI VarBstrFromCy(CY,LCID,ULONG,BSTR*); -HRESULT WINAPI VarBstrFromDec(DECIMAL*,LCID,ULONG,BSTR*); -HRESULT WINAPI VarBstrFromDisp(IDispatch*,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,VARIANT_BOOL*); -HRESULT WINAPI VarBoolFromI2(SHORT,VARIANT_BOOL*); -HRESULT WINAPI VarBoolFromI4(LONG,VARIANT_BOOL*); -HRESULT WINAPI VarBoolFromI8(LONG64,VARIANT_BOOL*); -HRESULT WINAPI VarBoolFromR4(FLOAT,VARIANT_BOOL*); -HRESULT WINAPI VarBoolFromR8(DOUBLE,VARIANT_BOOL*); -HRESULT WINAPI VarBoolFromDate(DATE,VARIANT_BOOL*); -HRESULT WINAPI VarBoolFromStr(OLECHAR*,LCID,ULONG,VARIANT_BOOL*); -HRESULT WINAPI VarBoolFromI1(signed char,VARIANT_BOOL*); -HRESULT WINAPI VarBoolFromUI2(USHORT,VARIANT_BOOL*); -HRESULT WINAPI VarBoolFromUI4(ULONG,VARIANT_BOOL*); -HRESULT WINAPI VarBoolFromUI8(ULONG64,VARIANT_BOOL*); -HRESULT WINAPI VarBoolFromCy(CY,VARIANT_BOOL*); -HRESULT WINAPI VarBoolFromDec(DECIMAL*,VARIANT_BOOL*); -HRESULT WINAPI VarBoolFromDisp(IDispatch*,LCID,VARIANT_BOOL*); +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(BYTE,signed char*); -HRESULT WINAPI VarI1FromI2(SHORT,signed char*); -HRESULT WINAPI VarI1FromI4(LONG,signed char*); -HRESULT WINAPI VarI1FromI8(LONG64,signed char*); -HRESULT WINAPI VarI1FromR4(FLOAT,signed char*); -HRESULT WINAPI VarI1FromR8(DOUBLE,signed char*); -HRESULT WINAPI VarI1FromDate(DATE,signed char*); -HRESULT WINAPI VarI1FromStr(OLECHAR*,LCID,ULONG,signed char*); -HRESULT WINAPI VarI1FromBool(VARIANT_BOOL,signed char*); -HRESULT WINAPI VarI1FromUI2(USHORT,signed char*); -HRESULT WINAPI VarI1FromUI4(ULONG,signed char*); -HRESULT WINAPI VarI1FromUI8(ULONG64,signed char*); -HRESULT WINAPI VarI1FromCy(CY,signed char*); -HRESULT WINAPI VarI1FromDec(DECIMAL*,signed char*); -HRESULT WINAPI VarI1FromDisp(IDispatch*,LCID,signed char*); +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,USHORT*); -HRESULT WINAPI VarUI2FromI2(SHORT,USHORT*); -HRESULT WINAPI VarUI2FromI4(LONG,USHORT*); -HRESULT WINAPI VarUI2FromI8(LONG64,USHORT*); -HRESULT WINAPI VarUI2FromR4(FLOAT,USHORT*); +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,USHORT*); -HRESULT WINAPI VarUI2FromStr(OLECHAR*,LCID,ULONG,USHORT*); -HRESULT WINAPI VarUI2FromBool(VARIANT_BOOL,USHORT*); -HRESULT WINAPI VarUI2FromI1(signed char,USHORT*); -HRESULT WINAPI VarUI2FromUI4(ULONG,USHORT*); -HRESULT WINAPI VarUI2FromUI8(ULONG64,USHORT*); -HRESULT WINAPI VarUI2FromCy(CY,USHORT*); -HRESULT WINAPI VarUI2FromDec(DECIMAL*,USHORT*); -HRESULT WINAPI VarUI2FromDisp(IDispatch*,LCID,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(OLECHAR*,LCID,ULONG,ULONG*); -HRESULT WINAPI VarUI4FromUI1(BYTE,ULONG*); -HRESULT WINAPI VarUI4FromI2(SHORT,ULONG*); -HRESULT WINAPI VarUI4FromI4(LONG,ULONG*); -HRESULT WINAPI VarUI4FromI8(LONG64,ULONG*); -HRESULT WINAPI VarUI4FromR4(FLOAT,ULONG*); -HRESULT WINAPI VarUI4FromR8(DOUBLE,ULONG*); -HRESULT WINAPI VarUI4FromDate(DATE,ULONG*); -HRESULT WINAPI VarUI4FromBool(VARIANT_BOOL,ULONG*); -HRESULT WINAPI VarUI4FromI1(signed char,ULONG*); -HRESULT WINAPI VarUI4FromUI2(USHORT,ULONG*); -HRESULT WINAPI VarUI4FromUI8(ULONG64,ULONG*); -HRESULT WINAPI VarUI4FromCy(CY,ULONG*); -HRESULT WINAPI VarUI4FromDec(DECIMAL*,ULONG*); -HRESULT WINAPI VarUI4FromDisp(IDispatch*,LCID,ULONG*); +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,ULONG64*); -HRESULT WINAPI VarUI8FromI2(SHORT,ULONG64*); -HRESULT WINAPI VarUI8FromI4(LONG,ULONG64*); -HRESULT WINAPI VarUI8FromI8(LONG64,ULONG64*); -HRESULT WINAPI VarUI8FromR4(FLOAT,ULONG64*); -HRESULT WINAPI VarUI8FromR8(DOUBLE,ULONG64*); -HRESULT WINAPI VarUI8FromDate(DATE,ULONG64*); -HRESULT WINAPI VarUI8FromStr(OLECHAR*,LCID,ULONG,ULONG64*); -HRESULT WINAPI VarUI8FromBool(VARIANT_BOOL,ULONG64*); -HRESULT WINAPI VarUI8FromI1(signed char,ULONG64*); -HRESULT WINAPI VarUI8FromUI2(USHORT,ULONG64*); -HRESULT WINAPI VarUI8FromUI4(ULONG,ULONG64*); -HRESULT WINAPI VarUI8FromDec(DECIMAL*,ULONG64*); +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,ULONG64*); -HRESULT WINAPI VarUI8FromDisp(IDispatch*,LCID,ULONG64*); +HRESULT WINAPI VarUI8FromCy(CY, _Out_ ULONG64*); +HRESULT WINAPI VarUI8FromDisp(_In_ IDispatch*, LCID, _Out_ ULONG64*); -HRESULT WINAPI VarDecFromUI1(BYTE,DECIMAL*); -HRESULT WINAPI VarDecFromI2(SHORT,DECIMAL*); -HRESULT WINAPI VarDecFromI4(LONG,DECIMAL*); -HRESULT WINAPI VarDecFromI8(LONG64,DECIMAL*); -HRESULT WINAPI VarDecFromR4(FLOAT,DECIMAL*); -HRESULT WINAPI VarDecFromR8(DOUBLE,DECIMAL*); -HRESULT WINAPI VarDecFromDate(DATE,DECIMAL*); -HRESULT WINAPI VarDecFromStr(OLECHAR*,LCID,ULONG,DECIMAL*); -HRESULT WINAPI VarDecFromBool(VARIANT_BOOL,DECIMAL*); -HRESULT WINAPI VarDecFromI1(signed char,DECIMAL*); -HRESULT WINAPI VarDecFromUI2(USHORT,DECIMAL*); -HRESULT WINAPI VarDecFromUI4(ULONG,DECIMAL*); -HRESULT WINAPI VarDecFromUI8(ULONG64,DECIMAL*); -HRESULT WINAPI VarDecFromCy(CY,DECIMAL*); -HRESULT WINAPI VarDecFromDisp(IDispatch*,LCID,DECIMAL*); +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*); #define VarUI4FromUI4( in,pOut ) ( *(pOut) = (in) ) #define VarI4FromI4( in,pOut ) ( *(pOut) = (in) ) @@ -540,62 +655,62 @@ HRESULT WINAPI VarDecFromDisp(IDispatch*,LCID,DECIMAL*); #define VARCMP_GT 2 #define VARCMP_NULL 3 -HRESULT WINAPI VarR4CmpR8(float,double); +HRESULT WINAPI VarR4CmpR8(_In_ float, _In_ double); -HRESULT WINAPI VarR8Pow(double,double,double*); -HRESULT WINAPI VarR8Round(double,int,double*); +HRESULT WINAPI VarR8Pow(_In_ double, _In_ double, _Out_ double*); +HRESULT WINAPI VarR8Round(_In_ double, _In_ int, _Out_ double*); -HRESULT WINAPI VarDecAbs(const DECIMAL*,DECIMAL*); -HRESULT WINAPI VarDecAdd(const DECIMAL*,const DECIMAL*,DECIMAL*); -HRESULT WINAPI VarDecCmp(const DECIMAL*,const DECIMAL*); -HRESULT WINAPI VarDecCmpR8(const DECIMAL*,DOUBLE); -HRESULT WINAPI VarDecDiv(const DECIMAL*,const DECIMAL*,DECIMAL*); -HRESULT WINAPI VarDecFix(const DECIMAL*,DECIMAL*); -HRESULT WINAPI VarDecInt(const DECIMAL*,DECIMAL*); -HRESULT WINAPI VarDecMul(const DECIMAL*,const DECIMAL*,DECIMAL*); -HRESULT WINAPI VarDecNeg(const DECIMAL*,DECIMAL*); -HRESULT WINAPI VarDecRound(const DECIMAL*,int,DECIMAL*); -HRESULT WINAPI VarDecSub(const DECIMAL*,const DECIMAL*,DECIMAL*); +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(const CY,CY*); -HRESULT WINAPI VarCyAdd(const CY,const CY,CY*); -HRESULT WINAPI VarCyCmp(const CY,const CY); -HRESULT WINAPI VarCyCmpR8(const CY,DOUBLE); -HRESULT WINAPI VarCyFix(const CY,CY*); -HRESULT WINAPI VarCyInt(const CY,CY*); -HRESULT WINAPI VarCyMul(const CY,CY,CY*); -HRESULT WINAPI VarCyMulI4(const CY,LONG,CY*); -HRESULT WINAPI VarCyMulI8(const CY,LONG64,CY*); -HRESULT WINAPI VarCyNeg(const CY,CY*); -HRESULT WINAPI VarCyRound(const CY,INT,CY*); -HRESULT WINAPI VarCySub(const CY,const CY,CY*); +HRESULT WINAPI VarCyAbs(_In_ const CY, _Out_ CY*); +HRESULT WINAPI VarCyAdd(_In_ const CY, _In_ const CY, _Out_ CY*); +HRESULT WINAPI VarCyCmp(_In_ const CY, _In_ const CY); +HRESULT WINAPI VarCyCmpR8(_In_ const CY, _In_ DOUBLE); +HRESULT WINAPI VarCyFix(_In_ const CY, _Out_ CY*); +HRESULT WINAPI VarCyInt(_In_ const CY, _Out_ CY*); +HRESULT WINAPI VarCyMul(_In_ const CY, _In_ CY, _Out_ CY*); +HRESULT WINAPI VarCyMulI4(_In_ const CY, _In_ LONG, _Out_ CY*); +HRESULT WINAPI VarCyMulI8(_In_ const CY, _In_ LONG64, _Out_ CY*); +HRESULT WINAPI VarCyNeg(_In_ const CY, _Out_ CY*); +HRESULT WINAPI VarCyRound(_In_ const CY, _In_ INT, _Out_ CY*); +HRESULT WINAPI VarCySub(_In_ const CY, _In_ const CY, _Out_ CY*); -HRESULT WINAPI VarAdd(LPVARIANT,LPVARIANT,LPVARIANT); -HRESULT WINAPI VarAnd(LPVARIANT,LPVARIANT,LPVARIANT); -HRESULT WINAPI VarCat(LPVARIANT,LPVARIANT,LPVARIANT); -HRESULT WINAPI VarDiv(LPVARIANT,LPVARIANT,LPVARIANT); -HRESULT WINAPI VarEqv(LPVARIANT,LPVARIANT,LPVARIANT); -HRESULT WINAPI VarIdiv(LPVARIANT,LPVARIANT,LPVARIANT); -HRESULT WINAPI VarImp(LPVARIANT,LPVARIANT,LPVARIANT); -HRESULT WINAPI VarMod(LPVARIANT,LPVARIANT,LPVARIANT); -HRESULT WINAPI VarMul(LPVARIANT,LPVARIANT,LPVARIANT); -HRESULT WINAPI VarOr(LPVARIANT,LPVARIANT,LPVARIANT); -HRESULT WINAPI VarPow(LPVARIANT,LPVARIANT,LPVARIANT); -HRESULT WINAPI VarSub(LPVARIANT,LPVARIANT,LPVARIANT); -HRESULT WINAPI VarXor(LPVARIANT,LPVARIANT,LPVARIANT); +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(LPVARIANT,LPVARIANT); -HRESULT WINAPI VarFix(LPVARIANT,LPVARIANT); -HRESULT WINAPI VarInt(LPVARIANT,LPVARIANT); -HRESULT WINAPI VarNeg(LPVARIANT,LPVARIANT); -HRESULT WINAPI VarNot(LPVARIANT,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(LPVARIANT,int,LPVARIANT); +HRESULT WINAPI VarRound(_In_ LPVARIANT, _In_ int, _Out_ LPVARIANT); -HRESULT WINAPI VarCmp(LPVARIANT,LPVARIANT,LCID,ULONG); +HRESULT WINAPI VarCmp(_In_ LPVARIANT, _In_ LPVARIANT, _In_ LCID, _In_ ULONG); -HRESULT WINAPI VarBstrCmp(BSTR,BSTR,LCID,ULONG); -HRESULT WINAPI VarBstrCat(BSTR,BSTR,BSTR*); +HRESULT WINAPI VarBstrCmp(_In_ BSTR, _In_ BSTR, _In_ LCID, _In_ ULONG); +HRESULT WINAPI VarBstrCat(_In_ BSTR, _In_ BSTR, _Out_ BSTR*); typedef struct { @@ -643,32 +758,131 @@ typedef struct #define VTBIT_CY (1 << VT_CY) #define VTBIT_DECIMAL (1 << VT_DECIMAL) -HRESULT WINAPI VarParseNumFromStr(OLECHAR*,LCID,ULONG,NUMPARSE*,BYTE*); -HRESULT WINAPI VarNumFromParseNum(NUMPARSE*,BYTE*,ULONG,VARIANT*); +_Check_return_ +HRESULT +WINAPI +VarParseNumFromStr( + _In_ OLECHAR*, + _In_ LCID, + _In_ ULONG, + _Out_ NUMPARSE*, + _Out_ BYTE*); -INT WINAPI DosDateTimeToVariantTime(USHORT,USHORT,double*); -INT WINAPI VariantTimeToDosDateTime(double,USHORT*,USHORT*); +_Check_return_ +HRESULT +WINAPI +VarNumFromParseNum( + _In_ NUMPARSE*, + _In_ BYTE*, + _In_ ULONG, + _Out_ VARIANT*); -INT WINAPI VariantTimeToSystemTime(DOUBLE,LPSYSTEMTIME); -INT WINAPI SystemTimeToVariantTime(LPSYSTEMTIME,double*); +INT WINAPI DosDateTimeToVariantTime(_In_ USHORT, _In_ USHORT, _Out_ double*); +INT WINAPI VariantTimeToDosDateTime(_In_ double, _Out_ USHORT*, _Out_ USHORT*); -HRESULT WINAPI VarDateFromUdate(UDATE*,ULONG,DATE*); -HRESULT WINAPI VarDateFromUdateEx(UDATE*,LCID,ULONG,DATE*); -HRESULT WINAPI VarUdateFromDate(DATE,ULONG,UDATE*); +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*); /* Variant formatting */ -HRESULT WINAPI VarWeekdayName(int,int,int,ULONG,BSTR*); -HRESULT WINAPI VarMonthName(int,int,ULONG,BSTR*); -HRESULT WINAPI GetAltMonthNames(LCID,LPOLESTR**); +HRESULT WINAPI VarWeekdayName(int, int, int, ULONG, _Out_ BSTR*); +HRESULT WINAPI VarMonthName(int, int, ULONG, _Out_ BSTR*); -HRESULT WINAPI VarFormat(LPVARIANT,LPOLESTR,int,int,ULONG,BSTR*); -HRESULT WINAPI VarFormatCurrency(LPVARIANT,int,int,int,int,ULONG,BSTR*); -HRESULT WINAPI VarFormatDateTime(LPVARIANT,int,ULONG,BSTR*); -HRESULT WINAPI VarFormatNumber(LPVARIANT,int,int,int,int,ULONG,BSTR*); -HRESULT WINAPI VarFormatPercent(LPVARIANT,int,int,int,int,ULONG,BSTR*); +_Check_return_ +HRESULT +WINAPI +GetAltMonthNames( + LCID, + _Outptr_result_buffer_maybenull_(13) LPOLESTR**); -HRESULT WINAPI VarFormatFromTokens(LPVARIANT,LPOLESTR,LPBYTE,ULONG,BSTR*,LCID); -HRESULT WINAPI VarTokenizeFormatString(LPOLESTR,LPBYTE,int,int,int,LCID,int*); +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*); /* @@ -709,14 +923,66 @@ typedef enum tagREGKIND REGKIND_NONE } REGKIND; -HRESULT WINAPI DispGetParam(DISPPARAMS*,UINT,VARTYPE,VARIANT*,UINT*); -HRESULT WINAPI DispGetIDsOfNames(ITypeInfo*,OLECHAR**,UINT,DISPID*); -HRESULT WINAPI DispInvoke(void*,ITypeInfo*,DISPID,WORD,DISPPARAMS*,VARIANT*, - EXCEPINFO*,UINT*); -HRESULT WINAPI CreateDispTypeInfo(INTERFACEDATA*,LCID,ITypeInfo**); -HRESULT WINAPI CreateStdDispatch(IUnknown*,void*,ITypeInfo*,IUnknown**); -HRESULT WINAPI DispCallFunc(void*,ULONG_PTR,CALLCONV,VARTYPE,UINT,VARTYPE*, - VARIANTARG**,VARIANT*); +_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*); /* @@ -742,15 +1008,61 @@ ULONG WINAPI LHashValOfNameSys(SYSKIND,LCID,LPCOLESTR); #define LOAD_TLB_AS_64BIT 0x40 #define MASK_TO_RESET_TLB_BITS ~(LOAD_TLB_AS_32BIT|LOAD_TLB_AS_64BIT) -HRESULT WINAPI CreateTypeLib(SYSKIND,const OLECHAR*,ICreateTypeLib**); -HRESULT WINAPI CreateTypeLib2(SYSKIND,LPCOLESTR,ICreateTypeLib2**); -HRESULT WINAPI LoadRegTypeLib(REFGUID,WORD,WORD,LCID,ITypeLib**); -HRESULT WINAPI LoadTypeLib(const OLECHAR*,ITypeLib**); -HRESULT WINAPI LoadTypeLibEx(LPCOLESTR,REGKIND,ITypeLib**); +_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); -HRESULT WINAPI RegisterTypeLib(ITypeLib*,OLECHAR*,OLECHAR*); -HRESULT WINAPI UnRegisterTypeLib(REFGUID,WORD,WORD,LCID,SYSKIND); -HRESULT WINAPI RegisterTypeLibForUser(ITypeLib*,OLECHAR*,OLECHAR*); + +_Check_return_ +HRESULT +WINAPI +RegisterTypeLib( + ITypeLib*, + _In_ OLECHAR*, + _In_opt_ OLECHAR*); + +_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);