From 81d19be889299187c22962c8f5928141140587e1 Mon Sep 17 00:00:00 2001 From: Jon Griffiths Date: Mon, 18 Aug 2003 19:59:47 +0000 Subject: [PATCH] Make I1 fields explicitly signed. Add support for I8 fields in variants. Add a missing undocumented FADF_ flag. --- include/oaidl.h | 14 ++++++++++---- include/oaidl.idl | 15 ++++++++++----- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/include/oaidl.h b/include/oaidl.h index b48c9280c1e..71bc79b76f2 100644 --- a/include/oaidl.h +++ b/include/oaidl.h @@ -150,6 +150,8 @@ void __RPC_USER LPSAFEARRAY_UserFree (unsigned long *, LPSAFEARRA #define FADF_RESERVED (0xf008) +#define FADF_DATADELETED (0x1000) + #define FADF_CREATEVECTOR (0x2000) #if (__STDC__ && !defined(_FORCENAMELESSUNION)) || defined(NONAMELESSUNION) @@ -179,7 +181,7 @@ struct tagVARIANT { WORD wReserved2; WORD wReserved3; union { - CHAR cVal; + signed char cVal; USHORT uiVal; ULONG ulVal; INT intVal; @@ -197,7 +199,9 @@ struct tagVARIANT { IUnknown *punkVal; IDispatch *pdispVal; SAFEARRAY *parray; - CHAR *pcVal; + LONGLONG llVal; + ULONGLONG ullVal; + signed char *pcVal; USHORT *puiVal; ULONG *pulVal; INT *pintVal; @@ -218,6 +222,8 @@ struct tagVARIANT { IUnknown **ppunkVal; IDispatch **ppdispVal; SAFEARRAY **pparray; + LONGLONG *pllVal; + ULONGLONG *pullVal; struct __tagBRECORD { PVOID pvRecord; IRecordInfo *pRecInfo; @@ -249,7 +255,7 @@ struct _wireVARIANT { USHORT wReserved2; USHORT wReserved3; union { - CHAR cVal; + signed char cVal; USHORT uiVal; ULONG ulVal; INT intVal; @@ -268,7 +274,7 @@ struct _wireVARIANT { IUnknown *punkVal; IDispatch *pdispVal; wireSAFEARRAY parray; - CHAR *pcVal; + signed char *pcVal; USHORT *puiVal; ULONG *pulVal; INT *pintVal; diff --git a/include/oaidl.idl b/include/oaidl.idl index 440e662ad3f..89c5c6ca0e1 100644 --- a/include/oaidl.idl +++ b/include/oaidl.idl @@ -135,7 +135,8 @@ const USHORT FADF_DISPATCH = 0x0400; const USHORT FADF_VARIANT = 0x0800; const USHORT FADF_RESERVED = 0xF008; /* Undocumented flags */ -const USHORT FADF_CREATEVECTOR = 0x2000; /* set when the safe array is created using SafeArrayCreateVector */ +const USHORT FADF_DATADELETED = 0x1000; /* Data in a vector has been deleted */ +const USHORT FADF_CREATEVECTOR = 0x2000; /* This array is a vector */ /* Variant */ @@ -163,7 +164,7 @@ struct tagVARIANT { WORD wReserved2; WORD wReserved3; union { - CHAR cVal; + signed char cVal; USHORT uiVal; ULONG ulVal; INT intVal; @@ -184,7 +185,9 @@ struct tagVARIANT { IUnknown *punkVal; IDispatch *pdispVal; SAFEARRAY *parray; - CHAR *pcVal; + LONGLONG llVal; + ULONGLONG ullVal; + signed char *pcVal; USHORT *puiVal; ULONG *pulVal; INT *pintVal; @@ -208,6 +211,8 @@ struct tagVARIANT { IUnknown **ppunkVal; IDispatch **ppdispVal; SAFEARRAY **pparray; + LONGLONG *pllVal; + ULONGLONG *pullVal; struct __tagBRECORD { PVOID pvRecord; IRecordInfo *pRecInfo; @@ -239,7 +244,7 @@ struct _wireVARIANT { USHORT wReserved3; [switch_is(vt)] union { [case(VT_EMPTY, VT_NULL)] ; - [case(VT_I1)] CHAR cVal; + [case(VT_I1)] signed char cVal; [case(VT_UI2)] USHORT uiVal; [case(VT_UI4)] ULONG ulVal; [case(VT_INT)] INT intVal; @@ -258,7 +263,7 @@ struct _wireVARIANT { [case(VT_UNKNOWN)] IUnknown *punkVal; [case(VT_DISPATCH)] IDispatch *pdispVal; [case(VT_ARRAY)] wireSAFEARRAY parray; - [case(VT_I1|VT_BYREF)] CHAR *pcVal; + [case(VT_I1|VT_BYREF)] signed char *pcVal; [case(VT_UI2|VT_BYREF)] USHORT *puiVal; [case(VT_UI4|VT_BYREF)] ULONG *pulVal; [case(VT_INT|VT_BYREF)] INT *pintVal;