|
From: Danny S. <dan...@us...> - 2001-08-14 23:16:43
|
Update of /cvsroot/mingw/w32api/include
In directory usw-pr-cvs1:/tmp/cvs-serv4982/w32api/include
Modified Files:
oaidl.h
Log Message:
* include/oaidl.h (tagVARIANT): Mark anonymous structs and unions
as __extension__.
(tagTYPEDESC): Ditto.
(_wireBRECORD): Add structure definition.
(_wireSAFEARR_BRECORD): Ditto.
(_wireSAFEARR_HAVEIID): Ditto.
(_wireSAFEARRAY_UNION.u): Add fields SAFEARR_BRECORD RecordStr,
SAFEARR_HAVEIID HaveIidStr.
(tagVariant): Add fields _VARIANT_BOOL bool,*pbool.
(_wireVARIANT): Change field parray to type wirePSAFEARRAY,
pparray to wirePSAFEARRAY*.
(_wireVARIANT): Add field wireBRECORD brecVal.
(wireVARIANT): Change typedef to struct _wireVariant*.
(IRecordInfo): Add interface definition.
(LPRECORDINFO): Add typedef for IRecordInfo*.
(IID_IRecordInfo): Add forward decalaration.
Index: oaidl.h
===================================================================
RCS file: /cvsroot/mingw/w32api/include/oaidl.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** oaidl.h 2001/08/02 02:51:25 1.2
--- oaidl.h 2001/08/14 23:16:40 1.3
***************
*** 62,65 ****
--- 62,66 ----
typedef interface ICreateErrorInfo *LPCREATEERRORINFO;
typedef interface ISupportErrorInfo *LPSUPPORTERRORINFO;
+ typedef interface IRecordInfo *LPRECORDINFO;
extern const IID IID_ITypeLib;
***************
*** 74,77 ****
--- 75,79 ----
extern const IID IID_ICreateErrorInfo;
extern const IID IID_ISupportErrorInfo;
+ extern const IID IID_IRecordInfo;
typedef enum tagSYSKIND {
***************
*** 123,126 ****
--- 125,143 ----
SF_VARIANT=VT_VARIANT
}SF_TYPE;
+ typedef struct _wireBRECORD {
+ ULONG fFlags;
+ ULONG clSize;
+ LPRECORDINFO* pRecInfo;
+ byte* pRecord;
+ } *wireBRECORD;
+ typedef struct _wireSAFEARR_BRECORD {
+ ULONG Size;
+ wireBRECORD* aRecord;
+ } SAFEARR_BRECORD;
+ typedef struct _wireSAFEARR_HAVEIID {
+ ULONG Size;
+ IUnknown** apUnknown;
+ IID iid;
+ } SAFEARR_HAVEIID;
typedef struct _wireSAFEARRAY_UNION {
ULONG sfType;
***************
*** 130,133 ****
--- 147,152 ----
SAFEARR_DISPATCH DispatchStr;
SAFEARR_VARIANT VariantStr;
+ SAFEARR_BRECORD RecordStr;
+ SAFEARR_HAVEIID HaveIidStr;
BYTE_SIZEDARR ByteStr;
WORD_SIZEDARR WordStr;
***************
*** 154,164 ****
}SAFEARRAY,*LPSAFEARRAY;
typedef struct tagVARIANT {
! union {
! struct __tagVARIANT {
VARTYPE vt;
WORD wReserved1;
WORD wReserved2;
WORD wReserved3;
! union {
long lVal;
unsigned char bVal;
--- 173,183 ----
}SAFEARRAY,*LPSAFEARRAY;
typedef struct tagVARIANT {
! _ANONYMOUS_UNION union {
! struct __tagVARIANT {
VARTYPE vt;
WORD wReserved1;
WORD wReserved2;
WORD wReserved3;
! _ANONYMOUS_UNION union {
long lVal;
unsigned char bVal;
***************
*** 180,183 ****
--- 199,203 ----
double *pdblVal;
VARIANT_BOOL *pboolVal;
+ _VARIANT_BOOL *pbool;
SCODE *pscode;
CY *pcyVal;
***************
*** 200,204 ****
INT *pintVal;
UINT *puintVal;
! struct {
PVOID pvRecord;
struct IRecordInfo *pRecInfo;
--- 220,224 ----
INT *pintVal;
UINT *puintVal;
! _ANONYMOUS_STRUCT struct {
PVOID pvRecord;
struct IRecordInfo *pRecInfo;
***************
*** 231,235 ****
IUnknown *punkVal;
LPDISPATCH pdispVal;
! wireSAFEARRAY parray;
BYTE *pbVal;
SHORT *piVal;
--- 251,256 ----
IUnknown *punkVal;
LPDISPATCH pdispVal;
! wirePSAFEARRAY parray;
! wireBRECORD brecVal;
BYTE *pbVal;
SHORT *piVal;
***************
*** 244,248 ****
IUnknown **ppunkVal;
LPDISPATCH *ppdispVal;
! wireSAFEARRAY *pparray;
struct _wireVARIANT *pvarVal;
CHAR cVal;
--- 265,269 ----
IUnknown **ppunkVal;
LPDISPATCH *ppdispVal;
! wirePSAFEARRAY *pparray;
struct _wireVARIANT *pvarVal;
CHAR cVal;
***************
*** 259,263 ****
UINT *puintVal;
} DUMMYUNIONNAME;
! } wireVARIANT;
typedef LONG DISPID;
typedef DISPID MEMBERID;
--- 280,284 ----
UINT *puintVal;
} DUMMYUNIONNAME;
! } *wireVARIANT;
typedef LONG DISPID;
typedef DISPID MEMBERID;
***************
*** 268,272 ****
}TYPEKIND;
typedef struct tagTYPEDESC {
! union {
struct tagTYPEDESC *lptdesc;
struct tagARRAYDESC *lpadesc;
--- 289,293 ----
}TYPEKIND;
typedef struct tagTYPEDESC {
! _ANONYMOUS_UNION union {
struct tagTYPEDESC *lptdesc;
struct tagARRAYDESC *lpadesc;
***************
*** 548,551 ****
--- 569,598 ----
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(InterfaceSupportsErrorInfo)(THIS_ REFIID) PURE;
+ };
+
+ EXTERN_C const IID IID_IRecordInfo;
+ #undef INTERFACE
+ #define INTERFACE IRecordInfo
+ DECLARE_INTERFACE_(IRecordInfo, IUnknown)
+ {
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD(RecordInit)(THIS_ PVOID) PURE;
+ STDMETHOD(RecordClear)(THIS_ PVOID) PURE;
+ STDMETHOD(RecordCopy)(THIS_ PVOID, PVOID) PURE;
+ STDMETHOD(GetGuid)(THIS_ GUID*) PURE;
+ STDMETHOD(GetName)(THIS_ BSTR*) PURE;
+ STDMETHOD(GetSize)(THIS_ ULONG*) PURE;
+ STDMETHOD(GetTypeInfo)(THIS_ ITypeInfo**) PURE;
+ STDMETHOD(GetField)(THIS_ PVOID,LPCOLESTR,VARIANT*) PURE;
+ STDMETHOD(GetFieldNoCopy)(THIS_ PVOID,LPCOLESTR,VARIANT*,PVOID*) PURE;
+ STDMETHOD(PutField )(THIS_ ULONG,PVOID,LPCOLESTR, VARIANT*) PURE;
+ STDMETHOD(PutFieldNoCopy)(THIS_ ULONG,PVOID,LPCOLESTR,VARIANT*) PURE;
+ STDMETHOD(GetFieldNames)(THIS_ ULONG*,BSTR*) PURE;
+ STDMETHOD_(BOOL,IsMatchingType)(THIS_ THIS) PURE;
+ STDMETHOD_(PVOID,RecordCreate)(THIS) PURE;
+ STDMETHOD(RecordCreateCopy)(THIS_ PVOID,PVOID*) PURE;
+ STDMETHOD(RecordDestroy )(THIS_ PVOID) PURE;
};
|