📄 propidl.h
字号:
};
};
#endif
#ifdef MIDL_PASS
// This is the LPPROPVARIANT definition for marshaling.
typedef struct tag_inner_PROPVARIANT __RPC_FAR *LPPROPVARIANT;
#else
// This is the standard C layout of the PROPVARIANT.
typedef struct tagPROPVARIANT * LPPROPVARIANT;
#endif
// Reserved global Property IDs
#define PID_DICTIONARY ( 0 )
#define PID_CODEPAGE ( 0x1 )
#define PID_FIRST_USABLE ( 0x2 )
#define PID_FIRST_NAME_DEFAULT ( 0xfff )
#define PID_LOCALE ( 0x80000000 )
#define PID_MODIFY_TIME ( 0x80000001 )
#define PID_SECURITY ( 0x80000002 )
#define PID_BEHAVIOR ( 0x80000003 )
#define PID_ILLEGAL ( 0xffffffff )
// Range which is read-only to downlevel implementations
#define PID_MIN_READONLY ( 0x80000000 )
#define PID_MAX_READONLY ( 0xbfffffff )
// Property IDs for the DiscardableInformation Property Set
#define PIDDI_THUMBNAIL 0x00000002L // VT_BLOB
// Property IDs for the SummaryInformation Property Set
#define PIDSI_TITLE 0x00000002L // VT_LPSTR
#define PIDSI_SUBJECT 0x00000003L // VT_LPSTR
#define PIDSI_AUTHOR 0x00000004L // VT_LPSTR
#define PIDSI_KEYWORDS 0x00000005L // VT_LPSTR
#define PIDSI_COMMENTS 0x00000006L // VT_LPSTR
#define PIDSI_TEMPLATE 0x00000007L // VT_LPSTR
#define PIDSI_LASTAUTHOR 0x00000008L // VT_LPSTR
#define PIDSI_REVNUMBER 0x00000009L // VT_LPSTR
#define PIDSI_EDITTIME 0x0000000aL // VT_FILETIME (UTC)
#define PIDSI_LASTPRINTED 0x0000000bL // VT_FILETIME (UTC)
#define PIDSI_CREATE_DTM 0x0000000cL // VT_FILETIME (UTC)
#define PIDSI_LASTSAVE_DTM 0x0000000dL // VT_FILETIME (UTC)
#define PIDSI_PAGECOUNT 0x0000000eL // VT_I4
#define PIDSI_WORDCOUNT 0x0000000fL // VT_I4
#define PIDSI_CHARCOUNT 0x00000010L // VT_I4
#define PIDSI_THUMBNAIL 0x00000011L // VT_CF
#define PIDSI_APPNAME 0x00000012L // VT_LPSTR
#define PIDSI_DOC_SECURITY 0x00000013L // VT_I4
// Property IDs for the DocSummaryInformation Property Set
#define PIDDSI_CATEGORY 0x00000002 // VT_LPSTR
#define PIDDSI_PRESFORMAT 0x00000003 // VT_LPSTR
#define PIDDSI_BYTECOUNT 0x00000004 // VT_I4
#define PIDDSI_LINECOUNT 0x00000005 // VT_I4
#define PIDDSI_PARCOUNT 0x00000006 // VT_I4
#define PIDDSI_SLIDECOUNT 0x00000007 // VT_I4
#define PIDDSI_NOTECOUNT 0x00000008 // VT_I4
#define PIDDSI_HIDDENCOUNT 0x00000009 // VT_I4
#define PIDDSI_MMCLIPCOUNT 0x0000000A // VT_I4
#define PIDDSI_SCALE 0x0000000B // VT_BOOL
#define PIDDSI_HEADINGPAIR 0x0000000C // VT_VARIANT | VT_VECTOR
#define PIDDSI_DOCPARTS 0x0000000D // VT_LPSTR | VT_VECTOR
#define PIDDSI_MANAGER 0x0000000E // VT_LPSTR
#define PIDDSI_COMPANY 0x0000000F // VT_LPSTR
#define PIDDSI_LINKSDIRTY 0x00000010 // VT_BOOL
// FMTID_MediaFileSummaryInfo - Property IDs
#define PIDMSI_EDITOR 0x00000002L // VT_LPWSTR
#define PIDMSI_SUPPLIER 0x00000003L // VT_LPWSTR
#define PIDMSI_SOURCE 0x00000004L // VT_LPWSTR
#define PIDMSI_SEQUENCE_NO 0x00000005L // VT_LPWSTR
#define PIDMSI_PROJECT 0x00000006L // VT_LPWSTR
#define PIDMSI_STATUS 0x00000007L // VT_UI4
#define PIDMSI_OWNER 0x00000008L // VT_LPWSTR
#define PIDMSI_RATING 0x00000009L // VT_LPWSTR
#define PIDMSI_PRODUCTION 0x0000000AL // VT_FILETIME (UTC)
#define PIDMSI_COPYRIGHT 0x0000000BL // VT_LPWSTR
// PIDMSI_STATUS value definitions
enum PIDMSI_STATUS_VALUE
{ PIDMSI_STATUS_NORMAL = 0,
PIDMSI_STATUS_NEW = PIDMSI_STATUS_NORMAL + 1,
PIDMSI_STATUS_PRELIM = PIDMSI_STATUS_NEW + 1,
PIDMSI_STATUS_DRAFT = PIDMSI_STATUS_PRELIM + 1,
PIDMSI_STATUS_INPROGRESS = PIDMSI_STATUS_DRAFT + 1,
PIDMSI_STATUS_EDIT = PIDMSI_STATUS_INPROGRESS + 1,
PIDMSI_STATUS_REVIEW = PIDMSI_STATUS_EDIT + 1,
PIDMSI_STATUS_PROOF = PIDMSI_STATUS_REVIEW + 1,
PIDMSI_STATUS_FINAL = PIDMSI_STATUS_PROOF + 1,
PIDMSI_STATUS_OTHER = 0x7fff
};
#define PRSPEC_INVALID ( 0xffffffff )
#define PRSPEC_LPWSTR ( 0 )
#define PRSPEC_PROPID ( 1 )
typedef struct tagPROPSPEC
{
ULONG ulKind;
/* [switch_is] */ /* [switch_type] */ union
{
/* [case()] */ PROPID propid;
/* [case()] */ LPOLESTR lpwstr;
/* [default] */ /* Empty union arm */
} ;
} PROPSPEC;
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 __RPC_FAR rgpspec[ ],
/* [size_is][out] */ PROPVARIANT __RPC_FAR rgpropvar[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteMultiple(
/* [in] */ ULONG cpspec,
/* [size_is][in] */ const PROPSPEC __RPC_FAR rgpspec[ ],
/* [size_is][in] */ const PROPVARIANT __RPC_FAR rgpropvar[ ],
/* [in] */ PROPID propidNameFirst) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteMultiple(
/* [in] */ ULONG cpspec,
/* [size_is][in] */ const PROPSPEC __RPC_FAR rgpspec[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames(
/* [in] */ ULONG cpropid,
/* [size_is][in] */ const PROPID __RPC_FAR rgpropid[ ],
/* [size_is][out] */ LPOLESTR __RPC_FAR rglpwstrName[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE WritePropertyNames(
/* [in] */ ULONG cpropid,
/* [size_is][in] */ const PROPID __RPC_FAR rgpropid[ ],
/* [size_is][in] */ const LPOLESTR __RPC_FAR rglpwstrName[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE DeletePropertyNames(
/* [in] */ ULONG cpropid,
/* [size_is][in] */ const PROPID __RPC_FAR rgpropid[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE Commit(
/* [in] */ DWORD grfCommitFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE Revert( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Enum(
/* [out] */ IEnumSTATPROPSTG __RPC_FAR *__RPC_FAR *ppenum) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTimes(
/* [in] */ const FILETIME __RPC_FAR *pctime,
/* [in] */ const FILETIME __RPC_FAR *patime,
/* [in] */ const FILETIME __RPC_FAR *pmtime) = 0;
virtual HRESULT STDMETHODCALLTYPE SetClass(
/* [in] */ REFCLSID clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE Stat(
/* [out] */ STATPROPSETSTG __RPC_FAR *pstatpsstg) = 0;
};
#else /* C style interface */
typedef struct IPropertyStorageVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
IPropertyStorage __RPC_FAR * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
IPropertyStorage __RPC_FAR * This);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
IPropertyStorage __RPC_FAR * This);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadMultiple )(
IPropertyStorage __RPC_FAR * This,
/* [in] */ ULONG cpspec,
/* [size_is][in] */ const PROPSPEC __RPC_FAR rgpspec[ ],
/* [size_is][out] */ PROPVARIANT __RPC_FAR rgpropvar[ ]);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteMultiple )(
IPropertyStorage __RPC_FAR * This,
/* [in] */ ULONG cpspec,
/* [size_is][in] */ const PROPSPEC __RPC_FAR rgpspec[ ],
/* [size_is][in] */ const PROPVARIANT __RPC_FAR rgpropvar[ ],
/* [in] */ PROPID propidNameFirst);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteMultiple )(
IPropertyStorage __RPC_FAR * This,
/* [in] */ ULONG cpspec,
/* [size_is][in] */ const PROPSPEC __RPC_FAR rgpspec[ ]);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadPropertyNames )(
IPropertyStorage __RPC_FAR * This,
/* [in] */ ULONG cpropid,
/* [size_is][in] */ const PROPID __RPC_FAR rgpropid[ ],
/* [size_is][out] */ LPOLESTR __RPC_FAR rglpwstrName[ ]);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WritePropertyNames )(
IPropertyStorage __RPC_FAR * This,
/* [in] */ ULONG cpropid,
/* [size_is][in] */ const PROPID __RPC_FAR rgpropid[ ],
/* [size_is][in] */ const LPOLESTR __RPC_FAR rglpwstrName[ ]);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeletePropertyNames )(
IPropertyStorage __RPC_FAR * This,
/* [in] */ ULONG cpropid,
/* [size_is][in] */ const PROPID __RPC_FAR rgpropid[ ]);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )(
IPropertyStorage __RPC_FAR * This,
/* [in] */ DWORD grfCommitFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Revert )(
IPropertyStorage __RPC_FAR * This);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Enum )(
IPropertyStorage __RPC_FAR * This,
/* [out] */ IEnumSTATPROPSTG __RPC_FAR *__RPC_FAR *ppenum);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTimes )(
IPropertyStorage __RPC_FAR * This,
/* [in] */ const FILETIME __RPC_FAR *pctime,
/* [in] */ const FILETIME __RPC_FAR *patime,
/* [in] */ const FILETIME __RPC_FAR *pmtime);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetClass )(
IPropertyStorage __RPC_FAR * This,
/* [in] */ REFCLSID clsid);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stat )(
IPropertyStorage __RPC_FAR * This,
/* [out] */ STATPROPSETSTG __RPC_FAR *pstatpsstg);
END_INTERFACE
} IPropertyStorageVtbl;
interface IPropertyStorage
{
CONST_VTBL struct IPropertyStorageVtbl __RPC_FAR *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 __RPC_FAR * This,
/* [in] */ ULONG cpspec,
/* [size_is][in] */ const PROPSPEC __RPC_FAR rgpspec[ ],
/* [size_is][out] */ PROPVARIANT __RPC_FAR rgpropvar[ ]);
void __RPC_STUB IPropertyStorage_ReadMultiple_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -