Module: wine Branch: master Commit: 1f854b20243ec16c7355075715042ce5dbdf455d URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=1f854b20243ec16c73550757...
Author: Robert Shearman rob@codeweavers.com Date: Wed Sep 27 15:51:18 2006 +0100
include: Add types to objidl.idl used by COM contexts.
---
include/objidl.idl | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 64 insertions(+), 0 deletions(-)
diff --git a/include/objidl.idl b/include/objidl.idl index 928c57a..0b1b9fe 100644 --- a/include/objidl.idl +++ b/include/objidl.idl @@ -2370,3 +2370,67 @@ interface IThumbnailExtractor : IUnknown HRESULT OnFileUpdated( [in] IStorage *pStg); } + + +cpp_quote("#ifdef USE_COM_CONTEXT_DEF") + +typedef DWORD CPFLAGS; + +typedef struct tagContextProperty +{ + GUID policyId; + CPFLAGS flags; + [unique] IUnknown *pUnk; +} ContextProperty; + +[ + local, + object, + uuid(000001c1-0000-0000-C000-000000000046) +] +interface IEnumContextProps : IUnknown +{ + typedef [unique] IEnumContextProps *LPENUMCONTEXTPROPS; + + HRESULT Next( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] ContextProperty *pContextProperties, + [out] ULONG *pceltFetched); + + HRESULT Skip( + [in] ULONG celt); + + HRESULT Reset(); + + HRESULT Clone( + [out] IEnumContextProps **ppEnumContextProps); + + HRESULT Count( + [out] ULONG *pcelt); +} + +[ + local, + object, + uuid(000001c0-0000-0000-C000-000000000046) +] +interface IContext : IUnknown +{ + HRESULT SetProperty( + [in] REFGUID policyId, + [in] CPFLAGS flags, + [in] IUnknown *pUnk); + + HRESULT RemovePropert( + [in] REFGUID policyId); + + HRESULT GetProperty( + [in] REFGUID guid, + [out] CPFLAGS *pFlags, + [out] IUnknown **ppUnk); + + HRESULT EnumContextProps( + [out] IEnumContextProps **ppEnumContextProps); +} + +cpp_quote("#endif /* defined USE_COM_CONTEXT_DEF */")