You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
3.1 KiB
107 lines
3.1 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// 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>")
|