3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright 2002 Ove Kaaven
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright 2004 Francois Gouget
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright 2005 Juan Lang
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncimport "objidl.idl";
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncimport "oaidl.idl";
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Windows SDK braindamage alert
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * PID_DICTIONARY and PID_CODEPAGE are defined by msidefs.h too
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * PID_SECURITY is defined in msidefs.h with a different value!
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * So these need to be undefined first.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/******************** Property Storage ********************/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync typedef [unique] IPropertyStorage *LPPROPERTYSTORAGE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case(VT_STREAM, VT_STREAMED_OBJECT)] IStream *pStream;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case(VT_STORAGE, VT_STORED_OBJECT)] IStorage *pStorage;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case(VT_FILETIME|VT_VECTOR)] CAFILETIME cafiletime;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case(VT_BSTR_BLOB|VT_VECTOR)] CABSTRBLOB cabstrblob;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case(VT_VARIANT|VT_VECTOR)] CAPROPVARIANT capropvar;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case(VT_BYREF|VT_DISPATCH)] IDispatch **ppdispVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define REFPROPVARIANT const PROPVARIANT &")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define REFPROPVARIANT const PROPVARIANT * __MIDL_CONST")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDI_THUMBNAIL 0x00000002L /* VT_BLOB */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_TITLE 0x00000002L /* VT_LPSTR */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_SUBJECT 0x00000003L /* VT_LPSTR */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_AUTHOR 0x00000004L /* VT_LPSTR */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_KEYWORDS 0x00000005L /* VT_LPSTR */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_COMMENTS 0x00000006L /* VT_LPSTR */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_TEMPLATE 0x00000007L /* VT_LPSTR */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_LASTAUTHOR 0x00000008L /* VT_LPSTR */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_REVNUMBER 0x00000009L /* VT_LPSTR */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_EDITTIME 0x0000000AL /* VT_FILETIME (UTC) */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_LASTPRINTED 0x0000000BL /* VT_FILETIME (UTC) */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_CREATE_DTM 0x0000000CL /* VT_FILETIME (UTC) */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_LASTSAVE_DTM 0x0000000DL /* VT_FILETIME (UTC) */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_PAGECOUNT 0x0000000EL /* VT_I4 */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_WORDCOUNT 0x0000000FL /* VT_I4 */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_CHARCOUNT 0x00000010L /* VT_I4 */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_THUMBNAIL 0x00000011L /* VT_CF */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_APPNAME 0x00000012L /* VT_LPSTR */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDSI_DOC_SECURITY 0x00000013L /* VT_I4 */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDSI_CATEGORY 0x00000002L /* VT_LPSTR */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDSI_PRESFORMAT 0x00000003L /* VT_LPSTR */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDSI_BYTECOUNT 0x00000004L /* VT_I4 */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDSI_LINECOUNT 0x00000005L /* VT_I4 */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDSI_PARCOUNT 0x00000006L /* VT_I4 */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDSI_SLIDECOUNT 0x00000007L /* VT_I4 */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDSI_NOTECOUNT 0x00000008L /* VT_I4 */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDSI_HIDDENCOUNT 0x00000009L /* VT_I4 */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDSI_MMCLIPCOUNT 0x0000000AL /* VT_I4 */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDSI_SCALE 0x0000000BL /* VT_BOOL */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDSI_HEADINGPAIR 0x0000000CL /* VT_VARIANT|VT_VECTOR */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDSI_DOCPARTS 0x0000000DL /* VT_LPSTR|VT_VECTOR */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDSI_MANAGER 0x0000000EL /* VT_LPSTR */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDSI_COMPANY 0x0000000FL /* VT_LPSTR */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PIDDSI_LINKSDIRTY 0x00000010L /* VT_B0OL */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [default] ;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("/* Macros for dwOSVersion member of STATPROPSETSTG */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD((dwOSVer))")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD((dwOSVer)))")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD((dwOSVer)))")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync cpp_quote("#define PROPSETHDR_OSVERSION_UNKNOWN 0xffffffff")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in, size_is(cpspec)] const PROPVARIANT rgpropvar[],
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in, size_is(cpropid)] const LPOLESTR rglpwstrName[]);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync typedef [unique] IPropertySetStorage *LPPROPERTYSETSTORAGE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync typedef [unique] IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync typedef [unique] IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("HRESULT WINAPI FreePropVariantArray(ULONG,PROPVARIANT*);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("HRESULT WINAPI PropVariantClear(PROPVARIANT*);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("HRESULT WINAPI PropVariantCopy(PROPVARIANT*,const PROPVARIANT*);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define PropVariantInit(p) memset((p), 0, sizeof(PROPVARIANT))")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("HRESULT WINAPI StgCreatePropStg(IUnknown *, REFFMTID, const CLSID *, DWORD, DWORD, IPropertyStorage **);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("HRESULT WINAPI StgOpenPropStg(IUnknown *, REFFMTID, DWORD, DWORD, IPropertyStorage **);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("HRESULT WINAPI StgCreatePropSetStg(IStorage *, DWORD, IPropertySetStorage **);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("HRESULT WINAPI FmtIdToPropStgName(const FMTID *, LPOLESTR);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("HRESULT WINAPI PropStgNameToFmtId(const LPOLESTR, FMTID *);")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#endif /* _STGCREATEPROPSTG_DEFINED_ */")