📄 propidl.h
字号:
typedef struct tagSTATPROPSTG
{
LPOLESTR lpwstrName;
PROPID propid;
VARTYPE vt;
} STATPROPSTG;
// Macros for parsing the OS Version of the Property Set Header
#define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD( (dwOSVer) )
#define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD( (dwOSVer) ))
#define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD( (dwOSVer) ))
#define PROPSETHDR_OSVERSION_UNKNOWN 0xFFFFFFFF
typedef struct tagSTATPROPSETSTG
{
FMTID fmtid;
CLSID clsid;
DWORD grfFlags;
FILETIME mtime;
FILETIME ctime;
FILETIME atime;
DWORD dwOSVersion;
} STATPROPSETSTG;
extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_v0_0_s_ifspec;
#ifndef __IPropertyStorage_INTERFACE_DEFINED__
#define __IPropertyStorage_INTERFACE_DEFINED__
/* interface IPropertyStorage */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IPropertyStorage;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("00000138-0000-0000-C000-000000000046")
IPropertyStorage : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE ReadMultiple(
/* [in] */ ULONG cpspec,
/* [size_is][in] */ const PROPSPEC rgpspec[ ],
/* [size_is][out] */ PROPVARIANT rgpropvar[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteMultiple(
/* [in] */ ULONG cpspec,
/* [size_is][in] */ const PROPSPEC rgpspec[ ],
/* [size_is][in] */ const PROPVARIANT rgpropvar[ ],
/* [in] */ PROPID propidNameFirst) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteMultiple(
/* [in] */ ULONG cpspec,
/* [size_is][in] */ const PROPSPEC rgpspec[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames(
/* [in] */ ULONG cpropid,
/* [size_is][in] */ const PROPID rgpropid[ ],
/* [size_is][out] */ LPOLESTR rglpwstrName[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE WritePropertyNames(
/* [in] */ ULONG cpropid,
/* [size_is][in] */ const PROPID rgpropid[ ],
/* [size_is][in] */ const LPOLESTR rglpwstrName[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE DeletePropertyNames(
/* [in] */ ULONG cpropid,
/* [size_is][in] */ const PROPID rgpropid[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE Commit(
/* [in] */ DWORD grfCommitFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE Revert( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Enum(
/* [out] */ IEnumSTATPROPSTG **ppenum) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTimes(
/* [in] */ const FILETIME *pctime,
/* [in] */ const FILETIME *patime,
/* [in] */ const FILETIME *pmtime) = 0;
virtual HRESULT STDMETHODCALLTYPE SetClass(
/* [in] */ REFCLSID clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE Stat(
/* [out] */ STATPROPSETSTG *pstatpsstg) = 0;
};
#else /* C style interface */
typedef struct IPropertyStorageVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IPropertyStorage * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IPropertyStorage * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IPropertyStorage * This);
HRESULT ( STDMETHODCALLTYPE *ReadMultiple )(
IPropertyStorage * This,
/* [in] */ ULONG cpspec,
/* [size_is][in] */ const PROPSPEC rgpspec[ ],
/* [size_is][out] */ PROPVARIANT rgpropvar[ ]);
HRESULT ( STDMETHODCALLTYPE *WriteMultiple )(
IPropertyStorage * This,
/* [in] */ ULONG cpspec,
/* [size_is][in] */ const PROPSPEC rgpspec[ ],
/* [size_is][in] */ const PROPVARIANT rgpropvar[ ],
/* [in] */ PROPID propidNameFirst);
HRESULT ( STDMETHODCALLTYPE *DeleteMultiple )(
IPropertyStorage * This,
/* [in] */ ULONG cpspec,
/* [size_is][in] */ const PROPSPEC rgpspec[ ]);
HRESULT ( STDMETHODCALLTYPE *ReadPropertyNames )(
IPropertyStorage * This,
/* [in] */ ULONG cpropid,
/* [size_is][in] */ const PROPID rgpropid[ ],
/* [size_is][out] */ LPOLESTR rglpwstrName[ ]);
HRESULT ( STDMETHODCALLTYPE *WritePropertyNames )(
IPropertyStorage * This,
/* [in] */ ULONG cpropid,
/* [size_is][in] */ const PROPID rgpropid[ ],
/* [size_is][in] */ const LPOLESTR rglpwstrName[ ]);
HRESULT ( STDMETHODCALLTYPE *DeletePropertyNames )(
IPropertyStorage * This,
/* [in] */ ULONG cpropid,
/* [size_is][in] */ const PROPID rgpropid[ ]);
HRESULT ( STDMETHODCALLTYPE *Commit )(
IPropertyStorage * This,
/* [in] */ DWORD grfCommitFlags);
HRESULT ( STDMETHODCALLTYPE *Revert )(
IPropertyStorage * This);
HRESULT ( STDMETHODCALLTYPE *Enum )(
IPropertyStorage * This,
/* [out] */ IEnumSTATPROPSTG **ppenum);
HRESULT ( STDMETHODCALLTYPE *SetTimes )(
IPropertyStorage * This,
/* [in] */ const FILETIME *pctime,
/* [in] */ const FILETIME *patime,
/* [in] */ const FILETIME *pmtime);
HRESULT ( STDMETHODCALLTYPE *SetClass )(
IPropertyStorage * This,
/* [in] */ REFCLSID clsid);
HRESULT ( STDMETHODCALLTYPE *Stat )(
IPropertyStorage * This,
/* [out] */ STATPROPSETSTG *pstatpsstg);
END_INTERFACE
} IPropertyStorageVtbl;
interface IPropertyStorage
{
CONST_VTBL struct IPropertyStorageVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IPropertyStorage_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IPropertyStorage_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IPropertyStorage_Release(This) \
(This)->lpVtbl -> Release(This)
#define IPropertyStorage_ReadMultiple(This,cpspec,rgpspec,rgpropvar) \
(This)->lpVtbl -> ReadMultiple(This,cpspec,rgpspec,rgpropvar)
#define IPropertyStorage_WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst) \
(This)->lpVtbl -> WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst)
#define IPropertyStorage_DeleteMultiple(This,cpspec,rgpspec) \
(This)->lpVtbl -> DeleteMultiple(This,cpspec,rgpspec)
#define IPropertyStorage_ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) \
(This)->lpVtbl -> ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName)
#define IPropertyStorage_WritePropertyNames(This,cpropid,rgpropid,rglpwstrName) \
(This)->lpVtbl -> WritePropertyNames(This,cpropid,rgpropid,rglpwstrName)
#define IPropertyStorage_DeletePropertyNames(This,cpropid,rgpropid) \
(This)->lpVtbl -> DeletePropertyNames(This,cpropid,rgpropid)
#define IPropertyStorage_Commit(This,grfCommitFlags) \
(This)->lpVtbl -> Commit(This,grfCommitFlags)
#define IPropertyStorage_Revert(This) \
(This)->lpVtbl -> Revert(This)
#define IPropertyStorage_Enum(This,ppenum) \
(This)->lpVtbl -> Enum(This,ppenum)
#define IPropertyStorage_SetTimes(This,pctime,patime,pmtime) \
(This)->lpVtbl -> SetTimes(This,pctime,patime,pmtime)
#define IPropertyStorage_SetClass(This,clsid) \
(This)->lpVtbl -> SetClass(This,clsid)
#define IPropertyStorage_Stat(This,pstatpsstg) \
(This)->lpVtbl -> Stat(This,pstatpsstg)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IPropertyStorage_ReadMultiple_Proxy(
IPropertyStorage * This,
/* [in] */ ULONG cpspec,
/* [size_is][in] */ const PROPSPEC rgpspec[ ],
/* [size_is][out] */ PROPVARIANT rgpropvar[ ]);
void __RPC_STUB IPropertyStorage_ReadMultiple_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPropertyStorage_WriteMultiple_Proxy(
IPropertyStorage * This,
/* [in] */ ULONG cpspec,
/* [size_is][in] */ const PROPSPEC rgpspec[ ],
/* [size_is][in] */ const PROPVARIANT rgpropvar[ ],
/* [in] */ PROPID propidNameFirst);
void __RPC_STUB IPropertyStorage_WriteMultiple_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPropertyStorage_DeleteMultiple_Proxy(
IPropertyStorage * This,
/* [in] */ ULONG cpspec,
/* [size_is][in] */ const PROPSPEC rgpspec[ ]);
void __RPC_STUB IPropertyStorage_DeleteMultiple_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPropertyStorage_ReadPropertyNames_Proxy(
IPropertyStorage * This,
/* [in] */ ULONG cpropid,
/* [size_is][in] */ const PROPID rgpropid[ ],
/* [size_is][out] */ LPOLESTR rglpwstrName[ ]);
void __RPC_STUB IPropertyStorage_ReadPropertyNames_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPropertyStorage_WritePropertyNames_Proxy(
IPropertyStorage * This,
/* [in] */ ULONG cpropid,
/* [size_is][in] */ const PROPID rgpropid[ ],
/* [size_is][in] */ const LPOLESTR rglpwstrName[ ]);
void __RPC_STUB IPropertyStorage_WritePropertyNames_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPropertyStorage_DeletePropertyNames_Proxy(
IPropertyStorage * This,
/* [in] */ ULONG cpropid,
/* [size_is][in] */ const PROPID rgpropid[ ]);
void __RPC_STUB IPropertyStorage_DeletePropertyNames_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPropertyStorage_Commit_Proxy(
IPropertyStorage * This,
/* [in] */ DWORD grfCommitFlags);
void __RPC_STUB IPropertyStorage_Commit_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPropertyStorage_Revert_Proxy(
IPropertyStorage * This);
void __RPC_STUB IPropertyStorage_Revert_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPropertyStorage_Enum_Proxy(
IPropertyStorage * This,
/* [out] */ IEnumSTATPROPSTG **ppenum);
void __RPC_STUB IPropertyStorage_Enum_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPropertyStorage_SetTimes_Proxy(
IPropertyStorage * This,
/* [in] */ const FILETIME *pctime,
/* [in] */ const FILETIME *patime,
/* [in] */ const FILETIME *pmtime);
void __RPC_STUB IPropertyStorage_SetTimes_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPropertyStorage_SetClass_Proxy(
IPropertyStorage * This,
/* [in] */ REFCLSID clsid);
void __RPC_STUB IPropertyStorage_SetClass_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPropertyStorage_Stat_Proxy(
IPropertyStorage * This,
/* [out] */ STATPROPSETSTG *pstatpsstg);
void __RPC_STUB IPropertyStorage_Stat_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IPropertyStorage_INTERFACE_DEFINED__ */
#ifndef __IPropertySetStorage_INTERFACE_DEFINED__
#define __IPropertySetStorage_INTERFACE_DEFINED__
/* interface IPropertySetStorage */
/* [unique][uuid][object] */
typedef /* [unique] */ IPropertySetStorage *LPPROPERTYSETSTORAGE;
EXTERN_C const IID IID_IPropertySetStorage;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0000013A-0000-0000-C000-000000000046")
IPropertySetStorage : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Create(
/* [in] */ REFFMTID rfmtid,
/* [unique][in] */ const CLSID *pclsid,
/* [in] */ DWORD grfFlags,
/* [in] */ DWORD grfMode,
/* [out] */ IPropertyStorage **ppprstg) = 0;
virtual HRESULT STDMETHODCALLTYPE Open(
/* [in] */ REFFMTID rfmtid,
/* [in] */ DWORD grfMode,
/* [out] */ IPropertyStorage **ppprstg) = 0;
virtual HRESULT STDMETHODCALLTYPE Delete(
/* [in] */ REFFMTID rfmtid) = 0;
virtual HRESULT STDMETHODCALLTYPE Enum(
/* [out] */ IEnumSTATPROPSETSTG **ppenum) = 0;
};
#else /* C style interface */
typedef struct IPropertySetStorageVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IPropertySetStorage * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IPropertySetStorage * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IPropertySetStorage * This);
HRESULT ( STDMETHODCALLTYPE *Create )(
IPropertySetStorage * This,
/* [in] */ REFFMTID rfmtid,
/* [unique][in] */ const CLSID *pclsid,
/* [in] */ DWORD grfFlags,
/* [in] */ DWORD grfMode,
/* [out] */ IPropertyStorage **ppprstg);
HRESULT ( STDMETHODCALLTYPE *Open )(
IPropertySetStorage * This,
/* [in] */ REFFMTID rfmtid,
/* [in] */ DWORD grfMode,
/* [out] */ IPropertyStorage **ppprstg);
HRESULT ( STDMETHODCALLTYPE *Delete )(
IPropertySetStorage * This,
/* [in] */ REFFMTID rfmtid);
HRESULT ( STDMETHODCALLTYPE *Enum )(
IPropertySetStorage * This,
/* [out] */ IEnumSTATPROPSETSTG **ppenum);
END_INTERFACE
} IPropertySetStorageVtbl;
interface IPropertySetStorage
{
CONST_VTBL struct IPropertySetStorageVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IPropertySetStorage_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IPropertySetStorage_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IPropertySetStorage_Release(This) \
(This)->lpVtbl -> Release(This)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -