Move the PROPVARIANT declaration from objidl.idl to propidl.idl.
Move related API declarations from individual C files to propidl.idl. Remove uneeded include of propidl.h in the propvariant.c test.
This commit is contained in:
parent
f0e6b58428
commit
83755cca97
|
@ -2326,8 +2326,6 @@ static void OLE_FreeClipDataArray(ULONG count, CLIPDATA * pClipDataArray)
|
||||||
CoTaskMemFree(pClipDataArray[i].pClipData);
|
CoTaskMemFree(pClipDataArray[i].pClipData);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT WINAPI FreePropVariantArray(ULONG,PROPVARIANT*);
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Check if a PROPVARIANT's type is valid.
|
* Check if a PROPVARIANT's type is valid.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -19,10 +19,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "windows.h"
|
#include "windows.h"
|
||||||
/* not present in Wine yet */
|
|
||||||
/*#include "propidl.h"*/
|
|
||||||
WINOLEAPI PropVariantClear(PROPVARIANT*);
|
|
||||||
WINOLEAPI PropVariantCopy(PROPVARIANT*, const PROPVARIANT*);
|
|
||||||
|
|
||||||
#include "wine/test.h"
|
#include "wine/test.h"
|
||||||
|
|
||||||
|
|
|
@ -137,7 +137,7 @@ typedef enum {
|
||||||
} OLE_RELEASE_METHOD;
|
} OLE_RELEASE_METHOD;
|
||||||
|
|
||||||
typedef LONG LHCLIENTDOC;
|
typedef LONG LHCLIENTDOC;
|
||||||
typedef struct _OLEOBJECT *LPOLEOBJECT;
|
typedef struct _OLEOBJECT *_LPOLEOBJECT;
|
||||||
typedef struct _OLECLIENT *LPOLECLIENT;
|
typedef struct _OLECLIENT *LPOLECLIENT;
|
||||||
typedef LONG OLECLIPFORMAT;/* dunno about this type, please change/add */
|
typedef LONG OLECLIPFORMAT;/* dunno about this type, please change/add */
|
||||||
typedef OLEOPT_UPDATE *LPOLEOPT_UPDATE;
|
typedef OLEOPT_UPDATE *LPOLEOPT_UPDATE;
|
||||||
|
@ -145,52 +145,52 @@ typedef LPCSTR LPCOLESTR16;
|
||||||
|
|
||||||
struct _OLESTREAM;
|
struct _OLESTREAM;
|
||||||
|
|
||||||
typedef struct _OLEOBJECTVTBL {
|
typedef struct _OLEOBJECTVTBL16 {
|
||||||
void CALLBACK *(*QueryProtocol)(LPOLEOBJECT,LPCOLESTR16);
|
void CALLBACK *(*QueryProtocol)(_LPOLEOBJECT,LPCOLESTR16);
|
||||||
OLESTATUS (CALLBACK *Release)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *Release)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *Show)(LPOLEOBJECT,BOOL16);
|
OLESTATUS (CALLBACK *Show)(_LPOLEOBJECT,BOOL16);
|
||||||
OLESTATUS (CALLBACK *DoVerb)(LPOLEOBJECT,UINT16,BOOL16,BOOL16);
|
OLESTATUS (CALLBACK *DoVerb)(_LPOLEOBJECT,UINT16,BOOL16,BOOL16);
|
||||||
OLESTATUS (CALLBACK *GetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE16 *);
|
OLESTATUS (CALLBACK *GetData)(_LPOLEOBJECT,OLECLIPFORMAT,HANDLE16 *);
|
||||||
OLESTATUS (CALLBACK *SetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE16);
|
OLESTATUS (CALLBACK *SetData)(_LPOLEOBJECT,OLECLIPFORMAT,HANDLE16);
|
||||||
OLESTATUS (CALLBACK *SetTargetDevice)(LPOLEOBJECT,HGLOBAL16);
|
OLESTATUS (CALLBACK *SetTargetDevice)(_LPOLEOBJECT,HGLOBAL16);
|
||||||
OLESTATUS (CALLBACK *SetBounds)(LPOLEOBJECT,LPRECT16);
|
OLESTATUS (CALLBACK *SetBounds)(_LPOLEOBJECT,LPRECT16);
|
||||||
OLESTATUS (CALLBACK *EnumFormats)(LPOLEOBJECT,OLECLIPFORMAT);
|
OLESTATUS (CALLBACK *EnumFormats)(_LPOLEOBJECT,OLECLIPFORMAT);
|
||||||
OLESTATUS (CALLBACK *SetColorScheme)(LPOLEOBJECT,struct tagLOGPALETTE*);
|
OLESTATUS (CALLBACK *SetColorScheme)(_LPOLEOBJECT,struct tagLOGPALETTE*);
|
||||||
OLESTATUS (CALLBACK *Delete)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *Delete)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *SetHostNames)(LPOLEOBJECT,LPCOLESTR16,LPCOLESTR16);
|
OLESTATUS (CALLBACK *SetHostNames)(_LPOLEOBJECT,LPCOLESTR16,LPCOLESTR16);
|
||||||
OLESTATUS (CALLBACK *SaveToStream)(LPOLEOBJECT,struct _OLESTREAM*);
|
OLESTATUS (CALLBACK *SaveToStream)(_LPOLEOBJECT,struct _OLESTREAM*);
|
||||||
OLESTATUS (CALLBACK *Clone)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT *);
|
OLESTATUS (CALLBACK *Clone)(_LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,_LPOLEOBJECT *);
|
||||||
OLESTATUS (CALLBACK *CopyFromLink)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT *);
|
OLESTATUS (CALLBACK *CopyFromLink)(_LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,_LPOLEOBJECT *);
|
||||||
OLESTATUS (CALLBACK *Equal)(LPOLEOBJECT,LPOLEOBJECT);
|
OLESTATUS (CALLBACK *Equal)(_LPOLEOBJECT,_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *CopyToClipBoard)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *CopyToClipBoard)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *Draw)(LPOLEOBJECT,HDC16,LPRECT16,LPRECT16,HDC16);
|
OLESTATUS (CALLBACK *Draw)(_LPOLEOBJECT,HDC16,LPRECT16,LPRECT16,HDC16);
|
||||||
OLESTATUS (CALLBACK *Activate)(LPOLEOBJECT,UINT16,BOOL16,BOOL16,HWND16,LPRECT16);
|
OLESTATUS (CALLBACK *Activate)(_LPOLEOBJECT,UINT16,BOOL16,BOOL16,HWND16,LPRECT16);
|
||||||
OLESTATUS (CALLBACK *Execute)(LPOLEOBJECT,HGLOBAL16,UINT16);
|
OLESTATUS (CALLBACK *Execute)(_LPOLEOBJECT,HGLOBAL16,UINT16);
|
||||||
OLESTATUS (CALLBACK *Close)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *Close)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *Update)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *Update)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *Reconnect)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *Reconnect)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *ObjectConvert)(LPOLEOBJECT,LPCOLESTR16,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT*);
|
OLESTATUS (CALLBACK *ObjectConvert)(_LPOLEOBJECT,LPCOLESTR16,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,_LPOLEOBJECT*);
|
||||||
OLESTATUS (CALLBACK *GetLinkUpdateOptions)(LPOLEOBJECT,LPOLEOPT_UPDATE);
|
OLESTATUS (CALLBACK *GetLinkUpdateOptions)(_LPOLEOBJECT,LPOLEOPT_UPDATE);
|
||||||
OLESTATUS (CALLBACK *SetLinkUpdateOptions)(LPOLEOBJECT,OLEOPT_UPDATE);
|
OLESTATUS (CALLBACK *SetLinkUpdateOptions)(_LPOLEOBJECT,OLEOPT_UPDATE);
|
||||||
OLESTATUS (CALLBACK *Rename)(LPOLEOBJECT,LPCOLESTR16);
|
OLESTATUS (CALLBACK *Rename)(_LPOLEOBJECT,LPCOLESTR16);
|
||||||
OLESTATUS (CALLBACK *QueryName)(LPOLEOBJECT,LPSTR,LPUINT16);
|
OLESTATUS (CALLBACK *QueryName)(_LPOLEOBJECT,LPSTR,LPUINT16);
|
||||||
OLESTATUS (CALLBACK *QueryType)(LPOLEOBJECT,LPLONG);
|
OLESTATUS (CALLBACK *QueryType)(_LPOLEOBJECT,LPLONG);
|
||||||
OLESTATUS (CALLBACK *QueryBounds)(LPOLEOBJECT,LPRECT16);
|
OLESTATUS (CALLBACK *QueryBounds)(_LPOLEOBJECT,LPRECT16);
|
||||||
OLESTATUS (CALLBACK *QuerySize)(LPOLEOBJECT,LPDWORD);
|
OLESTATUS (CALLBACK *QuerySize)(_LPOLEOBJECT,LPDWORD);
|
||||||
OLESTATUS (CALLBACK *QueryOpen)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *QueryOpen)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *QueryOutOfDate)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *QueryOutOfDate)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *QueryReleaseStatus)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *QueryReleaseStatus)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *QueryReleaseError)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *QueryReleaseError)(_LPOLEOBJECT);
|
||||||
OLE_RELEASE_METHOD (CALLBACK *QueryReleaseMethod)(LPOLEOBJECT);
|
OLE_RELEASE_METHOD (CALLBACK *QueryReleaseMethod)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *RequestData)(LPOLEOBJECT,OLECLIPFORMAT);
|
OLESTATUS (CALLBACK *RequestData)(_LPOLEOBJECT,OLECLIPFORMAT);
|
||||||
OLESTATUS (CALLBACK *ObjectLong)(LPOLEOBJECT,UINT16,LPLONG);
|
OLESTATUS (CALLBACK *ObjectLong)(_LPOLEOBJECT,UINT16,LPLONG);
|
||||||
} OLEOBJECTVTBL;
|
} OLEOBJECTVTBL;
|
||||||
typedef OLEOBJECTVTBL *LPOLEOBJECTVTBL;
|
typedef OLEOBJECTVTBL *LPOLEOBJECTVTBL;
|
||||||
|
|
||||||
typedef struct _OLEOBJECT
|
typedef struct _OLEOBJECT
|
||||||
{
|
{
|
||||||
LPOLEOBJECTVTBL lpvtbl;
|
LPOLEOBJECTVTBL lpvtbl;
|
||||||
} OLEOBJECT;
|
} OLEOBJECT16;
|
||||||
|
|
||||||
static LONG OLE_current_handle;
|
static LONG OLE_current_handle;
|
||||||
|
|
||||||
|
@ -293,7 +293,7 @@ BOOL16 WINAPI OleIsDcMeta16(HDC16 hdc)
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* OleQueryType [OLECLI.14]
|
* OleQueryType [OLECLI.14]
|
||||||
*/
|
*/
|
||||||
OLESTATUS WINAPI OleQueryType16(LPOLEOBJECT oleob, SEGPTR xlong) {
|
OLESTATUS WINAPI OleQueryType16(_LPOLEOBJECT oleob, SEGPTR xlong) {
|
||||||
FIXME("(%p, %p): stub!\n", oleob, MapSL(xlong));
|
FIXME("(%p, %p): stub!\n", oleob, MapSL(xlong));
|
||||||
return OLE_OK;
|
return OLE_OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -137,7 +137,7 @@ typedef enum {
|
||||||
} OLE_RELEASE_METHOD;
|
} OLE_RELEASE_METHOD;
|
||||||
|
|
||||||
typedef LONG LHCLIENTDOC;
|
typedef LONG LHCLIENTDOC;
|
||||||
typedef struct _OLEOBJECT *LPOLEOBJECT;
|
typedef struct _OLEOBJECT *_LPOLEOBJECT;
|
||||||
typedef struct _OLECLIENT *LPOLECLIENT;
|
typedef struct _OLECLIENT *LPOLECLIENT;
|
||||||
typedef LONG OLECLIPFORMAT;/* dunno about this type, please change/add */
|
typedef LONG OLECLIPFORMAT;/* dunno about this type, please change/add */
|
||||||
typedef OLEOPT_UPDATE *LPOLEOPT_UPDATE;
|
typedef OLEOPT_UPDATE *LPOLEOPT_UPDATE;
|
||||||
|
@ -146,44 +146,44 @@ typedef LPCSTR LPCOLESTR16;
|
||||||
struct _OLESTREAM;
|
struct _OLESTREAM;
|
||||||
|
|
||||||
typedef struct _OLEOBJECTVTBL {
|
typedef struct _OLEOBJECTVTBL {
|
||||||
void CALLBACK *(*QueryProtocol)(LPOLEOBJECT,LPCOLESTR16);
|
void CALLBACK *(*QueryProtocol)(_LPOLEOBJECT,LPCOLESTR16);
|
||||||
OLESTATUS (CALLBACK *Release)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *Release)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *Show)(LPOLEOBJECT,BOOL16);
|
OLESTATUS (CALLBACK *Show)(_LPOLEOBJECT,BOOL16);
|
||||||
OLESTATUS (CALLBACK *DoVerb)(LPOLEOBJECT,UINT16,BOOL16,BOOL16);
|
OLESTATUS (CALLBACK *DoVerb)(_LPOLEOBJECT,UINT16,BOOL16,BOOL16);
|
||||||
OLESTATUS (CALLBACK *GetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE16 *);
|
OLESTATUS (CALLBACK *GetData)(_LPOLEOBJECT,OLECLIPFORMAT,HANDLE16 *);
|
||||||
OLESTATUS (CALLBACK *SetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE16);
|
OLESTATUS (CALLBACK *SetData)(_LPOLEOBJECT,OLECLIPFORMAT,HANDLE16);
|
||||||
OLESTATUS (CALLBACK *SetTargetDevice)(LPOLEOBJECT,HGLOBAL16);
|
OLESTATUS (CALLBACK *SetTargetDevice)(_LPOLEOBJECT,HGLOBAL16);
|
||||||
OLESTATUS (CALLBACK *SetBounds)(LPOLEOBJECT,LPRECT16);
|
OLESTATUS (CALLBACK *SetBounds)(_LPOLEOBJECT,LPRECT16);
|
||||||
OLESTATUS (CALLBACK *EnumFormats)(LPOLEOBJECT,OLECLIPFORMAT);
|
OLESTATUS (CALLBACK *EnumFormats)(_LPOLEOBJECT,OLECLIPFORMAT);
|
||||||
OLESTATUS (CALLBACK *SetColorScheme)(LPOLEOBJECT,struct tagLOGPALETTE*);
|
OLESTATUS (CALLBACK *SetColorScheme)(_LPOLEOBJECT,struct tagLOGPALETTE*);
|
||||||
OLESTATUS (CALLBACK *Delete)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *Delete)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *SetHostNames)(LPOLEOBJECT,LPCOLESTR16,LPCOLESTR16);
|
OLESTATUS (CALLBACK *SetHostNames)(_LPOLEOBJECT,LPCOLESTR16,LPCOLESTR16);
|
||||||
OLESTATUS (CALLBACK *SaveToStream)(LPOLEOBJECT,struct _OLESTREAM*);
|
OLESTATUS (CALLBACK *SaveToStream)(_LPOLEOBJECT,struct _OLESTREAM*);
|
||||||
OLESTATUS (CALLBACK *Clone)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT *);
|
OLESTATUS (CALLBACK *Clone)(_LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,_LPOLEOBJECT *);
|
||||||
OLESTATUS (CALLBACK *CopyFromLink)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT *);
|
OLESTATUS (CALLBACK *CopyFromLink)(_LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,_LPOLEOBJECT *);
|
||||||
OLESTATUS (CALLBACK *Equal)(LPOLEOBJECT,LPOLEOBJECT);
|
OLESTATUS (CALLBACK *Equal)(_LPOLEOBJECT,_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *CopyToClipBoard)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *CopyToClipBoard)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *Draw)(LPOLEOBJECT,HDC16,LPRECT16,LPRECT16,HDC16);
|
OLESTATUS (CALLBACK *Draw)(_LPOLEOBJECT,HDC16,LPRECT16,LPRECT16,HDC16);
|
||||||
OLESTATUS (CALLBACK *Activate)(LPOLEOBJECT,UINT16,BOOL16,BOOL16,HWND16,LPRECT16);
|
OLESTATUS (CALLBACK *Activate)(_LPOLEOBJECT,UINT16,BOOL16,BOOL16,HWND16,LPRECT16);
|
||||||
OLESTATUS (CALLBACK *Execute)(LPOLEOBJECT,HGLOBAL16,UINT16);
|
OLESTATUS (CALLBACK *Execute)(_LPOLEOBJECT,HGLOBAL16,UINT16);
|
||||||
OLESTATUS (CALLBACK *Close)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *Close)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *Update)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *Update)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *Reconnect)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *Reconnect)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *ObjectConvert)(LPOLEOBJECT,LPCOLESTR16,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT*);
|
OLESTATUS (CALLBACK *ObjectConvert)(_LPOLEOBJECT,LPCOLESTR16,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,_LPOLEOBJECT*);
|
||||||
OLESTATUS (CALLBACK *GetLinkUpdateOptions)(LPOLEOBJECT,LPOLEOPT_UPDATE);
|
OLESTATUS (CALLBACK *GetLinkUpdateOptions)(_LPOLEOBJECT,LPOLEOPT_UPDATE);
|
||||||
OLESTATUS (CALLBACK *SetLinkUpdateOptions)(LPOLEOBJECT,OLEOPT_UPDATE);
|
OLESTATUS (CALLBACK *SetLinkUpdateOptions)(_LPOLEOBJECT,OLEOPT_UPDATE);
|
||||||
OLESTATUS (CALLBACK *Rename)(LPOLEOBJECT,LPCOLESTR16);
|
OLESTATUS (CALLBACK *Rename)(_LPOLEOBJECT,LPCOLESTR16);
|
||||||
OLESTATUS (CALLBACK *QueryName)(LPOLEOBJECT,LPSTR,LPUINT16);
|
OLESTATUS (CALLBACK *QueryName)(_LPOLEOBJECT,LPSTR,LPUINT16);
|
||||||
OLESTATUS (CALLBACK *QueryType)(LPOLEOBJECT,LPLONG);
|
OLESTATUS (CALLBACK *QueryType)(_LPOLEOBJECT,LPLONG);
|
||||||
OLESTATUS (CALLBACK *QueryBounds)(LPOLEOBJECT,LPRECT16);
|
OLESTATUS (CALLBACK *QueryBounds)(_LPOLEOBJECT,LPRECT16);
|
||||||
OLESTATUS (CALLBACK *QuerySize)(LPOLEOBJECT,LPDWORD);
|
OLESTATUS (CALLBACK *QuerySize)(_LPOLEOBJECT,LPDWORD);
|
||||||
OLESTATUS (CALLBACK *QueryOpen)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *QueryOpen)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *QueryOutOfDate)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *QueryOutOfDate)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *QueryReleaseStatus)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *QueryReleaseStatus)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *QueryReleaseError)(LPOLEOBJECT);
|
OLESTATUS (CALLBACK *QueryReleaseError)(_LPOLEOBJECT);
|
||||||
OLE_RELEASE_METHOD (CALLBACK *QueryReleaseMethod)(LPOLEOBJECT);
|
OLE_RELEASE_METHOD (CALLBACK *QueryReleaseMethod)(_LPOLEOBJECT);
|
||||||
OLESTATUS (CALLBACK *RequestData)(LPOLEOBJECT,OLECLIPFORMAT);
|
OLESTATUS (CALLBACK *RequestData)(_LPOLEOBJECT,OLECLIPFORMAT);
|
||||||
OLESTATUS (CALLBACK *ObjectLong)(LPOLEOBJECT,UINT16,LPLONG);
|
OLESTATUS (CALLBACK *ObjectLong)(_LPOLEOBJECT,UINT16,LPLONG);
|
||||||
} OLEOBJECTVTBL;
|
} OLEOBJECTVTBL;
|
||||||
typedef OLEOBJECTVTBL *LPOLEOBJECTVTBL;
|
typedef OLEOBJECTVTBL *LPOLEOBJECTVTBL;
|
||||||
|
|
||||||
|
@ -237,7 +237,7 @@ OLESTATUS WINAPI OleRevokeClientDoc(LHCLIENTDOC hServerDoc)
|
||||||
*/
|
*/
|
||||||
OLESTATUS WINAPI OleCreateLinkFromClip(
|
OLESTATUS WINAPI OleCreateLinkFromClip(
|
||||||
LPCSTR name,LPOLECLIENT olecli,LHCLIENTDOC hclientdoc,LPCSTR xname,
|
LPCSTR name,LPOLECLIENT olecli,LHCLIENTDOC hclientdoc,LPCSTR xname,
|
||||||
LPOLEOBJECT *lpoleob,OLEOPT_RENDER render,OLECLIPFORMAT clipformat
|
_LPOLEOBJECT *lpoleob,OLEOPT_RENDER render,OLECLIPFORMAT clipformat
|
||||||
) {
|
) {
|
||||||
FIXME("(%s,%p,%08lx,%s,%p,%d,%ld): stub!\n",
|
FIXME("(%s,%p,%08lx,%s,%p,%d,%ld): stub!\n",
|
||||||
name,olecli,hclientdoc,xname,lpoleob,render,clipformat);
|
name,olecli,hclientdoc,xname,lpoleob,render,clipformat);
|
||||||
|
@ -272,7 +272,7 @@ BOOL WINAPI OleIsDcMeta(HDC hdc)
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* OleSetHostNames [OLECLI32.15]
|
* OleSetHostNames [OLECLI32.15]
|
||||||
*/
|
*/
|
||||||
OLESTATUS WINAPI OleSetHostNames(LPOLEOBJECT oleob,LPCSTR name1,LPCSTR name2) {
|
OLESTATUS WINAPI OleSetHostNames(_LPOLEOBJECT oleob,LPCSTR name1,LPCSTR name2) {
|
||||||
FIXME("(%p,%s,%s): stub\n",oleob,name1,name2);
|
FIXME("(%p,%s,%s): stub\n",oleob,name1,name2);
|
||||||
return OLE_OK;
|
return OLE_OK;
|
||||||
}
|
}
|
||||||
|
@ -280,7 +280,7 @@ OLESTATUS WINAPI OleSetHostNames(LPOLEOBJECT oleob,LPCSTR name1,LPCSTR name2) {
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* OleQueryType [OLECLI32.14]
|
* OleQueryType [OLECLI32.14]
|
||||||
*/
|
*/
|
||||||
OLESTATUS WINAPI OleQueryType(LPOLEOBJECT oleob,LONG*xlong) {
|
OLESTATUS WINAPI OleQueryType(_LPOLEOBJECT oleob,LONG*xlong) {
|
||||||
FIXME("(%p,%p): stub!\n",oleob,xlong);
|
FIXME("(%p,%p): stub!\n",oleob,xlong);
|
||||||
if (!oleob)
|
if (!oleob)
|
||||||
return 0x10;
|
return 0x10;
|
||||||
|
@ -294,7 +294,7 @@ OLESTATUS WINAPI OleQueryType(LPOLEOBJECT oleob,LONG*xlong) {
|
||||||
*/
|
*/
|
||||||
OLESTATUS WINAPI OleCreateFromClip(
|
OLESTATUS WINAPI OleCreateFromClip(
|
||||||
LPCSTR name,LPOLECLIENT olecli,LHCLIENTDOC hclientdoc,LPCSTR xname,
|
LPCSTR name,LPOLECLIENT olecli,LHCLIENTDOC hclientdoc,LPCSTR xname,
|
||||||
LPOLEOBJECT *lpoleob,OLEOPT_RENDER render, OLECLIPFORMAT clipformat
|
_LPOLEOBJECT *lpoleob,OLEOPT_RENDER render, OLECLIPFORMAT clipformat
|
||||||
) {
|
) {
|
||||||
FIXME("(%s,%p,%08lx,%s,%p,%d,%ld): stub!\n",
|
FIXME("(%s,%p,%08lx,%s,%p,%d,%ld): stub!\n",
|
||||||
name,olecli,hclientdoc,xname,lpoleob,render,clipformat);
|
name,olecli,hclientdoc,xname,lpoleob,render,clipformat);
|
||||||
|
|
|
@ -20,6 +20,7 @@ IDL_SRCS = \
|
||||||
objidl.idl \
|
objidl.idl \
|
||||||
ocidl.idl \
|
ocidl.idl \
|
||||||
oleidl.idl \
|
oleidl.idl \
|
||||||
|
propidl.idl \
|
||||||
pstore.idl \
|
pstore.idl \
|
||||||
servprov.idl \
|
servprov.idl \
|
||||||
shldisp.idl \
|
shldisp.idl \
|
||||||
|
|
|
@ -487,6 +487,8 @@ HRESULT WINAPI StgOpenStorageOnILockBytes(ILockBytes *plkbyt, IStorage *pstgPrio
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* FIXME: #include <urlmon.h> */
|
||||||
|
#include <propidl.h>
|
||||||
|
|
||||||
#ifndef __WINESRC__
|
#ifndef __WINESRC__
|
||||||
|
|
||||||
|
|
940
include/objidl.h
940
include/objidl.h
|
@ -7669,952 +7669,12 @@ void __RPC_STUB IChannelHook_ServerFillBuffer_Stub(
|
||||||
|
|
||||||
#endif /* __IChannelHook_INTERFACE_DEFINED__ */
|
#endif /* __IChannelHook_INTERFACE_DEFINED__ */
|
||||||
|
|
||||||
#ifndef __IEnumSTATPROPSTG_FWD_DEFINED__
|
|
||||||
#define __IEnumSTATPROPSTG_FWD_DEFINED__
|
|
||||||
typedef struct IEnumSTATPROPSTG IEnumSTATPROPSTG;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__
|
|
||||||
#define __IEnumSTATPROPSETSTG_FWD_DEFINED__
|
|
||||||
typedef struct IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __IPropertyStorage_FWD_DEFINED__
|
|
||||||
#define __IPropertyStorage_FWD_DEFINED__
|
|
||||||
typedef struct IPropertyStorage IPropertyStorage;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef IPropertyStorage *LPPROPERTYSTORAGE;
|
|
||||||
|
|
||||||
extern const FMTID FMTID_SummaryInformation;
|
extern const FMTID FMTID_SummaryInformation;
|
||||||
|
|
||||||
extern const FMTID FMTID_DocSummaryInformation;
|
extern const FMTID FMTID_DocSummaryInformation;
|
||||||
|
|
||||||
extern const FMTID FMTID_UserDefinedProperties;
|
extern const FMTID FMTID_UserDefinedProperties;
|
||||||
|
|
||||||
#define PROPSETFLAG_DEFAULT (0)
|
|
||||||
|
|
||||||
#define PROPSETFLAG_NONSIMPLE (1)
|
|
||||||
|
|
||||||
#define PROPSETFLAG_ANSI (2)
|
|
||||||
|
|
||||||
#define PROPSETFLAG_UNBUFFERED (4)
|
|
||||||
|
|
||||||
typedef struct tagPROPVARIANT PROPVARIANT;
|
|
||||||
|
|
||||||
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;
|
|
||||||
BSTR *pElems;
|
|
||||||
} CABSTR;
|
|
||||||
|
|
||||||
typedef struct tagCABSTRBLOB {
|
|
||||||
ULONG cElems;
|
|
||||||
BSTRBLOB *pElems;
|
|
||||||
} CABSTRBLOB;
|
|
||||||
|
|
||||||
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 {
|
|
||||||
char cVal;
|
|
||||||
UCHAR bVal;
|
|
||||||
short iVal;
|
|
||||||
USHORT uiVal;
|
|
||||||
VARIANT_BOOL boolVal;
|
|
||||||
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;
|
|
||||||
IStream *pStream;
|
|
||||||
IStorage *pStorage;
|
|
||||||
BSTR bstrVal;
|
|
||||||
BSTRBLOB bstrblobVal;
|
|
||||||
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;
|
|
||||||
CABSTRBLOB cabstrblob;
|
|
||||||
CALPSTR calpstr;
|
|
||||||
CALPWSTR calpwstr;
|
|
||||||
CAPROPVARIANT capropvar;
|
|
||||||
} DUMMYUNIONNAME;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct tagPROPVARIANT *LPPROPVARIANT;
|
|
||||||
|
|
||||||
#define PRSPEC_INVALID (0xffffffff)
|
|
||||||
|
|
||||||
#define PRSPEC_LPWSTR (0)
|
|
||||||
|
|
||||||
#define PRSPEC_PROPID (1)
|
|
||||||
|
|
||||||
typedef struct tagPROPSPEC {
|
|
||||||
ULONG ulKind;
|
|
||||||
union {
|
|
||||||
PROPID propid;
|
|
||||||
LPOLESTR lpwstr;
|
|
||||||
} DUMMYUNIONNAME;
|
|
||||||
} PROPSPEC;
|
|
||||||
|
|
||||||
typedef struct tagSTATPROPSTG {
|
|
||||||
LPOLESTR lpwstrName;
|
|
||||||
PROPID propid;
|
|
||||||
VARTYPE vt;
|
|
||||||
} STATPROPSTG;
|
|
||||||
|
|
||||||
typedef struct tagSTATPROPSETSTG {
|
|
||||||
FMTID fmtid;
|
|
||||||
CLSID clsid;
|
|
||||||
DWORD grfFlags;
|
|
||||||
FILETIME mtime;
|
|
||||||
FILETIME ctime;
|
|
||||||
FILETIME atime;
|
|
||||||
DWORD dwOSVersion;
|
|
||||||
} STATPROPSETSTG;
|
|
||||||
|
|
||||||
/*****************************************************************************
|
|
||||||
* IPropertyStorage interface
|
|
||||||
*/
|
|
||||||
#ifndef __IPropertyStorage_INTERFACE_DEFINED__
|
|
||||||
#define __IPropertyStorage_INTERFACE_DEFINED__
|
|
||||||
|
|
||||||
DEFINE_GUID(IID_IPropertyStorage, 0x00000138, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
||||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
||||||
struct IPropertyStorage : public IUnknown
|
|
||||||
{
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE ReadMultiple(
|
|
||||||
ULONG cpspec,
|
|
||||||
const PROPSPEC rgpspec[],
|
|
||||||
PROPVARIANT rgpropvar[]) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE WriteMultiple(
|
|
||||||
ULONG cpspec,
|
|
||||||
const PROPSPEC rgpspec[],
|
|
||||||
const PROPVARIANT rgpropvar[],
|
|
||||||
PROPID propidNameFirst) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE DeleteMultiple(
|
|
||||||
ULONG cpspec,
|
|
||||||
const PROPSPEC rgpspec[]) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames(
|
|
||||||
ULONG cpropid,
|
|
||||||
const PROPID rgpropid[],
|
|
||||||
LPOLESTR rglpwstrName[]) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE WritePropertyNames(
|
|
||||||
ULONG cpropid,
|
|
||||||
const PROPID rgpropid[],
|
|
||||||
const LPOLESTR rglpwstrName[]) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE DeletePropertyNames(
|
|
||||||
ULONG cpropid,
|
|
||||||
const PROPID rgpropid[]) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Commit(
|
|
||||||
DWORD grfCommitFlags) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Revert(
|
|
||||||
) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Enum(
|
|
||||||
IEnumSTATPROPSTG** ppenum) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE SetTimes(
|
|
||||||
const FILETIME* pctime,
|
|
||||||
const FILETIME* patime,
|
|
||||||
const FILETIME* pmtime) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE SetClass(
|
|
||||||
REFCLSID clsid) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Stat(
|
|
||||||
STATPROPSETSTG* statpsstg) = 0;
|
|
||||||
|
|
||||||
};
|
|
||||||
#else
|
|
||||||
typedef struct IPropertyStorageVtbl IPropertyStorageVtbl;
|
|
||||||
struct IPropertyStorage {
|
|
||||||
const IPropertyStorageVtbl* lpVtbl;
|
|
||||||
};
|
|
||||||
struct IPropertyStorageVtbl {
|
|
||||||
BEGIN_INTERFACE
|
|
||||||
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
REFIID riid,
|
|
||||||
void** ppvObject);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
||||||
IPropertyStorage* This);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *Release)(
|
|
||||||
IPropertyStorage* This);
|
|
||||||
|
|
||||||
/*** IPropertyStorage methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *ReadMultiple)(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
ULONG cpspec,
|
|
||||||
const PROPSPEC rgpspec[],
|
|
||||||
PROPVARIANT rgpropvar[]);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *WriteMultiple)(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
ULONG cpspec,
|
|
||||||
const PROPSPEC rgpspec[],
|
|
||||||
const PROPVARIANT rgpropvar[],
|
|
||||||
PROPID propidNameFirst);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *DeleteMultiple)(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
ULONG cpspec,
|
|
||||||
const PROPSPEC rgpspec[]);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *ReadPropertyNames)(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
ULONG cpropid,
|
|
||||||
const PROPID rgpropid[],
|
|
||||||
LPOLESTR rglpwstrName[]);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *WritePropertyNames)(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
ULONG cpropid,
|
|
||||||
const PROPID rgpropid[],
|
|
||||||
const LPOLESTR rglpwstrName[]);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *DeletePropertyNames)(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
ULONG cpropid,
|
|
||||||
const PROPID rgpropid[]);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Commit)(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
DWORD grfCommitFlags);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Revert)(
|
|
||||||
IPropertyStorage* This);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Enum)(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
IEnumSTATPROPSTG** ppenum);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *SetTimes)(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
const FILETIME* pctime,
|
|
||||||
const FILETIME* patime,
|
|
||||||
const FILETIME* pmtime);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *SetClass)(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
REFCLSID clsid);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Stat)(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
STATPROPSETSTG* statpsstg);
|
|
||||||
|
|
||||||
END_INTERFACE
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef COBJMACROS
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
#define IPropertyStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
||||||
#define IPropertyStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
||||||
#define IPropertyStorage_Release(p) (p)->lpVtbl->Release(p)
|
|
||||||
/*** IPropertyStorage methods ***/
|
|
||||||
#define IPropertyStorage_ReadMultiple(p,a,b,c) (p)->lpVtbl->ReadMultiple(p,a,b,c)
|
|
||||||
#define IPropertyStorage_WriteMultiple(p,a,b,c,d) (p)->lpVtbl->WriteMultiple(p,a,b,c,d)
|
|
||||||
#define IPropertyStorage_DeleteMultiple(p,a,b) (p)->lpVtbl->DeleteMultiple(p,a,b)
|
|
||||||
#define IPropertyStorage_ReadPropertyNames(p,a,b,c) (p)->lpVtbl->ReadPropertyNames(p,a,b,c)
|
|
||||||
#define IPropertyStorage_WritePropertyNames(p,a,b,c) (p)->lpVtbl->WritePropertyNames(p,a,b,c)
|
|
||||||
#define IPropertyStorage_DeletePropertyNames(p,a,b) (p)->lpVtbl->DeletePropertyNames(p,a,b)
|
|
||||||
#define IPropertyStorage_Commit(p,a) (p)->lpVtbl->Commit(p,a)
|
|
||||||
#define IPropertyStorage_Revert(p) (p)->lpVtbl->Revert(p)
|
|
||||||
#define IPropertyStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a)
|
|
||||||
#define IPropertyStorage_SetTimes(p,a,b,c) (p)->lpVtbl->SetTimes(p,a,b,c)
|
|
||||||
#define IPropertyStorage_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
|
|
||||||
#define IPropertyStorage_Stat(p,a) (p)->lpVtbl->Stat(p,a)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define IPropertyStorage_METHODS \
|
|
||||||
/*** IUnknown methods ***/ \
|
|
||||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
||||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
||||||
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
||||||
/*** IPropertyStorage methods ***/ \
|
|
||||||
STDMETHOD_(HRESULT,ReadMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[], PROPVARIANT rgpropvar[]) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,WriteMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[], const PROPVARIANT rgpropvar[], PROPID propidNameFirst) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,DeleteMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[]) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,ReadPropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[], LPOLESTR rglpwstrName[]) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,WritePropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[], const LPOLESTR rglpwstrName[]) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,DeletePropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[]) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,Enum)(THIS_ IEnumSTATPROPSTG** ppenum) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,SetTimes)(THIS_ const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,Stat)(THIS_ STATPROPSETSTG* statpsstg) PURE;
|
|
||||||
|
|
||||||
HRESULT CALLBACK IPropertyStorage_ReadMultiple_Proxy(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
ULONG cpspec,
|
|
||||||
const PROPSPEC rgpspec[],
|
|
||||||
PROPVARIANT rgpropvar[]);
|
|
||||||
void __RPC_STUB IPropertyStorage_ReadMultiple_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IPropertyStorage_WriteMultiple_Proxy(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
ULONG cpspec,
|
|
||||||
const PROPSPEC rgpspec[],
|
|
||||||
const PROPVARIANT rgpropvar[],
|
|
||||||
PROPID propidNameFirst);
|
|
||||||
void __RPC_STUB IPropertyStorage_WriteMultiple_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IPropertyStorage_DeleteMultiple_Proxy(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
ULONG cpspec,
|
|
||||||
const PROPSPEC rgpspec[]);
|
|
||||||
void __RPC_STUB IPropertyStorage_DeleteMultiple_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IPropertyStorage_ReadPropertyNames_Proxy(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
ULONG cpropid,
|
|
||||||
const PROPID rgpropid[],
|
|
||||||
LPOLESTR rglpwstrName[]);
|
|
||||||
void __RPC_STUB IPropertyStorage_ReadPropertyNames_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IPropertyStorage_WritePropertyNames_Proxy(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
ULONG cpropid,
|
|
||||||
const PROPID rgpropid[],
|
|
||||||
const LPOLESTR rglpwstrName[]);
|
|
||||||
void __RPC_STUB IPropertyStorage_WritePropertyNames_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IPropertyStorage_DeletePropertyNames_Proxy(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
ULONG cpropid,
|
|
||||||
const PROPID rgpropid[]);
|
|
||||||
void __RPC_STUB IPropertyStorage_DeletePropertyNames_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IPropertyStorage_Commit_Proxy(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
DWORD grfCommitFlags);
|
|
||||||
void __RPC_STUB IPropertyStorage_Commit_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IPropertyStorage_Revert_Proxy(
|
|
||||||
IPropertyStorage* This);
|
|
||||||
void __RPC_STUB IPropertyStorage_Revert_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IPropertyStorage_Enum_Proxy(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
IEnumSTATPROPSTG** ppenum);
|
|
||||||
void __RPC_STUB IPropertyStorage_Enum_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IPropertyStorage_SetTimes_Proxy(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
const FILETIME* pctime,
|
|
||||||
const FILETIME* patime,
|
|
||||||
const FILETIME* pmtime);
|
|
||||||
void __RPC_STUB IPropertyStorage_SetTimes_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IPropertyStorage_SetClass_Proxy(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
REFCLSID clsid);
|
|
||||||
void __RPC_STUB IPropertyStorage_SetClass_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IPropertyStorage_Stat_Proxy(
|
|
||||||
IPropertyStorage* This,
|
|
||||||
STATPROPSETSTG* statpsstg);
|
|
||||||
void __RPC_STUB IPropertyStorage_Stat_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
|
|
||||||
#endif /* __IPropertyStorage_INTERFACE_DEFINED__ */
|
|
||||||
|
|
||||||
#ifndef __IPropertySetStorage_FWD_DEFINED__
|
|
||||||
#define __IPropertySetStorage_FWD_DEFINED__
|
|
||||||
typedef struct IPropertySetStorage IPropertySetStorage;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef IPropertySetStorage *LPPROPERTYSETSTORAGE;
|
|
||||||
|
|
||||||
/*****************************************************************************
|
|
||||||
* IPropertySetStorage interface
|
|
||||||
*/
|
|
||||||
#ifndef __IPropertySetStorage_INTERFACE_DEFINED__
|
|
||||||
#define __IPropertySetStorage_INTERFACE_DEFINED__
|
|
||||||
|
|
||||||
DEFINE_GUID(IID_IPropertySetStorage, 0x0000013a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
||||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
||||||
struct IPropertySetStorage : public IUnknown
|
|
||||||
{
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Create(
|
|
||||||
REFFMTID rfmtid,
|
|
||||||
const CLSID* pclsid,
|
|
||||||
DWORD grfFlags,
|
|
||||||
DWORD grfMode,
|
|
||||||
IPropertyStorage** ppprstg) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Open(
|
|
||||||
REFFMTID rfmtid,
|
|
||||||
DWORD grfMode,
|
|
||||||
IPropertyStorage** ppprstg) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Delete(
|
|
||||||
REFFMTID rfmtid) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Enum(
|
|
||||||
IEnumSTATPROPSETSTG** ppenum) = 0;
|
|
||||||
|
|
||||||
};
|
|
||||||
#else
|
|
||||||
typedef struct IPropertySetStorageVtbl IPropertySetStorageVtbl;
|
|
||||||
struct IPropertySetStorage {
|
|
||||||
const IPropertySetStorageVtbl* lpVtbl;
|
|
||||||
};
|
|
||||||
struct IPropertySetStorageVtbl {
|
|
||||||
BEGIN_INTERFACE
|
|
||||||
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
||||||
IPropertySetStorage* This,
|
|
||||||
REFIID riid,
|
|
||||||
void** ppvObject);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
||||||
IPropertySetStorage* This);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *Release)(
|
|
||||||
IPropertySetStorage* This);
|
|
||||||
|
|
||||||
/*** IPropertySetStorage methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Create)(
|
|
||||||
IPropertySetStorage* This,
|
|
||||||
REFFMTID rfmtid,
|
|
||||||
const CLSID* pclsid,
|
|
||||||
DWORD grfFlags,
|
|
||||||
DWORD grfMode,
|
|
||||||
IPropertyStorage** ppprstg);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Open)(
|
|
||||||
IPropertySetStorage* This,
|
|
||||||
REFFMTID rfmtid,
|
|
||||||
DWORD grfMode,
|
|
||||||
IPropertyStorage** ppprstg);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Delete)(
|
|
||||||
IPropertySetStorage* This,
|
|
||||||
REFFMTID rfmtid);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Enum)(
|
|
||||||
IPropertySetStorage* This,
|
|
||||||
IEnumSTATPROPSETSTG** ppenum);
|
|
||||||
|
|
||||||
END_INTERFACE
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef COBJMACROS
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
#define IPropertySetStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
||||||
#define IPropertySetStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
||||||
#define IPropertySetStorage_Release(p) (p)->lpVtbl->Release(p)
|
|
||||||
/*** IPropertySetStorage methods ***/
|
|
||||||
#define IPropertySetStorage_Create(p,a,b,c,d,e) (p)->lpVtbl->Create(p,a,b,c,d,e)
|
|
||||||
#define IPropertySetStorage_Open(p,a,b,c) (p)->lpVtbl->Open(p,a,b,c)
|
|
||||||
#define IPropertySetStorage_Delete(p,a) (p)->lpVtbl->Delete(p,a)
|
|
||||||
#define IPropertySetStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define IPropertySetStorage_METHODS \
|
|
||||||
/*** IUnknown methods ***/ \
|
|
||||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
||||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
||||||
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
||||||
/*** IPropertySetStorage methods ***/ \
|
|
||||||
STDMETHOD_(HRESULT,Create)(THIS_ REFFMTID rfmtid, const CLSID* pclsid, DWORD grfFlags, DWORD grfMode, IPropertyStorage** ppprstg) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,Open)(THIS_ REFFMTID rfmtid, DWORD grfMode, IPropertyStorage** ppprstg) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,Delete)(THIS_ REFFMTID rfmtid) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,Enum)(THIS_ IEnumSTATPROPSETSTG** ppenum) PURE;
|
|
||||||
|
|
||||||
HRESULT CALLBACK IPropertySetStorage_Create_Proxy(
|
|
||||||
IPropertySetStorage* This,
|
|
||||||
REFFMTID rfmtid,
|
|
||||||
const CLSID* pclsid,
|
|
||||||
DWORD grfFlags,
|
|
||||||
DWORD grfMode,
|
|
||||||
IPropertyStorage** ppprstg);
|
|
||||||
void __RPC_STUB IPropertySetStorage_Create_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IPropertySetStorage_Open_Proxy(
|
|
||||||
IPropertySetStorage* This,
|
|
||||||
REFFMTID rfmtid,
|
|
||||||
DWORD grfMode,
|
|
||||||
IPropertyStorage** ppprstg);
|
|
||||||
void __RPC_STUB IPropertySetStorage_Open_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IPropertySetStorage_Delete_Proxy(
|
|
||||||
IPropertySetStorage* This,
|
|
||||||
REFFMTID rfmtid);
|
|
||||||
void __RPC_STUB IPropertySetStorage_Delete_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IPropertySetStorage_Enum_Proxy(
|
|
||||||
IPropertySetStorage* This,
|
|
||||||
IEnumSTATPROPSETSTG** ppenum);
|
|
||||||
void __RPC_STUB IPropertySetStorage_Enum_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
|
|
||||||
#endif /* __IPropertySetStorage_INTERFACE_DEFINED__ */
|
|
||||||
|
|
||||||
typedef IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
|
|
||||||
|
|
||||||
/*****************************************************************************
|
|
||||||
* IEnumSTATPROPSTG interface
|
|
||||||
*/
|
|
||||||
#ifndef __IEnumSTATPROPSTG_INTERFACE_DEFINED__
|
|
||||||
#define __IEnumSTATPROPSTG_INTERFACE_DEFINED__
|
|
||||||
|
|
||||||
DEFINE_GUID(IID_IEnumSTATPROPSTG, 0x00000139, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
||||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
||||||
struct IEnumSTATPROPSTG : public IUnknown
|
|
||||||
{
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Next(
|
|
||||||
ULONG celt,
|
|
||||||
STATPROPSTG* rgelt,
|
|
||||||
ULONG* pceltFetched) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Skip(
|
|
||||||
ULONG celt) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Reset(
|
|
||||||
) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Clone(
|
|
||||||
IEnumSTATPROPSTG** ppenum) = 0;
|
|
||||||
|
|
||||||
};
|
|
||||||
#else
|
|
||||||
typedef struct IEnumSTATPROPSTGVtbl IEnumSTATPROPSTGVtbl;
|
|
||||||
struct IEnumSTATPROPSTG {
|
|
||||||
const IEnumSTATPROPSTGVtbl* lpVtbl;
|
|
||||||
};
|
|
||||||
struct IEnumSTATPROPSTGVtbl {
|
|
||||||
BEGIN_INTERFACE
|
|
||||||
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
||||||
IEnumSTATPROPSTG* This,
|
|
||||||
REFIID riid,
|
|
||||||
void** ppvObject);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
||||||
IEnumSTATPROPSTG* This);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *Release)(
|
|
||||||
IEnumSTATPROPSTG* This);
|
|
||||||
|
|
||||||
/*** IEnumSTATPROPSTG methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Next)(
|
|
||||||
IEnumSTATPROPSTG* This,
|
|
||||||
ULONG celt,
|
|
||||||
STATPROPSTG* rgelt,
|
|
||||||
ULONG* pceltFetched);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Skip)(
|
|
||||||
IEnumSTATPROPSTG* This,
|
|
||||||
ULONG celt);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Reset)(
|
|
||||||
IEnumSTATPROPSTG* This);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Clone)(
|
|
||||||
IEnumSTATPROPSTG* This,
|
|
||||||
IEnumSTATPROPSTG** ppenum);
|
|
||||||
|
|
||||||
END_INTERFACE
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef COBJMACROS
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
#define IEnumSTATPROPSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
||||||
#define IEnumSTATPROPSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
||||||
#define IEnumSTATPROPSTG_Release(p) (p)->lpVtbl->Release(p)
|
|
||||||
/*** IEnumSTATPROPSTG methods ***/
|
|
||||||
#define IEnumSTATPROPSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
|
|
||||||
#define IEnumSTATPROPSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
|
|
||||||
#define IEnumSTATPROPSTG_Reset(p) (p)->lpVtbl->Reset(p)
|
|
||||||
#define IEnumSTATPROPSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define IEnumSTATPROPSTG_METHODS \
|
|
||||||
/*** IUnknown methods ***/ \
|
|
||||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
||||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
||||||
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
||||||
/*** IEnumSTATPROPSTG methods ***/ \
|
|
||||||
STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATPROPSTG* rgelt, ULONG* pceltFetched) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATPROPSTG** ppenum) PURE;
|
|
||||||
|
|
||||||
HRESULT CALLBACK IEnumSTATPROPSTG_RemoteNext_Proxy(
|
|
||||||
IEnumSTATPROPSTG* This,
|
|
||||||
ULONG celt,
|
|
||||||
STATPROPSTG* rgelt,
|
|
||||||
ULONG* pceltFetched);
|
|
||||||
void __RPC_STUB IEnumSTATPROPSTG_RemoteNext_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IEnumSTATPROPSTG_Next_Proxy(
|
|
||||||
IEnumSTATPROPSTG* This,
|
|
||||||
ULONG celt,
|
|
||||||
STATPROPSTG* rgelt,
|
|
||||||
ULONG* pceltFetched);
|
|
||||||
HRESULT __RPC_STUB IEnumSTATPROPSTG_Next_Stub(
|
|
||||||
IEnumSTATPROPSTG* This,
|
|
||||||
ULONG celt,
|
|
||||||
STATPROPSTG* rgelt,
|
|
||||||
ULONG* pceltFetched);
|
|
||||||
HRESULT CALLBACK IEnumSTATPROPSTG_Skip_Proxy(
|
|
||||||
IEnumSTATPROPSTG* This,
|
|
||||||
ULONG celt);
|
|
||||||
void __RPC_STUB IEnumSTATPROPSTG_Skip_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IEnumSTATPROPSTG_Reset_Proxy(
|
|
||||||
IEnumSTATPROPSTG* This);
|
|
||||||
void __RPC_STUB IEnumSTATPROPSTG_Reset_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IEnumSTATPROPSTG_Clone_Proxy(
|
|
||||||
IEnumSTATPROPSTG* This,
|
|
||||||
IEnumSTATPROPSTG** ppenum);
|
|
||||||
void __RPC_STUB IEnumSTATPROPSTG_Clone_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
|
|
||||||
#endif /* __IEnumSTATPROPSTG_INTERFACE_DEFINED__ */
|
|
||||||
|
|
||||||
typedef IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
|
|
||||||
|
|
||||||
/*****************************************************************************
|
|
||||||
* IEnumSTATPROPSETSTG interface
|
|
||||||
*/
|
|
||||||
#ifndef __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
|
|
||||||
#define __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
|
|
||||||
|
|
||||||
DEFINE_GUID(IID_IEnumSTATPROPSETSTG, 0x0000013b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
||||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
||||||
struct IEnumSTATPROPSETSTG : public IUnknown
|
|
||||||
{
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Next(
|
|
||||||
ULONG celt,
|
|
||||||
STATPROPSETSTG* rgelt,
|
|
||||||
ULONG* pceltFetched) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Skip(
|
|
||||||
ULONG celt) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Reset(
|
|
||||||
) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Clone(
|
|
||||||
IEnumSTATPROPSETSTG** ppenum) = 0;
|
|
||||||
|
|
||||||
};
|
|
||||||
#else
|
|
||||||
typedef struct IEnumSTATPROPSETSTGVtbl IEnumSTATPROPSETSTGVtbl;
|
|
||||||
struct IEnumSTATPROPSETSTG {
|
|
||||||
const IEnumSTATPROPSETSTGVtbl* lpVtbl;
|
|
||||||
};
|
|
||||||
struct IEnumSTATPROPSETSTGVtbl {
|
|
||||||
BEGIN_INTERFACE
|
|
||||||
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
||||||
IEnumSTATPROPSETSTG* This,
|
|
||||||
REFIID riid,
|
|
||||||
void** ppvObject);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
||||||
IEnumSTATPROPSETSTG* This);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *Release)(
|
|
||||||
IEnumSTATPROPSETSTG* This);
|
|
||||||
|
|
||||||
/*** IEnumSTATPROPSETSTG methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Next)(
|
|
||||||
IEnumSTATPROPSETSTG* This,
|
|
||||||
ULONG celt,
|
|
||||||
STATPROPSETSTG* rgelt,
|
|
||||||
ULONG* pceltFetched);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Skip)(
|
|
||||||
IEnumSTATPROPSETSTG* This,
|
|
||||||
ULONG celt);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Reset)(
|
|
||||||
IEnumSTATPROPSETSTG* This);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Clone)(
|
|
||||||
IEnumSTATPROPSETSTG* This,
|
|
||||||
IEnumSTATPROPSETSTG** ppenum);
|
|
||||||
|
|
||||||
END_INTERFACE
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef COBJMACROS
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
#define IEnumSTATPROPSETSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
||||||
#define IEnumSTATPROPSETSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
||||||
#define IEnumSTATPROPSETSTG_Release(p) (p)->lpVtbl->Release(p)
|
|
||||||
/*** IEnumSTATPROPSETSTG methods ***/
|
|
||||||
#define IEnumSTATPROPSETSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
|
|
||||||
#define IEnumSTATPROPSETSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
|
|
||||||
#define IEnumSTATPROPSETSTG_Reset(p) (p)->lpVtbl->Reset(p)
|
|
||||||
#define IEnumSTATPROPSETSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define IEnumSTATPROPSETSTG_METHODS \
|
|
||||||
/*** IUnknown methods ***/ \
|
|
||||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
||||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
||||||
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
||||||
/*** IEnumSTATPROPSETSTG methods ***/ \
|
|
||||||
STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATPROPSETSTG* rgelt, ULONG* pceltFetched) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
|
|
||||||
STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATPROPSETSTG** ppenum) PURE;
|
|
||||||
|
|
||||||
HRESULT CALLBACK IEnumSTATPROPSETSTG_RemoteNext_Proxy(
|
|
||||||
IEnumSTATPROPSETSTG* This,
|
|
||||||
ULONG celt,
|
|
||||||
STATPROPSETSTG* rgelt,
|
|
||||||
ULONG* pceltFetched);
|
|
||||||
void __RPC_STUB IEnumSTATPROPSETSTG_RemoteNext_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IEnumSTATPROPSETSTG_Next_Proxy(
|
|
||||||
IEnumSTATPROPSETSTG* This,
|
|
||||||
ULONG celt,
|
|
||||||
STATPROPSETSTG* rgelt,
|
|
||||||
ULONG* pceltFetched);
|
|
||||||
HRESULT __RPC_STUB IEnumSTATPROPSETSTG_Next_Stub(
|
|
||||||
IEnumSTATPROPSETSTG* This,
|
|
||||||
ULONG celt,
|
|
||||||
STATPROPSETSTG* rgelt,
|
|
||||||
ULONG* pceltFetched);
|
|
||||||
HRESULT CALLBACK IEnumSTATPROPSETSTG_Skip_Proxy(
|
|
||||||
IEnumSTATPROPSETSTG* This,
|
|
||||||
ULONG celt);
|
|
||||||
void __RPC_STUB IEnumSTATPROPSETSTG_Skip_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IEnumSTATPROPSETSTG_Reset_Proxy(
|
|
||||||
IEnumSTATPROPSETSTG* This);
|
|
||||||
void __RPC_STUB IEnumSTATPROPSETSTG_Reset_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IEnumSTATPROPSETSTG_Clone_Proxy(
|
|
||||||
IEnumSTATPROPSETSTG* This,
|
|
||||||
IEnumSTATPROPSETSTG** ppenum);
|
|
||||||
void __RPC_STUB IEnumSTATPROPSETSTG_Clone_Stub(
|
|
||||||
struct IRpcStubBuffer* This,
|
|
||||||
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
|
|
||||||
#endif /* __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__ */
|
|
||||||
|
|
||||||
#ifndef __IClientSecurity_FWD_DEFINED__
|
#ifndef __IClientSecurity_FWD_DEFINED__
|
||||||
#define __IClientSecurity_FWD_DEFINED__
|
#define __IClientSecurity_FWD_DEFINED__
|
||||||
typedef struct IClientSecurity IClientSecurity;
|
typedef struct IClientSecurity IClientSecurity;
|
||||||
|
|
|
@ -1810,293 +1810,10 @@ interface IChannelHook : IUnknown
|
||||||
[in] HRESULT hrFault );
|
[in] HRESULT hrFault );
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************** Property Storage ********************/
|
extern const FMTID FMTID_SummaryInformation;
|
||||||
|
extern const FMTID FMTID_DocSummaryInformation;
|
||||||
|
extern const FMTID FMTID_UserDefinedProperties;
|
||||||
|
|
||||||
interface IEnumSTATPROPSTG;
|
|
||||||
interface IEnumSTATPROPSETSTG;
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(00000138-0000-0000-C000-000000000046),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IPropertyStorage : IUnknown
|
|
||||||
{
|
|
||||||
typedef [unique] IPropertyStorage *LPPROPERTYSTORAGE;
|
|
||||||
|
|
||||||
extern const FMTID FMTID_SummaryInformation;
|
|
||||||
extern const FMTID FMTID_DocSummaryInformation;
|
|
||||||
extern const FMTID FMTID_UserDefinedProperties;
|
|
||||||
|
|
||||||
const DWORD PROPSETFLAG_DEFAULT = 0;
|
|
||||||
const DWORD PROPSETFLAG_NONSIMPLE = 1;
|
|
||||||
const DWORD PROPSETFLAG_ANSI = 2;
|
|
||||||
const DWORD PROPSETFLAG_UNBUFFERED = 4;
|
|
||||||
|
|
||||||
typedef struct tagPROPVARIANT PROPVARIANT;
|
|
||||||
|
|
||||||
#define TYPEDEF_CA(type, name) \
|
|
||||||
typedef struct tag##name { \
|
|
||||||
ULONG cElems; \
|
|
||||||
[size_is(cElems)] \
|
|
||||||
type *pElems; \
|
|
||||||
} name
|
|
||||||
|
|
||||||
TYPEDEF_CA(unsigned char, CAUB);
|
|
||||||
TYPEDEF_CA(short, CAI);
|
|
||||||
TYPEDEF_CA(USHORT, CAUI);
|
|
||||||
TYPEDEF_CA(long, CAL);
|
|
||||||
TYPEDEF_CA(ULONG, CAUL);
|
|
||||||
TYPEDEF_CA(float, CAFLT);
|
|
||||||
TYPEDEF_CA(double, CADBL);
|
|
||||||
TYPEDEF_CA(CY, CACY);
|
|
||||||
TYPEDEF_CA(DATE, CADATE);
|
|
||||||
TYPEDEF_CA(BSTR, CABSTR);
|
|
||||||
TYPEDEF_CA(BSTRBLOB, CABSTRBLOB);
|
|
||||||
TYPEDEF_CA(VARIANT_BOOL, CABOOL);
|
|
||||||
TYPEDEF_CA(SCODE, CASCODE);
|
|
||||||
TYPEDEF_CA(PROPVARIANT, CAPROPVARIANT);
|
|
||||||
TYPEDEF_CA(LARGE_INTEGER, CAH);
|
|
||||||
TYPEDEF_CA(ULARGE_INTEGER, CAUH);
|
|
||||||
TYPEDEF_CA(LPSTR, CALPSTR);
|
|
||||||
TYPEDEF_CA(LPWSTR, CALPWSTR);
|
|
||||||
TYPEDEF_CA(FILETIME, CAFILETIME);
|
|
||||||
TYPEDEF_CA(CLIPDATA, CACLIPDATA);
|
|
||||||
TYPEDEF_CA(CLSID, CACLSID);
|
|
||||||
|
|
||||||
struct tagPROPVARIANT {
|
|
||||||
VARTYPE vt;
|
|
||||||
WORD wReserved1;
|
|
||||||
WORD wReserved2;
|
|
||||||
WORD wReserved3;
|
|
||||||
[switch_is(vt & 0x1fff)] union {
|
|
||||||
[case(VT_EMPTY, VT_NULL)] ;
|
|
||||||
[case(VT_I1)] char cVal;
|
|
||||||
[case(VT_UI1)] UCHAR bVal;
|
|
||||||
[case(VT_I2)] short iVal;
|
|
||||||
[case(VT_UI2)] USHORT uiVal;
|
|
||||||
[case(VT_BOOL)] VARIANT_BOOL boolVal;
|
|
||||||
#if 0 /* illegal in C++ */
|
|
||||||
[case(VT_ILLEGAL)] _VARIANT_BOOL bool;
|
|
||||||
#endif
|
|
||||||
[case(VT_I4)] long lVal;
|
|
||||||
[case(VT_UI4)] ULONG ulVal;
|
|
||||||
[case(VT_R4)] float fltVal;
|
|
||||||
[case(VT_ERROR)] SCODE scode;
|
|
||||||
[case(VT_I8)] LARGE_INTEGER hVal;
|
|
||||||
[case(VT_UI8)] ULARGE_INTEGER uhVal;
|
|
||||||
[case(VT_R8)] double dblVal;
|
|
||||||
[case(VT_CY)] CY cyVal;
|
|
||||||
[case(VT_DATE)] DATE date;
|
|
||||||
[case(VT_FILETIME)] FILETIME filetime;
|
|
||||||
[case(VT_CLSID)] CLSID *puuid;
|
|
||||||
[case(VT_BLOB, VT_BLOB_OBJECT)] BLOB blob;
|
|
||||||
[case(VT_CF)] CLIPDATA *pclipdata;
|
|
||||||
[case(VT_STREAM, VT_STREAMED_OBJECT)] IStream *pStream;
|
|
||||||
[case(VT_STORAGE, VT_STORED_OBJECT)] IStorage *pStorage;
|
|
||||||
[case(VT_BSTR)] BSTR bstrVal;
|
|
||||||
[case(VT_BSTR_BLOB)] BSTRBLOB bstrblobVal;
|
|
||||||
[case(VT_LPSTR)] LPSTR pszVal;
|
|
||||||
[case(VT_LPWSTR)] LPWSTR pwszVal;
|
|
||||||
[case(VT_UI1|VT_VECTOR)] CAUB caub;
|
|
||||||
[case(VT_I2|VT_VECTOR)] CAI cai;
|
|
||||||
[case(VT_UI2|VT_VECTOR)] CAUI caui;
|
|
||||||
[case(VT_BOOL|VT_VECTOR)] CABOOL cabool;
|
|
||||||
[case(VT_I4|VT_VECTOR)] CAL cal;
|
|
||||||
[case(VT_UI4|VT_VECTOR)] CAUL caul;
|
|
||||||
[case(VT_R4|VT_VECTOR)] CAFLT caflt;
|
|
||||||
[case(VT_ERROR|VT_VECTOR)] CASCODE cascode;
|
|
||||||
[case(VT_I8|VT_VECTOR)] CAH cah;
|
|
||||||
[case(VT_UI8|VT_VECTOR)] CAUH cauh;
|
|
||||||
[case(VT_R8|VT_VECTOR)] CADBL cadbl;
|
|
||||||
[case(VT_CY|VT_VECTOR)] CACY cacy;
|
|
||||||
[case(VT_DATE|VT_VECTOR)] CADATE cadate;
|
|
||||||
[case(VT_FILETIME|VT_VECTOR)] CAFILETIME cafiletime;
|
|
||||||
[case(VT_CLSID|VT_VECTOR)] CACLSID cauuid;
|
|
||||||
[case(VT_CF|VT_VECTOR)] CACLIPDATA caclipdata;
|
|
||||||
[case(VT_BSTR|VT_VECTOR)] CABSTR cabstr;
|
|
||||||
[case(VT_BSTR_BLOB|VT_VECTOR)] CABSTRBLOB cabstrblob;
|
|
||||||
[case(VT_LPSTR|VT_VECTOR)] CALPSTR calpstr;
|
|
||||||
[case(VT_LPWSTR|VT_VECTOR)] CALPWSTR calpwstr;
|
|
||||||
[case(VT_VARIANT|VT_VECTOR)] CAPROPVARIANT capropvar;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct tagPROPVARIANT *LPPROPVARIANT;
|
|
||||||
|
|
||||||
/* FIXME: bunches of property IDs */
|
|
||||||
|
|
||||||
const ULONG PRSPEC_INVALID = 0xffffffff;
|
|
||||||
const ULONG PRSPEC_LPWSTR = 0;
|
|
||||||
const ULONG PRSPEC_PROPID = 1;
|
|
||||||
|
|
||||||
typedef struct tagPROPSPEC {
|
|
||||||
ULONG ulKind;
|
|
||||||
[switch_is(ulKind)] union {
|
|
||||||
[case(PRSPEC_PROPID)] PROPID propid;
|
|
||||||
[case(PRSPEC_LPWSTR)] LPOLESTR lpwstr;
|
|
||||||
[default] ;
|
|
||||||
};
|
|
||||||
} PROPSPEC;
|
|
||||||
|
|
||||||
typedef struct tagSTATPROPSTG {
|
|
||||||
LPOLESTR lpwstrName;
|
|
||||||
PROPID propid;
|
|
||||||
VARTYPE vt;
|
|
||||||
} STATPROPSTG;
|
|
||||||
|
|
||||||
/* FIXME: macros */
|
|
||||||
|
|
||||||
typedef struct tagSTATPROPSETSTG {
|
|
||||||
FMTID fmtid;
|
|
||||||
CLSID clsid;
|
|
||||||
DWORD grfFlags;
|
|
||||||
FILETIME mtime;
|
|
||||||
FILETIME ctime;
|
|
||||||
FILETIME atime;
|
|
||||||
DWORD dwOSVersion;
|
|
||||||
} STATPROPSETSTG;
|
|
||||||
|
|
||||||
HRESULT ReadMultiple(
|
|
||||||
[in] ULONG cpspec,
|
|
||||||
[in, size_is(cpspec)] const PROPSPEC rgpspec[],
|
|
||||||
[out, size_is(cpspec)] PROPVARIANT rgpropvar[]);
|
|
||||||
|
|
||||||
HRESULT WriteMultiple(
|
|
||||||
[in] ULONG cpspec,
|
|
||||||
[in, size_is(cpspec)] const PROPSPEC rgpspec[],
|
|
||||||
[in, size_is(cpspec)] const PROPVARIANT rgpropvar[],
|
|
||||||
[in] PROPID propidNameFirst);
|
|
||||||
|
|
||||||
HRESULT DeleteMultiple(
|
|
||||||
[in] ULONG cpspec,
|
|
||||||
[in, size_is(cpspec)] const PROPSPEC rgpspec[]);
|
|
||||||
|
|
||||||
HRESULT ReadPropertyNames(
|
|
||||||
[in] ULONG cpropid,
|
|
||||||
[in, size_is(cpropid)] const PROPID rgpropid[],
|
|
||||||
[out, size_is(cpropid)] LPOLESTR rglpwstrName[]);
|
|
||||||
|
|
||||||
HRESULT WritePropertyNames(
|
|
||||||
[in] ULONG cpropid,
|
|
||||||
[in, size_is(cpropid)] const PROPID rgpropid[],
|
|
||||||
[in, size_is(cpropid)] const LPOLESTR rglpwstrName[]);
|
|
||||||
|
|
||||||
HRESULT DeletePropertyNames(
|
|
||||||
[in] ULONG cpropid,
|
|
||||||
[in, size_is(cpropid)] const PROPID rgpropid[]);
|
|
||||||
|
|
||||||
HRESULT Commit(
|
|
||||||
[in] DWORD grfCommitFlags);
|
|
||||||
|
|
||||||
HRESULT Revert();
|
|
||||||
|
|
||||||
HRESULT Enum(
|
|
||||||
[out] IEnumSTATPROPSTG **ppenum);
|
|
||||||
|
|
||||||
HRESULT SetTimes(
|
|
||||||
[in] const FILETIME *pctime,
|
|
||||||
[in] const FILETIME *patime,
|
|
||||||
[in] const FILETIME *pmtime);
|
|
||||||
|
|
||||||
HRESULT SetClass(
|
|
||||||
[in] REFCLSID clsid);
|
|
||||||
|
|
||||||
HRESULT Stat(
|
|
||||||
[out] STATPROPSETSTG *statpsstg);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(0000013A-0000-0000-C000-000000000046),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IPropertySetStorage : IUnknown
|
|
||||||
{
|
|
||||||
typedef [unique] IPropertySetStorage *LPPROPERTYSETSTORAGE;
|
|
||||||
|
|
||||||
HRESULT Create(
|
|
||||||
[in] REFFMTID rfmtid,
|
|
||||||
[in, unique] const CLSID *pclsid,
|
|
||||||
[in] DWORD grfFlags,
|
|
||||||
[in] DWORD grfMode,
|
|
||||||
[out] IPropertyStorage **ppprstg);
|
|
||||||
|
|
||||||
HRESULT Open(
|
|
||||||
[in] REFFMTID rfmtid,
|
|
||||||
[in] DWORD grfMode,
|
|
||||||
[out] IPropertyStorage **ppprstg);
|
|
||||||
|
|
||||||
HRESULT Delete(
|
|
||||||
[in] REFFMTID rfmtid);
|
|
||||||
|
|
||||||
HRESULT Enum(
|
|
||||||
[out] IEnumSTATPROPSETSTG **ppenum);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(00000139-0000-0000-C000-000000000046),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IEnumSTATPROPSTG : IUnknown
|
|
||||||
{
|
|
||||||
typedef [unique] IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
|
|
||||||
|
|
||||||
[local]
|
|
||||||
HRESULT Next(
|
|
||||||
[in] ULONG celt,
|
|
||||||
[out, size_is(celt), length_is(*pceltFetched)]
|
|
||||||
STATPROPSTG *rgelt,
|
|
||||||
[out] ULONG *pceltFetched);
|
|
||||||
|
|
||||||
[call_as(Next)]
|
|
||||||
HRESULT RemoteNext(
|
|
||||||
[in] ULONG celt,
|
|
||||||
[out, size_is(celt), length_is(*pceltFetched)]
|
|
||||||
STATPROPSTG *rgelt,
|
|
||||||
[out] ULONG *pceltFetched);
|
|
||||||
|
|
||||||
HRESULT Skip(
|
|
||||||
[in] ULONG celt);
|
|
||||||
|
|
||||||
HRESULT Reset();
|
|
||||||
|
|
||||||
HRESULT Clone(
|
|
||||||
[out] IEnumSTATPROPSTG **ppenum);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(0000013B-0000-0000-C000-000000000046),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IEnumSTATPROPSETSTG : IUnknown
|
|
||||||
{
|
|
||||||
typedef [unique] IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
|
|
||||||
|
|
||||||
[local]
|
|
||||||
HRESULT Next(
|
|
||||||
[in] ULONG celt,
|
|
||||||
[out, size_is(celt), length_is(*pceltFetched)]
|
|
||||||
STATPROPSETSTG *rgelt,
|
|
||||||
[out] ULONG *pceltFetched);
|
|
||||||
|
|
||||||
[call_as(Next)]
|
|
||||||
HRESULT RemoteNext(
|
|
||||||
[in] ULONG celt,
|
|
||||||
[out, size_is(celt), length_is(*pceltFetched)]
|
|
||||||
STATPROPSETSTG *rgelt,
|
|
||||||
[out] ULONG *pceltFetched);
|
|
||||||
|
|
||||||
HRESULT Skip(
|
|
||||||
[in] ULONG celt);
|
|
||||||
|
|
||||||
HRESULT Reset();
|
|
||||||
|
|
||||||
HRESULT Clone(
|
|
||||||
[out] IEnumSTATPROPSETSTG **ppenum);
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************** Connection Points ********************/
|
/******************** Connection Points ********************/
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
|
|
|
@ -0,0 +1,958 @@
|
||||||
|
/*** Autogenerated by WIDL 0.1 from propidl.idl - Do not edit ***/
|
||||||
|
#include <rpc.h>
|
||||||
|
#include <rpcndr.h>
|
||||||
|
|
||||||
|
#ifndef __WIDL_PROPIDL_H
|
||||||
|
#define __WIDL_PROPIDL_H
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
#include <objidl.h>
|
||||||
|
#include <oaidl.h>
|
||||||
|
#ifndef __IEnumSTATPROPSTG_FWD_DEFINED__
|
||||||
|
#define __IEnumSTATPROPSTG_FWD_DEFINED__
|
||||||
|
typedef struct IEnumSTATPROPSTG IEnumSTATPROPSTG;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__
|
||||||
|
#define __IEnumSTATPROPSETSTG_FWD_DEFINED__
|
||||||
|
typedef struct IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __IPropertyStorage_FWD_DEFINED__
|
||||||
|
#define __IPropertyStorage_FWD_DEFINED__
|
||||||
|
typedef struct IPropertyStorage IPropertyStorage;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef IPropertyStorage *LPPROPERTYSTORAGE;
|
||||||
|
|
||||||
|
#define PROPSETFLAG_DEFAULT (0)
|
||||||
|
|
||||||
|
#define PROPSETFLAG_NONSIMPLE (1)
|
||||||
|
|
||||||
|
#define PROPSETFLAG_ANSI (2)
|
||||||
|
|
||||||
|
#define PROPSETFLAG_UNBUFFERED (4)
|
||||||
|
|
||||||
|
typedef struct tagPROPVARIANT PROPVARIANT;
|
||||||
|
|
||||||
|
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;
|
||||||
|
BSTR *pElems;
|
||||||
|
} CABSTR;
|
||||||
|
|
||||||
|
typedef struct tagCABSTRBLOB {
|
||||||
|
ULONG cElems;
|
||||||
|
BSTRBLOB *pElems;
|
||||||
|
} CABSTRBLOB;
|
||||||
|
|
||||||
|
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 {
|
||||||
|
char cVal;
|
||||||
|
UCHAR bVal;
|
||||||
|
short iVal;
|
||||||
|
USHORT uiVal;
|
||||||
|
VARIANT_BOOL boolVal;
|
||||||
|
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;
|
||||||
|
IStream *pStream;
|
||||||
|
IStorage *pStorage;
|
||||||
|
BSTR bstrVal;
|
||||||
|
BSTRBLOB bstrblobVal;
|
||||||
|
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;
|
||||||
|
CABSTRBLOB cabstrblob;
|
||||||
|
CALPSTR calpstr;
|
||||||
|
CALPWSTR calpwstr;
|
||||||
|
CAPROPVARIANT capropvar;
|
||||||
|
} DUMMYUNIONNAME;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct tagPROPVARIANT *LPPROPVARIANT;
|
||||||
|
|
||||||
|
#define PRSPEC_INVALID (0xffffffff)
|
||||||
|
|
||||||
|
#define PRSPEC_LPWSTR (0)
|
||||||
|
|
||||||
|
#define PRSPEC_PROPID (1)
|
||||||
|
|
||||||
|
typedef struct tagPROPSPEC {
|
||||||
|
ULONG ulKind;
|
||||||
|
union {
|
||||||
|
PROPID propid;
|
||||||
|
LPOLESTR lpwstr;
|
||||||
|
} DUMMYUNIONNAME;
|
||||||
|
} PROPSPEC;
|
||||||
|
|
||||||
|
typedef struct tagSTATPROPSTG {
|
||||||
|
LPOLESTR lpwstrName;
|
||||||
|
PROPID propid;
|
||||||
|
VARTYPE vt;
|
||||||
|
} STATPROPSTG;
|
||||||
|
|
||||||
|
typedef struct tagSTATPROPSETSTG {
|
||||||
|
FMTID fmtid;
|
||||||
|
CLSID clsid;
|
||||||
|
DWORD grfFlags;
|
||||||
|
FILETIME mtime;
|
||||||
|
FILETIME ctime;
|
||||||
|
FILETIME atime;
|
||||||
|
DWORD dwOSVersion;
|
||||||
|
} STATPROPSETSTG;
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* IPropertyStorage interface
|
||||||
|
*/
|
||||||
|
#ifndef __IPropertyStorage_INTERFACE_DEFINED__
|
||||||
|
#define __IPropertyStorage_INTERFACE_DEFINED__
|
||||||
|
|
||||||
|
DEFINE_GUID(IID_IPropertyStorage, 0x00000138, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
||||||
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||||
|
struct IPropertyStorage : public IUnknown
|
||||||
|
{
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE ReadMultiple(
|
||||||
|
ULONG cpspec,
|
||||||
|
const PROPSPEC rgpspec[],
|
||||||
|
PROPVARIANT rgpropvar[]) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE WriteMultiple(
|
||||||
|
ULONG cpspec,
|
||||||
|
const PROPSPEC rgpspec[],
|
||||||
|
const PROPVARIANT rgpropvar[],
|
||||||
|
PROPID propidNameFirst) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE DeleteMultiple(
|
||||||
|
ULONG cpspec,
|
||||||
|
const PROPSPEC rgpspec[]) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames(
|
||||||
|
ULONG cpropid,
|
||||||
|
const PROPID rgpropid[],
|
||||||
|
LPOLESTR rglpwstrName[]) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE WritePropertyNames(
|
||||||
|
ULONG cpropid,
|
||||||
|
const PROPID rgpropid[],
|
||||||
|
const LPOLESTR rglpwstrName[]) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE DeletePropertyNames(
|
||||||
|
ULONG cpropid,
|
||||||
|
const PROPID rgpropid[]) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Commit(
|
||||||
|
DWORD grfCommitFlags) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Revert(
|
||||||
|
) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Enum(
|
||||||
|
IEnumSTATPROPSTG** ppenum) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE SetTimes(
|
||||||
|
const FILETIME* pctime,
|
||||||
|
const FILETIME* patime,
|
||||||
|
const FILETIME* pmtime) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE SetClass(
|
||||||
|
REFCLSID clsid) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Stat(
|
||||||
|
STATPROPSETSTG* statpsstg) = 0;
|
||||||
|
|
||||||
|
};
|
||||||
|
#else
|
||||||
|
typedef struct IPropertyStorageVtbl IPropertyStorageVtbl;
|
||||||
|
struct IPropertyStorage {
|
||||||
|
const IPropertyStorageVtbl* lpVtbl;
|
||||||
|
};
|
||||||
|
struct IPropertyStorageVtbl {
|
||||||
|
BEGIN_INTERFACE
|
||||||
|
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
REFIID riid,
|
||||||
|
void** ppvObject);
|
||||||
|
|
||||||
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
||||||
|
IPropertyStorage* This);
|
||||||
|
|
||||||
|
ULONG (STDMETHODCALLTYPE *Release)(
|
||||||
|
IPropertyStorage* This);
|
||||||
|
|
||||||
|
/*** IPropertyStorage methods ***/
|
||||||
|
HRESULT (STDMETHODCALLTYPE *ReadMultiple)(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
ULONG cpspec,
|
||||||
|
const PROPSPEC rgpspec[],
|
||||||
|
PROPVARIANT rgpropvar[]);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *WriteMultiple)(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
ULONG cpspec,
|
||||||
|
const PROPSPEC rgpspec[],
|
||||||
|
const PROPVARIANT rgpropvar[],
|
||||||
|
PROPID propidNameFirst);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *DeleteMultiple)(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
ULONG cpspec,
|
||||||
|
const PROPSPEC rgpspec[]);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *ReadPropertyNames)(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
ULONG cpropid,
|
||||||
|
const PROPID rgpropid[],
|
||||||
|
LPOLESTR rglpwstrName[]);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *WritePropertyNames)(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
ULONG cpropid,
|
||||||
|
const PROPID rgpropid[],
|
||||||
|
const LPOLESTR rglpwstrName[]);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *DeletePropertyNames)(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
ULONG cpropid,
|
||||||
|
const PROPID rgpropid[]);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Commit)(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
DWORD grfCommitFlags);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Revert)(
|
||||||
|
IPropertyStorage* This);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Enum)(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
IEnumSTATPROPSTG** ppenum);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *SetTimes)(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
const FILETIME* pctime,
|
||||||
|
const FILETIME* patime,
|
||||||
|
const FILETIME* pmtime);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *SetClass)(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
REFCLSID clsid);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Stat)(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
STATPROPSETSTG* statpsstg);
|
||||||
|
|
||||||
|
END_INTERFACE
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef COBJMACROS
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
#define IPropertyStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||||
|
#define IPropertyStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||||
|
#define IPropertyStorage_Release(p) (p)->lpVtbl->Release(p)
|
||||||
|
/*** IPropertyStorage methods ***/
|
||||||
|
#define IPropertyStorage_ReadMultiple(p,a,b,c) (p)->lpVtbl->ReadMultiple(p,a,b,c)
|
||||||
|
#define IPropertyStorage_WriteMultiple(p,a,b,c,d) (p)->lpVtbl->WriteMultiple(p,a,b,c,d)
|
||||||
|
#define IPropertyStorage_DeleteMultiple(p,a,b) (p)->lpVtbl->DeleteMultiple(p,a,b)
|
||||||
|
#define IPropertyStorage_ReadPropertyNames(p,a,b,c) (p)->lpVtbl->ReadPropertyNames(p,a,b,c)
|
||||||
|
#define IPropertyStorage_WritePropertyNames(p,a,b,c) (p)->lpVtbl->WritePropertyNames(p,a,b,c)
|
||||||
|
#define IPropertyStorage_DeletePropertyNames(p,a,b) (p)->lpVtbl->DeletePropertyNames(p,a,b)
|
||||||
|
#define IPropertyStorage_Commit(p,a) (p)->lpVtbl->Commit(p,a)
|
||||||
|
#define IPropertyStorage_Revert(p) (p)->lpVtbl->Revert(p)
|
||||||
|
#define IPropertyStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a)
|
||||||
|
#define IPropertyStorage_SetTimes(p,a,b,c) (p)->lpVtbl->SetTimes(p,a,b,c)
|
||||||
|
#define IPropertyStorage_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
|
||||||
|
#define IPropertyStorage_Stat(p,a) (p)->lpVtbl->Stat(p,a)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define IPropertyStorage_METHODS \
|
||||||
|
/*** IUnknown methods ***/ \
|
||||||
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
||||||
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
||||||
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
||||||
|
/*** IPropertyStorage methods ***/ \
|
||||||
|
STDMETHOD_(HRESULT,ReadMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[], PROPVARIANT rgpropvar[]) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,WriteMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[], const PROPVARIANT rgpropvar[], PROPID propidNameFirst) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,DeleteMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[]) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,ReadPropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[], LPOLESTR rglpwstrName[]) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,WritePropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[], const LPOLESTR rglpwstrName[]) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,DeletePropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[]) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,Revert)(THIS) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,Enum)(THIS_ IEnumSTATPROPSTG** ppenum) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,SetTimes)(THIS_ const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,Stat)(THIS_ STATPROPSETSTG* statpsstg) PURE;
|
||||||
|
|
||||||
|
HRESULT CALLBACK IPropertyStorage_ReadMultiple_Proxy(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
ULONG cpspec,
|
||||||
|
const PROPSPEC rgpspec[],
|
||||||
|
PROPVARIANT rgpropvar[]);
|
||||||
|
void __RPC_STUB IPropertyStorage_ReadMultiple_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IPropertyStorage_WriteMultiple_Proxy(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
ULONG cpspec,
|
||||||
|
const PROPSPEC rgpspec[],
|
||||||
|
const PROPVARIANT rgpropvar[],
|
||||||
|
PROPID propidNameFirst);
|
||||||
|
void __RPC_STUB IPropertyStorage_WriteMultiple_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IPropertyStorage_DeleteMultiple_Proxy(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
ULONG cpspec,
|
||||||
|
const PROPSPEC rgpspec[]);
|
||||||
|
void __RPC_STUB IPropertyStorage_DeleteMultiple_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IPropertyStorage_ReadPropertyNames_Proxy(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
ULONG cpropid,
|
||||||
|
const PROPID rgpropid[],
|
||||||
|
LPOLESTR rglpwstrName[]);
|
||||||
|
void __RPC_STUB IPropertyStorage_ReadPropertyNames_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IPropertyStorage_WritePropertyNames_Proxy(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
ULONG cpropid,
|
||||||
|
const PROPID rgpropid[],
|
||||||
|
const LPOLESTR rglpwstrName[]);
|
||||||
|
void __RPC_STUB IPropertyStorage_WritePropertyNames_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IPropertyStorage_DeletePropertyNames_Proxy(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
ULONG cpropid,
|
||||||
|
const PROPID rgpropid[]);
|
||||||
|
void __RPC_STUB IPropertyStorage_DeletePropertyNames_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IPropertyStorage_Commit_Proxy(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
DWORD grfCommitFlags);
|
||||||
|
void __RPC_STUB IPropertyStorage_Commit_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IPropertyStorage_Revert_Proxy(
|
||||||
|
IPropertyStorage* This);
|
||||||
|
void __RPC_STUB IPropertyStorage_Revert_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IPropertyStorage_Enum_Proxy(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
IEnumSTATPROPSTG** ppenum);
|
||||||
|
void __RPC_STUB IPropertyStorage_Enum_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IPropertyStorage_SetTimes_Proxy(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
const FILETIME* pctime,
|
||||||
|
const FILETIME* patime,
|
||||||
|
const FILETIME* pmtime);
|
||||||
|
void __RPC_STUB IPropertyStorage_SetTimes_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IPropertyStorage_SetClass_Proxy(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
REFCLSID clsid);
|
||||||
|
void __RPC_STUB IPropertyStorage_SetClass_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IPropertyStorage_Stat_Proxy(
|
||||||
|
IPropertyStorage* This,
|
||||||
|
STATPROPSETSTG* statpsstg);
|
||||||
|
void __RPC_STUB IPropertyStorage_Stat_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
|
||||||
|
#endif /* __IPropertyStorage_INTERFACE_DEFINED__ */
|
||||||
|
|
||||||
|
#ifndef __IPropertySetStorage_FWD_DEFINED__
|
||||||
|
#define __IPropertySetStorage_FWD_DEFINED__
|
||||||
|
typedef struct IPropertySetStorage IPropertySetStorage;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef IPropertySetStorage *LPPROPERTYSETSTORAGE;
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* IPropertySetStorage interface
|
||||||
|
*/
|
||||||
|
#ifndef __IPropertySetStorage_INTERFACE_DEFINED__
|
||||||
|
#define __IPropertySetStorage_INTERFACE_DEFINED__
|
||||||
|
|
||||||
|
DEFINE_GUID(IID_IPropertySetStorage, 0x0000013a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
||||||
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||||
|
struct IPropertySetStorage : public IUnknown
|
||||||
|
{
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Create(
|
||||||
|
REFFMTID rfmtid,
|
||||||
|
const CLSID* pclsid,
|
||||||
|
DWORD grfFlags,
|
||||||
|
DWORD grfMode,
|
||||||
|
IPropertyStorage** ppprstg) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Open(
|
||||||
|
REFFMTID rfmtid,
|
||||||
|
DWORD grfMode,
|
||||||
|
IPropertyStorage** ppprstg) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Delete(
|
||||||
|
REFFMTID rfmtid) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Enum(
|
||||||
|
IEnumSTATPROPSETSTG** ppenum) = 0;
|
||||||
|
|
||||||
|
};
|
||||||
|
#else
|
||||||
|
typedef struct IPropertySetStorageVtbl IPropertySetStorageVtbl;
|
||||||
|
struct IPropertySetStorage {
|
||||||
|
const IPropertySetStorageVtbl* lpVtbl;
|
||||||
|
};
|
||||||
|
struct IPropertySetStorageVtbl {
|
||||||
|
BEGIN_INTERFACE
|
||||||
|
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
||||||
|
IPropertySetStorage* This,
|
||||||
|
REFIID riid,
|
||||||
|
void** ppvObject);
|
||||||
|
|
||||||
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
||||||
|
IPropertySetStorage* This);
|
||||||
|
|
||||||
|
ULONG (STDMETHODCALLTYPE *Release)(
|
||||||
|
IPropertySetStorage* This);
|
||||||
|
|
||||||
|
/*** IPropertySetStorage methods ***/
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Create)(
|
||||||
|
IPropertySetStorage* This,
|
||||||
|
REFFMTID rfmtid,
|
||||||
|
const CLSID* pclsid,
|
||||||
|
DWORD grfFlags,
|
||||||
|
DWORD grfMode,
|
||||||
|
IPropertyStorage** ppprstg);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Open)(
|
||||||
|
IPropertySetStorage* This,
|
||||||
|
REFFMTID rfmtid,
|
||||||
|
DWORD grfMode,
|
||||||
|
IPropertyStorage** ppprstg);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Delete)(
|
||||||
|
IPropertySetStorage* This,
|
||||||
|
REFFMTID rfmtid);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Enum)(
|
||||||
|
IPropertySetStorage* This,
|
||||||
|
IEnumSTATPROPSETSTG** ppenum);
|
||||||
|
|
||||||
|
END_INTERFACE
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef COBJMACROS
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
#define IPropertySetStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||||
|
#define IPropertySetStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||||
|
#define IPropertySetStorage_Release(p) (p)->lpVtbl->Release(p)
|
||||||
|
/*** IPropertySetStorage methods ***/
|
||||||
|
#define IPropertySetStorage_Create(p,a,b,c,d,e) (p)->lpVtbl->Create(p,a,b,c,d,e)
|
||||||
|
#define IPropertySetStorage_Open(p,a,b,c) (p)->lpVtbl->Open(p,a,b,c)
|
||||||
|
#define IPropertySetStorage_Delete(p,a) (p)->lpVtbl->Delete(p,a)
|
||||||
|
#define IPropertySetStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define IPropertySetStorage_METHODS \
|
||||||
|
/*** IUnknown methods ***/ \
|
||||||
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
||||||
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
||||||
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
||||||
|
/*** IPropertySetStorage methods ***/ \
|
||||||
|
STDMETHOD_(HRESULT,Create)(THIS_ REFFMTID rfmtid, const CLSID* pclsid, DWORD grfFlags, DWORD grfMode, IPropertyStorage** ppprstg) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,Open)(THIS_ REFFMTID rfmtid, DWORD grfMode, IPropertyStorage** ppprstg) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,Delete)(THIS_ REFFMTID rfmtid) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,Enum)(THIS_ IEnumSTATPROPSETSTG** ppenum) PURE;
|
||||||
|
|
||||||
|
HRESULT CALLBACK IPropertySetStorage_Create_Proxy(
|
||||||
|
IPropertySetStorage* This,
|
||||||
|
REFFMTID rfmtid,
|
||||||
|
const CLSID* pclsid,
|
||||||
|
DWORD grfFlags,
|
||||||
|
DWORD grfMode,
|
||||||
|
IPropertyStorage** ppprstg);
|
||||||
|
void __RPC_STUB IPropertySetStorage_Create_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IPropertySetStorage_Open_Proxy(
|
||||||
|
IPropertySetStorage* This,
|
||||||
|
REFFMTID rfmtid,
|
||||||
|
DWORD grfMode,
|
||||||
|
IPropertyStorage** ppprstg);
|
||||||
|
void __RPC_STUB IPropertySetStorage_Open_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IPropertySetStorage_Delete_Proxy(
|
||||||
|
IPropertySetStorage* This,
|
||||||
|
REFFMTID rfmtid);
|
||||||
|
void __RPC_STUB IPropertySetStorage_Delete_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IPropertySetStorage_Enum_Proxy(
|
||||||
|
IPropertySetStorage* This,
|
||||||
|
IEnumSTATPROPSETSTG** ppenum);
|
||||||
|
void __RPC_STUB IPropertySetStorage_Enum_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
|
||||||
|
#endif /* __IPropertySetStorage_INTERFACE_DEFINED__ */
|
||||||
|
|
||||||
|
typedef IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* IEnumSTATPROPSTG interface
|
||||||
|
*/
|
||||||
|
#ifndef __IEnumSTATPROPSTG_INTERFACE_DEFINED__
|
||||||
|
#define __IEnumSTATPROPSTG_INTERFACE_DEFINED__
|
||||||
|
|
||||||
|
DEFINE_GUID(IID_IEnumSTATPROPSTG, 0x00000139, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
||||||
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||||
|
struct IEnumSTATPROPSTG : public IUnknown
|
||||||
|
{
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Next(
|
||||||
|
ULONG celt,
|
||||||
|
STATPROPSTG* rgelt,
|
||||||
|
ULONG* pceltFetched) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Skip(
|
||||||
|
ULONG celt) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Reset(
|
||||||
|
) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Clone(
|
||||||
|
IEnumSTATPROPSTG** ppenum) = 0;
|
||||||
|
|
||||||
|
};
|
||||||
|
#else
|
||||||
|
typedef struct IEnumSTATPROPSTGVtbl IEnumSTATPROPSTGVtbl;
|
||||||
|
struct IEnumSTATPROPSTG {
|
||||||
|
const IEnumSTATPROPSTGVtbl* lpVtbl;
|
||||||
|
};
|
||||||
|
struct IEnumSTATPROPSTGVtbl {
|
||||||
|
BEGIN_INTERFACE
|
||||||
|
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
||||||
|
IEnumSTATPROPSTG* This,
|
||||||
|
REFIID riid,
|
||||||
|
void** ppvObject);
|
||||||
|
|
||||||
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
||||||
|
IEnumSTATPROPSTG* This);
|
||||||
|
|
||||||
|
ULONG (STDMETHODCALLTYPE *Release)(
|
||||||
|
IEnumSTATPROPSTG* This);
|
||||||
|
|
||||||
|
/*** IEnumSTATPROPSTG methods ***/
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Next)(
|
||||||
|
IEnumSTATPROPSTG* This,
|
||||||
|
ULONG celt,
|
||||||
|
STATPROPSTG* rgelt,
|
||||||
|
ULONG* pceltFetched);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Skip)(
|
||||||
|
IEnumSTATPROPSTG* This,
|
||||||
|
ULONG celt);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Reset)(
|
||||||
|
IEnumSTATPROPSTG* This);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Clone)(
|
||||||
|
IEnumSTATPROPSTG* This,
|
||||||
|
IEnumSTATPROPSTG** ppenum);
|
||||||
|
|
||||||
|
END_INTERFACE
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef COBJMACROS
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
#define IEnumSTATPROPSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||||
|
#define IEnumSTATPROPSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||||
|
#define IEnumSTATPROPSTG_Release(p) (p)->lpVtbl->Release(p)
|
||||||
|
/*** IEnumSTATPROPSTG methods ***/
|
||||||
|
#define IEnumSTATPROPSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
|
||||||
|
#define IEnumSTATPROPSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
|
||||||
|
#define IEnumSTATPROPSTG_Reset(p) (p)->lpVtbl->Reset(p)
|
||||||
|
#define IEnumSTATPROPSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define IEnumSTATPROPSTG_METHODS \
|
||||||
|
/*** IUnknown methods ***/ \
|
||||||
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
||||||
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
||||||
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
||||||
|
/*** IEnumSTATPROPSTG methods ***/ \
|
||||||
|
STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATPROPSTG* rgelt, ULONG* pceltFetched) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATPROPSTG** ppenum) PURE;
|
||||||
|
|
||||||
|
HRESULT CALLBACK IEnumSTATPROPSTG_RemoteNext_Proxy(
|
||||||
|
IEnumSTATPROPSTG* This,
|
||||||
|
ULONG celt,
|
||||||
|
STATPROPSTG* rgelt,
|
||||||
|
ULONG* pceltFetched);
|
||||||
|
void __RPC_STUB IEnumSTATPROPSTG_RemoteNext_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IEnumSTATPROPSTG_Next_Proxy(
|
||||||
|
IEnumSTATPROPSTG* This,
|
||||||
|
ULONG celt,
|
||||||
|
STATPROPSTG* rgelt,
|
||||||
|
ULONG* pceltFetched);
|
||||||
|
HRESULT __RPC_STUB IEnumSTATPROPSTG_Next_Stub(
|
||||||
|
IEnumSTATPROPSTG* This,
|
||||||
|
ULONG celt,
|
||||||
|
STATPROPSTG* rgelt,
|
||||||
|
ULONG* pceltFetched);
|
||||||
|
HRESULT CALLBACK IEnumSTATPROPSTG_Skip_Proxy(
|
||||||
|
IEnumSTATPROPSTG* This,
|
||||||
|
ULONG celt);
|
||||||
|
void __RPC_STUB IEnumSTATPROPSTG_Skip_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IEnumSTATPROPSTG_Reset_Proxy(
|
||||||
|
IEnumSTATPROPSTG* This);
|
||||||
|
void __RPC_STUB IEnumSTATPROPSTG_Reset_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IEnumSTATPROPSTG_Clone_Proxy(
|
||||||
|
IEnumSTATPROPSTG* This,
|
||||||
|
IEnumSTATPROPSTG** ppenum);
|
||||||
|
void __RPC_STUB IEnumSTATPROPSTG_Clone_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
|
||||||
|
#endif /* __IEnumSTATPROPSTG_INTERFACE_DEFINED__ */
|
||||||
|
|
||||||
|
typedef IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* IEnumSTATPROPSETSTG interface
|
||||||
|
*/
|
||||||
|
#ifndef __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
|
||||||
|
#define __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
|
||||||
|
|
||||||
|
DEFINE_GUID(IID_IEnumSTATPROPSETSTG, 0x0000013b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
||||||
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||||
|
struct IEnumSTATPROPSETSTG : public IUnknown
|
||||||
|
{
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Next(
|
||||||
|
ULONG celt,
|
||||||
|
STATPROPSETSTG* rgelt,
|
||||||
|
ULONG* pceltFetched) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Skip(
|
||||||
|
ULONG celt) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Reset(
|
||||||
|
) = 0;
|
||||||
|
|
||||||
|
virtual HRESULT STDMETHODCALLTYPE Clone(
|
||||||
|
IEnumSTATPROPSETSTG** ppenum) = 0;
|
||||||
|
|
||||||
|
};
|
||||||
|
#else
|
||||||
|
typedef struct IEnumSTATPROPSETSTGVtbl IEnumSTATPROPSETSTGVtbl;
|
||||||
|
struct IEnumSTATPROPSETSTG {
|
||||||
|
const IEnumSTATPROPSETSTGVtbl* lpVtbl;
|
||||||
|
};
|
||||||
|
struct IEnumSTATPROPSETSTGVtbl {
|
||||||
|
BEGIN_INTERFACE
|
||||||
|
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
||||||
|
IEnumSTATPROPSETSTG* This,
|
||||||
|
REFIID riid,
|
||||||
|
void** ppvObject);
|
||||||
|
|
||||||
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
||||||
|
IEnumSTATPROPSETSTG* This);
|
||||||
|
|
||||||
|
ULONG (STDMETHODCALLTYPE *Release)(
|
||||||
|
IEnumSTATPROPSETSTG* This);
|
||||||
|
|
||||||
|
/*** IEnumSTATPROPSETSTG methods ***/
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Next)(
|
||||||
|
IEnumSTATPROPSETSTG* This,
|
||||||
|
ULONG celt,
|
||||||
|
STATPROPSETSTG* rgelt,
|
||||||
|
ULONG* pceltFetched);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Skip)(
|
||||||
|
IEnumSTATPROPSETSTG* This,
|
||||||
|
ULONG celt);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Reset)(
|
||||||
|
IEnumSTATPROPSETSTG* This);
|
||||||
|
|
||||||
|
HRESULT (STDMETHODCALLTYPE *Clone)(
|
||||||
|
IEnumSTATPROPSETSTG* This,
|
||||||
|
IEnumSTATPROPSETSTG** ppenum);
|
||||||
|
|
||||||
|
END_INTERFACE
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef COBJMACROS
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
#define IEnumSTATPROPSETSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||||
|
#define IEnumSTATPROPSETSTG_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||||
|
#define IEnumSTATPROPSETSTG_Release(p) (p)->lpVtbl->Release(p)
|
||||||
|
/*** IEnumSTATPROPSETSTG methods ***/
|
||||||
|
#define IEnumSTATPROPSETSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
|
||||||
|
#define IEnumSTATPROPSETSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a)
|
||||||
|
#define IEnumSTATPROPSETSTG_Reset(p) (p)->lpVtbl->Reset(p)
|
||||||
|
#define IEnumSTATPROPSETSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define IEnumSTATPROPSETSTG_METHODS \
|
||||||
|
/*** IUnknown methods ***/ \
|
||||||
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
||||||
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
||||||
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
||||||
|
/*** IEnumSTATPROPSETSTG methods ***/ \
|
||||||
|
STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATPROPSETSTG* rgelt, ULONG* pceltFetched) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
|
||||||
|
STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATPROPSETSTG** ppenum) PURE;
|
||||||
|
|
||||||
|
HRESULT CALLBACK IEnumSTATPROPSETSTG_RemoteNext_Proxy(
|
||||||
|
IEnumSTATPROPSETSTG* This,
|
||||||
|
ULONG celt,
|
||||||
|
STATPROPSETSTG* rgelt,
|
||||||
|
ULONG* pceltFetched);
|
||||||
|
void __RPC_STUB IEnumSTATPROPSETSTG_RemoteNext_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IEnumSTATPROPSETSTG_Next_Proxy(
|
||||||
|
IEnumSTATPROPSETSTG* This,
|
||||||
|
ULONG celt,
|
||||||
|
STATPROPSETSTG* rgelt,
|
||||||
|
ULONG* pceltFetched);
|
||||||
|
HRESULT __RPC_STUB IEnumSTATPROPSETSTG_Next_Stub(
|
||||||
|
IEnumSTATPROPSETSTG* This,
|
||||||
|
ULONG celt,
|
||||||
|
STATPROPSETSTG* rgelt,
|
||||||
|
ULONG* pceltFetched);
|
||||||
|
HRESULT CALLBACK IEnumSTATPROPSETSTG_Skip_Proxy(
|
||||||
|
IEnumSTATPROPSETSTG* This,
|
||||||
|
ULONG celt);
|
||||||
|
void __RPC_STUB IEnumSTATPROPSETSTG_Skip_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IEnumSTATPROPSETSTG_Reset_Proxy(
|
||||||
|
IEnumSTATPROPSETSTG* This);
|
||||||
|
void __RPC_STUB IEnumSTATPROPSETSTG_Reset_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
HRESULT CALLBACK IEnumSTATPROPSETSTG_Clone_Proxy(
|
||||||
|
IEnumSTATPROPSETSTG* This,
|
||||||
|
IEnumSTATPROPSETSTG** ppenum);
|
||||||
|
void __RPC_STUB IEnumSTATPROPSETSTG_Clone_Stub(
|
||||||
|
struct IRpcStubBuffer* This,
|
||||||
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
||||||
|
PRPC_MESSAGE pRpcMessage,
|
||||||
|
DWORD* pdwStubPhase);
|
||||||
|
|
||||||
|
#endif /* __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__ */
|
||||||
|
|
||||||
|
HRESULT WINAPI FreePropVariantArray(ULONG,PROPVARIANT*);
|
||||||
|
HRESULT WINAPI PropVariantClear(PROPVARIANT*);
|
||||||
|
HRESULT WINAPI PropVariantCopy(PROPVARIANT*,const PROPVARIANT*);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif /* __WIDL_PROPIDL_H */
|
|
@ -0,0 +1,311 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2002 Ove Kaaven
|
||||||
|
* Copyright 2004 Francois Gouget
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
import "objidl.idl";
|
||||||
|
import "oaidl.idl";
|
||||||
|
|
||||||
|
|
||||||
|
/******************** Property Storage ********************/
|
||||||
|
|
||||||
|
interface IEnumSTATPROPSTG;
|
||||||
|
interface IEnumSTATPROPSETSTG;
|
||||||
|
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(00000138-0000-0000-C000-000000000046),
|
||||||
|
pointer_default(unique)
|
||||||
|
]
|
||||||
|
interface IPropertyStorage : IUnknown
|
||||||
|
{
|
||||||
|
typedef [unique] IPropertyStorage *LPPROPERTYSTORAGE;
|
||||||
|
|
||||||
|
const DWORD PROPSETFLAG_DEFAULT = 0;
|
||||||
|
const DWORD PROPSETFLAG_NONSIMPLE = 1;
|
||||||
|
const DWORD PROPSETFLAG_ANSI = 2;
|
||||||
|
const DWORD PROPSETFLAG_UNBUFFERED = 4;
|
||||||
|
|
||||||
|
typedef struct tagPROPVARIANT PROPVARIANT;
|
||||||
|
|
||||||
|
#define TYPEDEF_CA(type, name) \
|
||||||
|
typedef struct tag##name { \
|
||||||
|
ULONG cElems; \
|
||||||
|
[size_is(cElems)] \
|
||||||
|
type *pElems; \
|
||||||
|
} name
|
||||||
|
|
||||||
|
TYPEDEF_CA(unsigned char, CAUB);
|
||||||
|
TYPEDEF_CA(short, CAI);
|
||||||
|
TYPEDEF_CA(USHORT, CAUI);
|
||||||
|
TYPEDEF_CA(long, CAL);
|
||||||
|
TYPEDEF_CA(ULONG, CAUL);
|
||||||
|
TYPEDEF_CA(float, CAFLT);
|
||||||
|
TYPEDEF_CA(double, CADBL);
|
||||||
|
TYPEDEF_CA(CY, CACY);
|
||||||
|
TYPEDEF_CA(DATE, CADATE);
|
||||||
|
TYPEDEF_CA(BSTR, CABSTR);
|
||||||
|
TYPEDEF_CA(BSTRBLOB, CABSTRBLOB);
|
||||||
|
TYPEDEF_CA(VARIANT_BOOL, CABOOL);
|
||||||
|
TYPEDEF_CA(SCODE, CASCODE);
|
||||||
|
TYPEDEF_CA(PROPVARIANT, CAPROPVARIANT);
|
||||||
|
TYPEDEF_CA(LARGE_INTEGER, CAH);
|
||||||
|
TYPEDEF_CA(ULARGE_INTEGER, CAUH);
|
||||||
|
TYPEDEF_CA(LPSTR, CALPSTR);
|
||||||
|
TYPEDEF_CA(LPWSTR, CALPWSTR);
|
||||||
|
TYPEDEF_CA(FILETIME, CAFILETIME);
|
||||||
|
TYPEDEF_CA(CLIPDATA, CACLIPDATA);
|
||||||
|
TYPEDEF_CA(CLSID, CACLSID);
|
||||||
|
|
||||||
|
struct tagPROPVARIANT {
|
||||||
|
VARTYPE vt;
|
||||||
|
WORD wReserved1;
|
||||||
|
WORD wReserved2;
|
||||||
|
WORD wReserved3;
|
||||||
|
[switch_is(vt & 0x1fff)] union {
|
||||||
|
[case(VT_EMPTY, VT_NULL)] ;
|
||||||
|
[case(VT_I1)] char cVal;
|
||||||
|
[case(VT_UI1)] UCHAR bVal;
|
||||||
|
[case(VT_I2)] short iVal;
|
||||||
|
[case(VT_UI2)] USHORT uiVal;
|
||||||
|
[case(VT_BOOL)] VARIANT_BOOL boolVal;
|
||||||
|
#if 0 /* illegal in C++ */
|
||||||
|
[case(VT_ILLEGAL)] _VARIANT_BOOL bool;
|
||||||
|
#endif
|
||||||
|
[case(VT_I4)] long lVal;
|
||||||
|
[case(VT_UI4)] ULONG ulVal;
|
||||||
|
[case(VT_R4)] float fltVal;
|
||||||
|
[case(VT_ERROR)] SCODE scode;
|
||||||
|
[case(VT_I8)] LARGE_INTEGER hVal;
|
||||||
|
[case(VT_UI8)] ULARGE_INTEGER uhVal;
|
||||||
|
[case(VT_R8)] double dblVal;
|
||||||
|
[case(VT_CY)] CY cyVal;
|
||||||
|
[case(VT_DATE)] DATE date;
|
||||||
|
[case(VT_FILETIME)] FILETIME filetime;
|
||||||
|
[case(VT_CLSID)] CLSID *puuid;
|
||||||
|
[case(VT_BLOB, VT_BLOB_OBJECT)] BLOB blob;
|
||||||
|
[case(VT_CF)] CLIPDATA *pclipdata;
|
||||||
|
[case(VT_STREAM, VT_STREAMED_OBJECT)] IStream *pStream;
|
||||||
|
[case(VT_STORAGE, VT_STORED_OBJECT)] IStorage *pStorage;
|
||||||
|
[case(VT_BSTR)] BSTR bstrVal;
|
||||||
|
[case(VT_BSTR_BLOB)] BSTRBLOB bstrblobVal;
|
||||||
|
[case(VT_LPSTR)] LPSTR pszVal;
|
||||||
|
[case(VT_LPWSTR)] LPWSTR pwszVal;
|
||||||
|
[case(VT_UI1|VT_VECTOR)] CAUB caub;
|
||||||
|
[case(VT_I2|VT_VECTOR)] CAI cai;
|
||||||
|
[case(VT_UI2|VT_VECTOR)] CAUI caui;
|
||||||
|
[case(VT_BOOL|VT_VECTOR)] CABOOL cabool;
|
||||||
|
[case(VT_I4|VT_VECTOR)] CAL cal;
|
||||||
|
[case(VT_UI4|VT_VECTOR)] CAUL caul;
|
||||||
|
[case(VT_R4|VT_VECTOR)] CAFLT caflt;
|
||||||
|
[case(VT_ERROR|VT_VECTOR)] CASCODE cascode;
|
||||||
|
[case(VT_I8|VT_VECTOR)] CAH cah;
|
||||||
|
[case(VT_UI8|VT_VECTOR)] CAUH cauh;
|
||||||
|
[case(VT_R8|VT_VECTOR)] CADBL cadbl;
|
||||||
|
[case(VT_CY|VT_VECTOR)] CACY cacy;
|
||||||
|
[case(VT_DATE|VT_VECTOR)] CADATE cadate;
|
||||||
|
[case(VT_FILETIME|VT_VECTOR)] CAFILETIME cafiletime;
|
||||||
|
[case(VT_CLSID|VT_VECTOR)] CACLSID cauuid;
|
||||||
|
[case(VT_CF|VT_VECTOR)] CACLIPDATA caclipdata;
|
||||||
|
[case(VT_BSTR|VT_VECTOR)] CABSTR cabstr;
|
||||||
|
[case(VT_BSTR_BLOB|VT_VECTOR)] CABSTRBLOB cabstrblob;
|
||||||
|
[case(VT_LPSTR|VT_VECTOR)] CALPSTR calpstr;
|
||||||
|
[case(VT_LPWSTR|VT_VECTOR)] CALPWSTR calpwstr;
|
||||||
|
[case(VT_VARIANT|VT_VECTOR)] CAPROPVARIANT capropvar;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct tagPROPVARIANT *LPPROPVARIANT;
|
||||||
|
|
||||||
|
/* FIXME: bunches of property IDs */
|
||||||
|
|
||||||
|
const ULONG PRSPEC_INVALID = 0xffffffff;
|
||||||
|
const ULONG PRSPEC_LPWSTR = 0;
|
||||||
|
const ULONG PRSPEC_PROPID = 1;
|
||||||
|
|
||||||
|
typedef struct tagPROPSPEC {
|
||||||
|
ULONG ulKind;
|
||||||
|
[switch_is(ulKind)] union {
|
||||||
|
[case(PRSPEC_PROPID)] PROPID propid;
|
||||||
|
[case(PRSPEC_LPWSTR)] LPOLESTR lpwstr;
|
||||||
|
[default] ;
|
||||||
|
};
|
||||||
|
} PROPSPEC;
|
||||||
|
|
||||||
|
typedef struct tagSTATPROPSTG {
|
||||||
|
LPOLESTR lpwstrName;
|
||||||
|
PROPID propid;
|
||||||
|
VARTYPE vt;
|
||||||
|
} STATPROPSTG;
|
||||||
|
|
||||||
|
/* FIXME: macros */
|
||||||
|
|
||||||
|
typedef struct tagSTATPROPSETSTG {
|
||||||
|
FMTID fmtid;
|
||||||
|
CLSID clsid;
|
||||||
|
DWORD grfFlags;
|
||||||
|
FILETIME mtime;
|
||||||
|
FILETIME ctime;
|
||||||
|
FILETIME atime;
|
||||||
|
DWORD dwOSVersion;
|
||||||
|
} STATPROPSETSTG;
|
||||||
|
|
||||||
|
HRESULT ReadMultiple(
|
||||||
|
[in] ULONG cpspec,
|
||||||
|
[in, size_is(cpspec)] const PROPSPEC rgpspec[],
|
||||||
|
[out, size_is(cpspec)] PROPVARIANT rgpropvar[]);
|
||||||
|
|
||||||
|
HRESULT WriteMultiple(
|
||||||
|
[in] ULONG cpspec,
|
||||||
|
[in, size_is(cpspec)] const PROPSPEC rgpspec[],
|
||||||
|
[in, size_is(cpspec)] const PROPVARIANT rgpropvar[],
|
||||||
|
[in] PROPID propidNameFirst);
|
||||||
|
|
||||||
|
HRESULT DeleteMultiple(
|
||||||
|
[in] ULONG cpspec,
|
||||||
|
[in, size_is(cpspec)] const PROPSPEC rgpspec[]);
|
||||||
|
|
||||||
|
HRESULT ReadPropertyNames(
|
||||||
|
[in] ULONG cpropid,
|
||||||
|
[in, size_is(cpropid)] const PROPID rgpropid[],
|
||||||
|
[out, size_is(cpropid)] LPOLESTR rglpwstrName[]);
|
||||||
|
|
||||||
|
HRESULT WritePropertyNames(
|
||||||
|
[in] ULONG cpropid,
|
||||||
|
[in, size_is(cpropid)] const PROPID rgpropid[],
|
||||||
|
[in, size_is(cpropid)] const LPOLESTR rglpwstrName[]);
|
||||||
|
|
||||||
|
HRESULT DeletePropertyNames(
|
||||||
|
[in] ULONG cpropid,
|
||||||
|
[in, size_is(cpropid)] const PROPID rgpropid[]);
|
||||||
|
|
||||||
|
HRESULT Commit(
|
||||||
|
[in] DWORD grfCommitFlags);
|
||||||
|
|
||||||
|
HRESULT Revert();
|
||||||
|
|
||||||
|
HRESULT Enum(
|
||||||
|
[out] IEnumSTATPROPSTG **ppenum);
|
||||||
|
|
||||||
|
HRESULT SetTimes(
|
||||||
|
[in] const FILETIME *pctime,
|
||||||
|
[in] const FILETIME *patime,
|
||||||
|
[in] const FILETIME *pmtime);
|
||||||
|
|
||||||
|
HRESULT SetClass(
|
||||||
|
[in] REFCLSID clsid);
|
||||||
|
|
||||||
|
HRESULT Stat(
|
||||||
|
[out] STATPROPSETSTG *statpsstg);
|
||||||
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(0000013A-0000-0000-C000-000000000046),
|
||||||
|
pointer_default(unique)
|
||||||
|
]
|
||||||
|
interface IPropertySetStorage : IUnknown
|
||||||
|
{
|
||||||
|
typedef [unique] IPropertySetStorage *LPPROPERTYSETSTORAGE;
|
||||||
|
|
||||||
|
HRESULT Create(
|
||||||
|
[in] REFFMTID rfmtid,
|
||||||
|
[in, unique] const CLSID *pclsid,
|
||||||
|
[in] DWORD grfFlags,
|
||||||
|
[in] DWORD grfMode,
|
||||||
|
[out] IPropertyStorage **ppprstg);
|
||||||
|
|
||||||
|
HRESULT Open(
|
||||||
|
[in] REFFMTID rfmtid,
|
||||||
|
[in] DWORD grfMode,
|
||||||
|
[out] IPropertyStorage **ppprstg);
|
||||||
|
|
||||||
|
HRESULT Delete(
|
||||||
|
[in] REFFMTID rfmtid);
|
||||||
|
|
||||||
|
HRESULT Enum(
|
||||||
|
[out] IEnumSTATPROPSETSTG **ppenum);
|
||||||
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(00000139-0000-0000-C000-000000000046),
|
||||||
|
pointer_default(unique)
|
||||||
|
]
|
||||||
|
interface IEnumSTATPROPSTG : IUnknown
|
||||||
|
{
|
||||||
|
typedef [unique] IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
|
||||||
|
|
||||||
|
[local]
|
||||||
|
HRESULT Next(
|
||||||
|
[in] ULONG celt,
|
||||||
|
[out, size_is(celt), length_is(*pceltFetched)]
|
||||||
|
STATPROPSTG *rgelt,
|
||||||
|
[out] ULONG *pceltFetched);
|
||||||
|
|
||||||
|
[call_as(Next)]
|
||||||
|
HRESULT RemoteNext(
|
||||||
|
[in] ULONG celt,
|
||||||
|
[out, size_is(celt), length_is(*pceltFetched)]
|
||||||
|
STATPROPSTG *rgelt,
|
||||||
|
[out] ULONG *pceltFetched);
|
||||||
|
|
||||||
|
HRESULT Skip(
|
||||||
|
[in] ULONG celt);
|
||||||
|
|
||||||
|
HRESULT Reset();
|
||||||
|
|
||||||
|
HRESULT Clone(
|
||||||
|
[out] IEnumSTATPROPSTG **ppenum);
|
||||||
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(0000013B-0000-0000-C000-000000000046),
|
||||||
|
pointer_default(unique)
|
||||||
|
]
|
||||||
|
interface IEnumSTATPROPSETSTG : IUnknown
|
||||||
|
{
|
||||||
|
typedef [unique] IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
|
||||||
|
|
||||||
|
[local]
|
||||||
|
HRESULT Next(
|
||||||
|
[in] ULONG celt,
|
||||||
|
[out, size_is(celt), length_is(*pceltFetched)]
|
||||||
|
STATPROPSETSTG *rgelt,
|
||||||
|
[out] ULONG *pceltFetched);
|
||||||
|
|
||||||
|
[call_as(Next)]
|
||||||
|
HRESULT RemoteNext(
|
||||||
|
[in] ULONG celt,
|
||||||
|
[out, size_is(celt), length_is(*pceltFetched)]
|
||||||
|
STATPROPSETSTG *rgelt,
|
||||||
|
[out] ULONG *pceltFetched);
|
||||||
|
|
||||||
|
HRESULT Skip(
|
||||||
|
[in] ULONG celt);
|
||||||
|
|
||||||
|
HRESULT Reset();
|
||||||
|
|
||||||
|
HRESULT Clone(
|
||||||
|
[out] IEnumSTATPROPSETSTG **ppenum);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
cpp_quote("HRESULT WINAPI FreePropVariantArray(ULONG,PROPVARIANT*);");
|
||||||
|
cpp_quote("HRESULT WINAPI PropVariantClear(PROPVARIANT*);");
|
||||||
|
cpp_quote("HRESULT WINAPI PropVariantCopy(PROPVARIANT*,const PROPVARIANT*);");
|
|
@ -13,6 +13,7 @@ extern "C" {
|
||||||
#include <shtypes.h>
|
#include <shtypes.h>
|
||||||
#include <servprov.h>
|
#include <servprov.h>
|
||||||
#include <comcat.h>
|
#include <comcat.h>
|
||||||
|
#include <propidl.h>
|
||||||
#ifndef __IPersistFolder_FWD_DEFINED__
|
#ifndef __IPersistFolder_FWD_DEFINED__
|
||||||
#define __IPersistFolder_FWD_DEFINED__
|
#define __IPersistFolder_FWD_DEFINED__
|
||||||
typedef struct IPersistFolder IPersistFolder;
|
typedef struct IPersistFolder IPersistFolder;
|
||||||
|
|
|
@ -25,7 +25,7 @@ import "oaidl.idl";
|
||||||
import "shtypes.idl";
|
import "shtypes.idl";
|
||||||
import "servprov.idl";
|
import "servprov.idl";
|
||||||
import "comcat.idl";
|
import "comcat.idl";
|
||||||
/*import "propidl.idl";*/
|
import "propidl.idl";
|
||||||
/*import "prsht.idl";*/
|
/*import "prsht.idl";*/
|
||||||
/*import "msxml.idl";*/
|
/*import "msxml.idl";*/
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue