108 lines
3 KiB
Plaintext
108 lines
3 KiB
Plaintext
|
//+-------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//
|
||
|
// File: propidl.idl
|
||
|
//
|
||
|
//--------------------------------------------------------------------------
|
||
|
|
||
|
cpp_quote("//+-------------------------------------------------------------------------")
|
||
|
cpp_quote("//")
|
||
|
cpp_quote("// Microsoft Windows")
|
||
|
cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.")
|
||
|
cpp_quote("//")
|
||
|
cpp_quote("//--------------------------------------------------------------------------")
|
||
|
cpp_quote("#if ( _MSC_VER >= 1020 )")
|
||
|
cpp_quote("#pragma once")
|
||
|
cpp_quote("#endif")
|
||
|
|
||
|
#ifndef DO_NO_IMPORTS
|
||
|
import "propidl.idl";
|
||
|
#endif
|
||
|
|
||
|
cpp_quote("#include <pshpack8.h>")
|
||
|
|
||
|
|
||
|
/****************************************************************************
|
||
|
* Property Bag Interfaces
|
||
|
****************************************************************************/
|
||
|
|
||
|
interface IEnumSTATPROPBAG;
|
||
|
|
||
|
cpp_quote("EXTERN_C const FMTID FMTID_PropertyBag;")
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(20011801-5DE6-11D1-8E38-00C04FB9386D),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
interface IPropertyBagEx : IUnknown
|
||
|
{
|
||
|
typedef IPropertyBagEx * LPPROPERTYBAGEX;
|
||
|
|
||
|
HRESULT ReadMultiple( [in] ULONG cprops,
|
||
|
[in, size_is(cprops)] LPCOLESTR const rgwszPropNames[],
|
||
|
[in, out, size_is(cprops)] PROPVARIANT rgvar[ ],
|
||
|
[in] IErrorLog* pErrorLog );
|
||
|
|
||
|
HRESULT WriteMultiple( [in] ULONG cprops,
|
||
|
[in, size_is(cprops)] LPCOLESTR const rgwszPropNames[],
|
||
|
[in, size_is(cprops)] const PROPVARIANT rgvar[] );
|
||
|
|
||
|
HRESULT DeleteMultiple( [in] ULONG cprops,
|
||
|
[in, size_is(cprops)] LPCOLESTR const rgwszPropNames[],
|
||
|
[in] DWORD dwReserved );
|
||
|
|
||
|
const DWORD OPENPROPERTY_OVERWRITE = 1;
|
||
|
HRESULT Open( [in] IUnknown* pUnkOuter,
|
||
|
[in] LPCOLESTR wszPropName,
|
||
|
[in] GUID guidPropertyType,
|
||
|
[in] DWORD dwFlags,
|
||
|
[in] REFIID riid,
|
||
|
[out, iid_is(riid)] IUnknown ** ppUnk );
|
||
|
|
||
|
|
||
|
HRESULT Enum( [in] LPCOLESTR wszPropNameMask,
|
||
|
[in] DWORD dwFlags,
|
||
|
[out]IEnumSTATPROPBAG ** ppenum );
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(20021801-5DE6-11D1-8E38-00C04FB9386D),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
interface IEnumSTATPROPBAG: IUnknown
|
||
|
{
|
||
|
|
||
|
typedef [unique] IEnumSTATPROPBAG* LPENUMSTATPROPBAG;
|
||
|
typedef struct tagSTATPROPBAG
|
||
|
{
|
||
|
LPOLESTR lpwstrName;
|
||
|
VARTYPE vt;
|
||
|
GUID guidPropertyType;
|
||
|
} STATPROPBAG;
|
||
|
|
||
|
HRESULT Next(
|
||
|
[in] ULONG celt,
|
||
|
[out, size_is(celt), length_is(*pceltFetched)]
|
||
|
STATPROPBAG* rgelt,
|
||
|
[out] ULONG * pceltFetched
|
||
|
);
|
||
|
|
||
|
HRESULT Skip(
|
||
|
[in] ULONG celt
|
||
|
);
|
||
|
|
||
|
HRESULT Reset();
|
||
|
|
||
|
HRESULT Clone(
|
||
|
[out] IEnumSTATPROPBAG ** ppenum
|
||
|
);
|
||
|
}
|
||
|
|
||
|
cpp_quote("#include <poppack.h>")
|