Commit 87e385fc authored by Francois Gouget's avatar Francois Gouget Committed by Alexandre Julliard

Moved some definitions to their proper include file.

parent 573eb962
......@@ -3,14 +3,21 @@
#include "wintypes.h"
typedef union tagCY CY;
union tagCY{
#ifndef _tagCY_DEFINED
#define _tagCY_DEFINED
typedef union tagCY
{
struct {
#ifdef BIG_ENDIAN
long Hi;
long Lo;
#else
unsigned long Lo;
long Hi;
#endif
} u;
LONGLONG int64;
};
} CY;
#endif /* _tagCY_DEFINED */
#endif /*__WINE_MAPIDEFS_H*/
......@@ -18,102 +18,5 @@
/* the following depend on obj_moniker.h */
#include "wine/obj_dataobject.h"
/* FIXME: the following should be moved to one of the wine/obj_XXX.h headers */
/*****************************************************************************
* CoXXX API
*/
/* FIXME: more CoXXX functions are missing */
DWORD WINAPI CoBuildVersion(void);
typedef enum tagCOINIT
{
COINIT_APARTMENTTHREADED = 0x2, /* Apartment model */
COINIT_MULTITHREADED = 0x0, /* OLE calls objects on any thread */
COINIT_DISABLE_OLE1DDE = 0x4, /* Don't use DDE for Ole1 support */
COINIT_SPEED_OVER_MEMORY = 0x8 /* Trade memory for speed */
} COINIT;
HRESULT WINAPI CoInitialize16(LPVOID lpReserved);
HRESULT WINAPI CoInitialize32(LPVOID lpReserved);
#define CoInitialize WINELIB_NAME(CoInitialize)
HRESULT WINAPI CoInitializeEx32(LPVOID lpReserved, DWORD dwCoInit);
#define CoInitializeEx WINELIB_NAME(CoInitializeEx)
void WINAPI CoUninitialize16(void);
void WINAPI CoUninitialize32(void);
#define CoUninitialize WINELIB_NAME(CoUninitialize)
HRESULT WINAPI CoCreateGuid(GUID *pguid);
/* class registration flags; passed to CoRegisterClassObject */
typedef enum tagREGCLS
{
REGCLS_SINGLEUSE = 0,
REGCLS_MULTIPLEUSE = 1,
REGCLS_MULTI_SEPARATE = 2,
REGCLS_SUSPENDED = 4
} REGCLS;
HRESULT WINAPI CoRegisterClassObject16(REFCLSID rclsid, LPUNKNOWN pUnk, DWORD dwClsContext, DWORD flags, LPDWORD lpdwRegister);
HRESULT WINAPI CoRegisterClassObject32(REFCLSID rclsid,LPUNKNOWN pUnk,DWORD dwClsContext,DWORD flags,LPDWORD lpdwRegister);
#define CoRegisterClassObject WINELIB_NAME(CoRegisterClassObject)
HRESULT WINAPI CoRevokeClassObject32(DWORD dwRegister);
#define CoRevokeClassObject WINELIB_NAME(CoRevokeClassObject)
HRESULT WINAPI CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext,LPVOID pvReserved, REFIID iid, LPVOID *ppv);
HRESULT WINAPI CoCreateInstance(REFCLSID rclsid,LPUNKNOWN pUnkOuter,DWORD dwClsContext,REFIID iid,LPVOID *ppv);
void WINAPI CoFreeLibrary(HINSTANCE32 hLibrary);
void WINAPI CoFreeAllLibraries(void);
void WINAPI CoFreeUnusedLibraries(void);
HRESULT WINAPI CoFileTimeNow(FILETIME *lpFileTime);
LPVOID WINAPI CoTaskMemAlloc(ULONG size);
void WINAPI CoTaskMemFree(LPVOID ptr);
HINSTANCE32 WINAPI CoLoadLibrary(LPOLESTR16 lpszLibName, BOOL32 bAutoFree);
HRESULT WINAPI CoLockObjectExternal16(LPUNKNOWN pUnk,BOOL16 fLock,BOOL16 fLastUnlockReleases);
HRESULT WINAPI CoLockObjectExternal32(LPUNKNOWN pUnk,BOOL32 fLock,BOOL32 fLastUnlockReleases);
#define CoLockObjectExternal WINELIB_NAME(CoLockObjectExternal)
/* internal Wine stuff */
/*****************************************************************************
* IClassFactory interface
*/
typedef struct _IClassFactory {
/* IUnknown fields */
ICOM_VTABLE(IClassFactory)* lpvtbl;
DWORD ref;
} _IClassFactory;
HRESULT WINE_StringFromCLSID(const CLSID *id, LPSTR);
/*****************************************************************************
* IMalloc interface
*/
/* private prototypes for the constructors */
LPMALLOC16 IMalloc16_Constructor(void);
LPMALLOC32 IMalloc32_Constructor(void);
/*****************************************************************************
* IUnknown interface
*/
typedef struct _IUnknown {
/* IUnknown fields */
ICOM_VTABLE(IUnknown)* lpvtbl;
DWORD ref;
} _IUnknown;
LPUNKNOWN IUnknown_Constructor(void);
#endif /* __WINE_OBJBASE_H */
......@@ -19,7 +19,6 @@
#define OLESTR32(x) L##x /* probably wrong */
#define OLESTR WINELIB_NAME(OLESTR)
typedef unsigned short VARTYPE;
typedef LONG DISPID;
/* object types */
......@@ -281,39 +280,4 @@ HINSTANCE32 WINAPI CoLoadLibrary(LPSTR lpszLibName, BOOL32 bAutoFree);
void WINAPI CoFreeUnusedLibraries(void);
void WINAPI CoFreeAllLibraries(void);
typedef enum tagCALLCONV {
CC_CDECL = 1,
CC_MSCPASCAL = CC_CDECL + 1,
CC_PASCAL = CC_MSCPASCAL,
CC_MACPASCAL = CC_PASCAL + 1,
CC_STDCALL = CC_MACPASCAL + 1,
CC_RESERVED = CC_STDCALL + 1,
CC_SYSCALL = CC_RESERVED + 1,
CC_MPWCDECL = CC_SYSCALL + 1,
CC_MPWPASCAL = CC_MPWCDECL + 1,
CC_MAX = CC_MPWPASCAL + 1
} CALLCONV;
typedef struct tagPARAMDATA {
OLECHAR16 * szName; /* parameter name */
VARTYPE vt; /* parameter type */
} PARAMDATA, * LPPARAMDATA;
typedef struct tagMETHODDATA {
OLECHAR16 * szName; /* method name */
PARAMDATA * ppdata; /* pointer to an array of PARAMDATAs */
DISPID dispid; /* method ID */
UINT16 iMeth; /* method index */
CALLCONV cc; /* calling convention */
UINT16 cArgs; /* count of arguments */
WORD wFlags; /* same wFlags as on IDispatch::Invoke() */
VARTYPE vtReturn;
} METHODDATA, * LPMETHODDATA;
typedef struct tagINTERFACEDATA {
METHODDATA * pmethdata; /* pointer to an array of METHODDATAs */
UINT16 cMembers; /* count of members */
} INTERFACEDATA, * LPINTERFACEDATA;
#endif /* __WINE_OLE_H */
......@@ -150,14 +150,6 @@ SafeArrayRedim32(SAFEARRAY *psa, SAFEARRAYBOUND *psaboundNew);
* Data types for Variants.
*/
/*
* 0 == FALSE and -1 == TRUE
*/
typedef short VARIANT_BOOL;
#define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)
#define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
enum VARENUM {
VT_EMPTY = 0,
VT_NULL = 1,
......@@ -830,4 +822,39 @@ HRESULT WINAPI VarDecFromDisp32(IDispatch*pdispIn, LCID lcid, DECIMAL*pdecOut);
#define VarUintFromDec32 VarUI4FromDec32
#define VarUintFromInt32 VarUI4FromI432
typedef enum tagCALLCONV {
CC_CDECL = 1,
CC_MSCPASCAL = CC_CDECL + 1,
CC_PASCAL = CC_MSCPASCAL,
CC_MACPASCAL = CC_PASCAL + 1,
CC_STDCALL = CC_MACPASCAL + 1,
CC_RESERVED = CC_STDCALL + 1,
CC_SYSCALL = CC_RESERVED + 1,
CC_MPWCDECL = CC_SYSCALL + 1,
CC_MPWPASCAL = CC_MPWCDECL + 1,
CC_MAX = CC_MPWPASCAL + 1
} CALLCONV;
typedef struct tagPARAMDATA {
OLECHAR16 * szName; /* parameter name */
VARTYPE vt; /* parameter type */
} PARAMDATA, * LPPARAMDATA;
typedef struct tagMETHODDATA {
OLECHAR16 * szName; /* method name */
PARAMDATA * ppdata; /* pointer to an array of PARAMDATAs */
DISPID dispid; /* method ID */
UINT16 iMeth; /* method index */
CALLCONV cc; /* calling convention */
UINT16 cArgs; /* count of arguments */
WORD wFlags; /* same wFlags as on IDispatch::Invoke() */
VARTYPE vtReturn;
} METHODDATA, * LPMETHODDATA;
typedef struct tagINTERFACEDATA {
METHODDATA * pmethdata; /* pointer to an array of METHODDATAs */
UINT16 cMembers; /* count of members */
} INTERFACEDATA, * LPINTERFACEDATA;
#endif /*__WINE_OLEAUTO_H*/
......@@ -164,28 +164,18 @@ typedef struct
BOOL32 bInheritHandle;
} SECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
typedef WORD SECURITY_DESCRIPTOR_CONTROL;
/* The security descriptor structure */
typedef struct {
BYTE Revision;
BYTE Sbz1;
SECURITY_DESCRIPTOR_CONTROL Control;
PSID Owner;
PSID Group;
PACL Sacl;
PACL Dacl;
} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
typedef DWORD SECURITY_INFORMATION;
#ifndef _FILETIME_
#define _FILETIME_
/* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
typedef struct
{
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} FILETIME, *LPFILETIME;
#endif /* _FILETIME_ */
/* Find* structures */
typedef struct
......
......@@ -35,7 +35,6 @@ typedef struct IRunnableObject IRunnableObject,*LPRUNNABLEOBJECT;
DEFINE_OLEGUID(IID_IRunningObjectTable, 0x00000010L, 0, 0);
typedef struct IRunningObjectTable IRunningObjectTable,*LPRUNNINGOBJECTTABLE;
typedef struct COSERVERINFO COSERVERINFO; // must be defined !
/*********************************************************************************
......
......@@ -25,28 +25,411 @@ typedef struct IPropertyStorage IPropertyStorage,*LPPROPERTYSTORAGE;
/*****************************************************************************
* Predeclare the structures
*/
typedef struct tagSTATPROPSETSTG STATPROPSETSTG;
typedef struct tagSTATPROPSTG STATPROPSTG;
/*****************************************************************************
* PROPSPEC structure
*/
// Reserved global Property IDs
#define PID_DICTIONARY ( 0 )
#define PID_CODEPAGE ( 0x1 )
#define PID_FIRST_USABLE ( 0x2 )
#define PID_FIRST_NAME_DEFAULT ( 0xfff )
#define PID_LOCALE ( 0x80000000 )
#define PID_MODIFY_TIME ( 0x80000001 )
#define PID_SECURITY ( 0x80000002 )
#define PID_ILLEGAL ( 0xffffffff )
// Property IDs for the SummaryInformation Property Set
#define PIDSI_TITLE 0x00000002L // VT_LPSTR
#define PIDSI_SUBJECT 0x00000003L // VT_LPSTR
#define PIDSI_AUTHOR 0x00000004L // VT_LPSTR
#define PIDSI_KEYWORDS 0x00000005L // VT_LPSTR
#define PIDSI_COMMENTS 0x00000006L // VT_LPSTR
#define PIDSI_TEMPLATE 0x00000007L // VT_LPSTR
#define PIDSI_LASTAUTHOR 0x00000008L // VT_LPSTR
#define PIDSI_REVNUMBER 0x00000009L // VT_LPSTR
#define PIDSI_EDITTIME 0x0000000aL // VT_FILETIME (UTC)
#define PIDSI_LASTPRINTED 0x0000000bL // VT_FILETIME (UTC)
#define PIDSI_CREATE_DTM 0x0000000cL // VT_FILETIME (UTC)
#define PIDSI_LASTSAVE_DTM 0x0000000dL // VT_FILETIME (UTC)
#define PIDSI_PAGECOUNT 0x0000000eL // VT_I4
#define PIDSI_WORDCOUNT 0x0000000fL // VT_I4
#define PIDSI_CHARCOUNT 0x00000010L // VT_I4
#define PIDSI_THUMBNAIL 0x00000011L // VT_CF
#define PIDSI_APPNAME 0x00000012L // VT_LPSTR
#define PIDSI_DOC_SECURITY 0x00000013L // VT_I4
#define PRSPEC_INVALID ( 0xffffffff )
#define PRSPEC_LPWSTR ( 0 )
#define PRSPEC_PROPID ( 1 )
typedef struct tagPROPSPEC
{
ULONG ulKind;
union
{
PROPID propid;
LPOLESTR32 lpwstr;
} u;
} PROPSPEC;
/*****************************************************************************
* STATPROPSETSTG structure
*/
/* Macros for parsing the OS Version of the Property Set Header */
#define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD( (dwOSVer) )
#define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD( (dwOSVer) ))
#define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD( (dwOSVer) ))
#define PROPSETHDR_OSVERSION_UNKNOWN 0xFFFFFFFF
struct tagSTATPROPSETSTG
{
FMTID fmtid;
CLSID clsid;
DWORD grfFlags;
FILETIME mtime;
FILETIME ctime;
FILETIME atime;
DWORD dwOSVersion;
};
/*****************************************************************************
* STATPROPSTG structure
*/
struct tagSTATPROPSTG
{
LPOLESTR32 lpwstrName;
PROPID propid;
VARTYPE vt;
};
/*****************************************************************************
* IEnumSTATPROPSETSTG interface
*/
/* FIXME: not implemented */
#define ICOM_INTERFACE IEnumSTATPROPSETSTG
#define IEnumSTATPROPSETSTG_METHODS \
ICOM_METHOD3(HRESULT,Next, ULONG,celt, STATPROPSETSTG*,rgelt, ULONG*,pceltFethed); \
ICOM_METHOD1(HRESULT,Skip, ULONG,celt); \
ICOM_METHOD (HRESULT,Reset); \
ICOM_METHOD1(HRESULT,Clone, IEnumSTATPROPSETSTG**,ppenum);
#define IEnumSTATPROPSETSTG_IMETHODS \
ICOM_INHERITS(IEnumSTATPROPSETSTG,IUnknown)
ICOM_DEFINE(IEnumSTATPROPSETSTG,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IEnumSTATPROPSETSTG_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IEnumSTATPROPSETSTG_AddRef(p) ICOM_CALL (AddRef,p)
#define IEnumSTATPROPSETSTG_Release(p) ICOM_CALL (Release,p)
/*** IEnumSTATPROPSETSTG methods ***/
#define IEnumSTATPROPSETSTG_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
#define IEnumSTATPROPSETSTG_Skip(p,a) ICOM_CALL1(Skip,p,a)
#define IEnumSTATPROPSETSTG_Reset(p) ICOM_CALL (Reset,p)
#define IEnumSTATPROPSETSTG_Clone(p,a) ICOM_CALL1(Clone,p,a)
#endif
/*****************************************************************************
* IEnumSTATPROPSTG interface
*/
/* FIXME: not implemented */
#define ICOM_INTERFACE IEnumSTATPROPSTG
#define IEnumSTATPROPSTG_METHODS \
ICOM_METHOD3(HRESULT,Next, ULONG,celt, STATPROPSTG*,rgelt, ULONG*,pceltFethed); \
ICOM_METHOD1(HRESULT,Skip, ULONG,celt); \
ICOM_METHOD (HRESULT,Reset); \
ICOM_METHOD1(HRESULT,Clone, IEnumSTATPROPSTG**,ppenum);
#define IEnumSTATPROPSTG_IMETHODS \
ICOM_INHERITS(IEnumSTATPROPSTG,IUnknown)
ICOM_DEFINE(IEnumSTATPROPSTG,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IEnumSTATPROPSTG_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IEnumSTATPROPSTG_AddRef(p) ICOM_CALL (AddRef,p)
#define IEnumSTATPROPSTG_Release(p) ICOM_CALL (Release,p)
/*** IEnumSTATPROPSTG methods ***/
#define IEnumSTATPROPSTG_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
#define IEnumSTATPROPSTG_Skip(p,a) ICOM_CALL1(Skip,p,a)
#define IEnumSTATPROPSTG_Reset(p) ICOM_CALL (Reset,p)
#define IEnumSTATPROPSTG_Clone(p,a) ICOM_CALL1(Clone,p,a)
#endif
/*****************************************************************************
* IPropertySetStorage interface
*/
/* FIXME: not implemented */
#define ICOM_INTERFACE IPropertySetStorage
#define IPropertySetStorage_METHODS \
ICOM_METHOD5(HRESULT,Create, REFFMTID,rfmtid, const CLSID*,pclsid, DWORD,grfFlags, DWORD,grfMode, IPropertyStorage**,ppprstg); \
ICOM_METHOD3(HRESULT,Open, REFFMTID,rfmtid, DWORD,grfMode, IPropertyStorage**,ppprstg); \
ICOM_METHOD1(HRESULT,Delete, REFFMTID,rfmtid); \
ICOM_METHOD1(HRESULT,Enum, IEnumSTATPROPSETSTG**,ppenum);
#define IPropertySetStorage_IMETHODS \
ICOM_INHERITS(IPropertySetStorage,IUnknown)
ICOM_DEFINE(IPropertySetStorage,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IPropertySetStorage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IPropertySetStorage_AddRef(p) ICOM_CALL (AddRef,p)
#define IPropertySetStorage_Release(p) ICOM_CALL (Release,p)
/*** IPropertySetStorage methods ***/
#define IPropertySetStorage_Create(p,a,b,c,d,e) ICOM_CALL5(Create,p,a,b,c,d,e)
#define IPropertySetStorage_Open(p,a,b,c) ICOM_CALL3(Open,p,a,b,c)
#define IPropertySetStorage_Delete(p,a) ICOM_CALL1(Delete,p,a)
#define IPropertySetStorage_Enum(p,a) ICOM_CALL1(Enum,p,a)
#endif
/*****************************************************************************
* IPropertyStorage interface
*/
/* FIXME: not implemented */
typedef struct tagPROPVARIANT PROPVARIANT,*LPPROPVARIANT;
// Flags for IPropertySetStorage::Create
#define PROPSETFLAG_DEFAULT ( 0 )
#define PROPSETFLAG_NONSIMPLE ( 1 )
#define PROPSETFLAG_ANSI ( 2 )
typedef struct tagCAUB
{
ULONG cElems;
unsigned char *pElems;
} CAUB;
typedef struct tagCAI
{
ULONG cElems;
short *pElems;
} CAI;
typedef struct tagCAUI
{
ULONG cElems;
USHORT *pElems;
} CAUI;
typedef struct tagCAL
{
ULONG cElems;
long *pElems;
} CAL;
typedef struct tagCAUL
{
ULONG cElems;
ULONG *pElems;
} CAUL;
typedef struct tagCAFLT
{
ULONG cElems;
float *pElems;
} CAFLT;
typedef struct tagCADBL
{
ULONG cElems;
double *pElems;
} CADBL;
typedef struct tagCACY
{
ULONG cElems;
CY *pElems;
} CACY;
typedef struct tagCADATE
{
ULONG cElems;
DATE *pElems;
} CADATE;
typedef struct tagCABSTR
{
ULONG cElems;
BSTR32 *pElems;
} CABSTR;
typedef struct tagCABOOL
{
ULONG cElems;
VARIANT_BOOL *pElems;
} CABOOL;
typedef struct tagCASCODE
{
ULONG cElems;
SCODE *pElems;
} CASCODE;
typedef struct tagCAPROPVARIANT
{
ULONG cElems;
PROPVARIANT *pElems;
} CAPROPVARIANT;
typedef struct tagCAH
{
ULONG cElems;
LARGE_INTEGER *pElems;
} CAH;
typedef struct tagCAUH
{
ULONG cElems;
ULARGE_INTEGER *pElems;
} CAUH;
typedef struct tagCALPSTR
{
ULONG cElems;
LPSTR *pElems;
} CALPSTR;
typedef struct tagCALPWSTR
{
ULONG cElems;
LPWSTR *pElems;
} CALPWSTR;
typedef struct tagCAFILETIME
{
ULONG cElems;
FILETIME *pElems;
} CAFILETIME;
typedef struct tagCACLIPDATA
{
ULONG cElems;
CLIPDATA *pElems;
} CACLIPDATA;
typedef struct tagCACLSID
{
ULONG cElems;
CLSID *pElems;
} CACLSID;
struct tagPROPVARIANT
{
VARTYPE vt;
WORD wReserved1;
WORD wReserved2;
WORD wReserved3;
union
{
/* Empty union arm */
UCHAR bVal;
short iVal;
USHORT uiVal;
VARIANT_BOOL boolVal;
#ifndef __cplusplus
/* FIXME: bool is reserved in C++, how can we deal with that ? */
_VARIANT_BOOL bool;
#endif
long lVal;
ULONG ulVal;
float fltVal;
SCODE scode;
LARGE_INTEGER hVal;
ULARGE_INTEGER uhVal;
double dblVal;
CY cyVal;
DATE date;
FILETIME filetime;
CLSID *puuid;
BLOB blob;
CLIPDATA *pclipdata;
IStream32 *pStream;
IStorage32 *pStorage;
BSTR32 bstrVal;
LPSTR pszVal;
LPWSTR pwszVal;
CAUB caub;
CAI cai;
CAUI caui;
CABOOL cabool;
CAL cal;
CAUL caul;
CAFLT caflt;
CASCODE cascode;
CAH cah;
CAUH cauh;
CADBL cadbl;
CACY cacy;
CADATE cadate;
CAFILETIME cafiletime;
CACLSID cauuid;
CACLIPDATA caclipdata;
CABSTR cabstr;
CALPSTR calpstr;
CALPWSTR calpwstr;
CAPROPVARIANT capropvar;
} u;
};
#define ICOM_INTERFACE IPropertyStorage
#define IPropertyStorage_METHODS \
ICOM_METHOD3(HRESULT,ReadMultiple, ULONG,cpspec, const PROPSPEC*,rgpspec, PROPVARIANT*,rgpropvar); \
ICOM_METHOD4(HRESULT,WriteMultiple, ULONG,cpspec, const PROPSPEC*,rgpspec, const PROPVARIANT*,rgpropvar, PROPID,propidNameFirst); \
ICOM_METHOD2(HRESULT,DeleteMultiple, ULONG,cpspec, const PROPSPEC*,rgpspec); \
ICOM_METHOD2(HRESULT,ReadPropertyNames, const PROPID*,rgpropid, LPOLESTR32*,rglpwstrName); \
ICOM_METHOD3(HRESULT,WritePropertyNames, ULONG,cpropid, const PROPID*,rgpropid, LPOLESTR32*,rglpwstrName); \
ICOM_METHOD2(HRESULT,DeletePropertyNames, ULONG,cpropid, const PROPID*,rgpropid); \
ICOM_METHOD1(HRESULT,Commit, DWORD,grfCommitFlags); \
ICOM_METHOD (HRESULT,Revert); \
ICOM_METHOD1(HRESULT,Enum, IEnumSTATPROPSTG**,ppenum); \
ICOM_METHOD3(HRESULT,SetTimes, const FILETIME*,pctime, const FILETIME*,patime, const FILETIME*,pmtime); \
ICOM_METHOD1(HRESULT,SetClass, REFCLSID,clsid); \
ICOM_METHOD1(HRESULT,Stat, STATPROPSETSTG*,pstatpsstg);
#define IPropertyStorage_IMETHODS \
ICOM_INHERITS(IPropertyStorage,IUnknown)
ICOM_DEFINE(IPropertyStorage,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IPropertyStorage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IPropertyStorage_AddRef(p) ICOM_CALL (AddRef,p)
#define IPropertyStorage_Release(p) ICOM_CALL (Release,p)
/*** IPropertyStorage methods ***/
#define IPropertyStorage_ReadMultiple(p,a,b,c) ICOM_CALL3(ReadMultiple,p,a,b,c)
#define IPropertyStorage_WriteMultiple(p,a,b,c,d) ICOM_CALL4(WriteMultiple,p,a,b,c,d)
#define IPropertyStorage_DeleteMultiple(p,a,b) ICOM_CALL2(DeleteMultiple,p,a,b)
#define IPropertyStorage_ReadPropertyNames(p,a,b) ICOM_CALL2(ReadPropertyNames,p,a,b)
#define IPropertyStorage_WritePropertyNames(p,a,b,c) ICOM_CALL3(WritePropertyNames,p,a,b,c)
#define IPropertyStorage_DeletePropertyNames(p,a,b) ICOM_CALL2(DeletePropertyNames,p,a,b)
#define IPropertyStorage_Commit(p,a) ICOM_CALL1(Commit,p,a)
#define IPropertyStorage_Revert(p) ICOM_CALL (Revert,p)
#define IPropertyStorage_Enum(p,a) ICOM_CALL1(Enum,p,a)
#define IPropertyStorage_SetTimes(p,a,b,c) ICOM_CALL3(SetTimes,p,a,b,c)
#define IPropertyStorage_SetClass(p,a) ICOM_CALL1(SetClass,p,a)
#define IPropertyStorage_Stat(p,a) ICOM_CALL1(Stat,p,a)
#endif
#endif /* __WINE_WINE_OBJ_PROPERTYSTORAGE_H */
......@@ -315,17 +315,6 @@ typedef struct _EXCEPTION_POINTERS
PCONTEXT ContextRecord;
} EXCEPTION_POINTERS, *PEXCEPTION_POINTERS;
typedef struct {
BYTE Value[6];
} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY;
typedef struct _SID {
BYTE Revision;
BYTE SubAuthorityCount;
SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
DWORD SubAuthority[1];
} SID,*PSID;
#pragma pack(4)
/*
......@@ -366,6 +355,47 @@ typedef enum _TOKEN_INFORMATION_CLASS {
TokenStatistics
} TOKEN_INFORMATION_CLASS;
#ifndef _SECURITY_DEFINED
#define _SECURITY_DEFINED
typedef struct {
BYTE Value[6];
} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY;
typedef struct _SID {
BYTE Revision;
BYTE SubAuthorityCount;
SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
DWORD SubAuthority[1];
} SID,*PSID;
/*
* ACL
*/
typedef struct _ACL {
BYTE AclRevision;
BYTE Sbz1;
WORD AclSize;
WORD AceCount;
WORD Sbz2;
} ACL, *PACL;
typedef WORD SECURITY_DESCRIPTOR_CONTROL;
/* The security descriptor structure */
typedef struct {
BYTE Revision;
BYTE Sbz1;
SECURITY_DESCRIPTOR_CONTROL Control;
PSID Owner;
PSID Group;
PACL Sacl;
PACL Dacl;
} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
#endif /* _SECURITY_DEFINED */
/*
* SID_AND_ATTRIBUTES
*/
......@@ -441,18 +471,6 @@ typedef struct _TOKEN_PRIMARY_GROUP {
} TOKEN_PRIMARY_GROUP;
/*
* ACL
*/
typedef struct _ACL {
BYTE AclRevision;
BYTE Sbz1;
WORD AclSize;
WORD AceCount;
WORD Sbz2;
} ACL, *PACL;
/*
* TOKEN_DEFAULT_DACL
*/
......@@ -490,6 +508,7 @@ typedef enum _SECURITY_IMPERSONATION_LEVEL {
} SECURITY_IMPERSONATION_LEVEL;
/*
* TOKEN_STATISTICS
*/
......
......@@ -106,7 +106,6 @@ typedef unsigned short WCHAR;
typedef unsigned short BOOL16;
typedef int BOOL32;
typedef double DATE;
typedef long SCODE;
typedef long LONG_PTR;
typedef unsigned long ULONG_PTR;
typedef double DOUBLE;
......
......@@ -8,6 +8,13 @@
#include "wintypes.h"
/* FIXME: this line should be in rpcndr.h */
typedef unsigned char byte;
/* FIXME: and the following group should be in rpcdce.h */
typedef void* RPC_AUTH_IDENTITY_HANDLE;
typedef void* RPC_AUTHZ_HANDLE;
typedef WORD CLIPFORMAT32, *LPCLIPFORMAT32;
DECL_WINELIB_TYPE(CLIPFORMAT)
......@@ -64,6 +71,36 @@ typedef struct _GUID FMTID,*LPFMTID;
DECLARE_HANDLE(HMETAFILEPICT);
#undef DECLARE_HANDLE
typedef struct _COAUTHIDENTITY
{
USHORT* User;
ULONG UserLength;
USHORT* Domain;
ULONG DomainLength;
USHORT* Password;
ULONG PasswordLength;
ULONG Flags;
} COAUTHIDENTITY;
typedef struct _COAUTHINFO
{
DWORD dwAuthnSvc;
DWORD dwAuthzSvc;
LPWSTR pwszServerPrincName;
DWORD dwAuthnLevel;
DWORD dwImpersonationLevel;
COAUTHIDENTITY* pAuthIdentityData;
DWORD dwCapabilities;
} COAUTHINFO;
typedef struct _COSERVERINFO
{
DWORD dwReserved1;
LPWSTR pwszName;
COAUTHINFO* pAuthInfo;
DWORD dwReserved2;
} COSERVERINFO;
typedef enum tagCLSCTX
{
CLSCTX_INPROC_SERVER = 0x1,
......@@ -80,5 +117,102 @@ typedef enum tagCLSCTX
#define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
#define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
typedef unsigned short VARTYPE;
typedef ULONG PROPID;
typedef struct tagBLOB
{
ULONG cbSize;
BYTE *pBlobData;
} BLOB;
#ifndef _tagCY_DEFINED
#define _tagCY_DEFINED
typedef union tagCY
{
struct {
#ifdef BIG_ENDIAN
long Hi;
long Lo;
#else
unsigned long Lo;
long Hi;
#endif
} u;
LONGLONG int64;
} CY;
#endif /* _tagCY_DEFINED */
/*
* 0 == FALSE and -1 == TRUE
*/
#define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)
#define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
typedef short VARIANT_BOOL,_VARIANT_BOOL;
typedef struct tagCLIPDATA
{
ULONG cbSize;
long ulClipFmt;
BYTE *pClipData;
} CLIPDATA;
// Macro to calculate the size of the above pClipData
#define CBPCLIPDATA(clipdata) ( (clipdata).cbSize - sizeof((clipdata).ulClipFmt) )
typedef LONG SCODE;
#ifndef _FILETIME_
#define _FILETIME_
/* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
typedef struct
{
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} FILETIME, *LPFILETIME;
#endif /* _FILETIME_ */
#ifndef _SECURITY_DEFINED
#define _SECURITY_DEFINED
typedef struct {
BYTE Value[6];
} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY;
typedef struct _SID {
BYTE Revision;
BYTE SubAuthorityCount;
SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
DWORD SubAuthority[1];
} SID,*PSID;
/*
* ACL
*/
typedef struct _ACL {
BYTE AclRevision;
BYTE Sbz1;
WORD AclSize;
WORD AceCount;
WORD Sbz2;
} ACL, *PACL;
typedef WORD SECURITY_DESCRIPTOR_CONTROL;
/* The security descriptor structure */
typedef struct {
BYTE Revision;
BYTE Sbz1;
SECURITY_DESCRIPTOR_CONTROL Control;
PSID Owner;
PSID Group;
PACL Sacl;
PACL Dacl;
} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
#endif /* _SECURITY_DEFINED */
#endif /* __WINE_WTYPES_H */
......@@ -43,7 +43,9 @@
#include "ldt.h"
#include "winreg.h"
#include "objbase.h"
#include "wine/obj_base.h"
#include "wine/obj_misc.h"
#include "wine/obj_clientserver.h"
#include "ifs.h"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment