|  | cpp_quote("/**") | 
|  | cpp_quote(" * This file is part of the mingw-w64 runtime package.") | 
|  | cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.") | 
|  | cpp_quote(" */") | 
|  | cpp_quote("") | 
|  | cpp_quote("#include <winapifamily.h>") | 
|  |  | 
|  | import "oaidl.idl"; | 
|  | import "ocidl.idl"; | 
|  | import "objidl.idl"; | 
|  | import "propidl.idl"; | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef [v1_enum] enum tagCONDITION_TYPE { | 
|  | CT_AND_CONDITION, | 
|  | CT_OR_CONDITION, | 
|  | CT_NOT_CONDITION, | 
|  | CT_LEAF_CONDITION | 
|  | } CONDITION_TYPE; | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef [v1_enum] enum tagCONDITION_OPERATION { | 
|  | COP_IMPLICIT, | 
|  | COP_EQUAL, | 
|  | COP_NOTEQUAL, | 
|  | COP_LESSTHAN, | 
|  | COP_GREATERTHAN, | 
|  | COP_LESSTHANOREQUAL, | 
|  | COP_GREATERTHANOREQUAL, | 
|  | COP_VALUE_STARTSWITH, | 
|  | COP_VALUE_ENDSWITH, | 
|  | COP_VALUE_CONTAINS, | 
|  | COP_VALUE_NOTCONTAINS, | 
|  | COP_DOSWILDCARDS, | 
|  | COP_WORD_EQUAL, | 
|  | COP_WORD_STARTSWITH, | 
|  | COP_APPLICATION_SPECIFIC | 
|  | } CONDITION_OPERATION; | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
|  | [object, uuid (4fdef69c-DBC9-454e-9910-B34F3C64B510), pointer_default (unique),] | 
|  | interface IRichChunk : IUnknown { | 
|  | [local] HRESULT GetData ([out, unique] ULONG *pFirstPos,[out, unique] ULONG *pLength,[out, unique] LPWSTR *ppsz,[out, unique] PROPVARIANT *pValue); | 
|  | [call_as (GetData)] HRESULT RemoteGetData ([out] ULONG *pFirstPos,[out] ULONG *pLength,[out] LPWSTR *ppsz,[out] PROPVARIANT *pValue); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [object, uuid (0fc988d4-C935-4b97-A973-46282ea175c8), pointer_default (unique),] | 
|  | interface ICondition : IPersistStream { | 
|  | HRESULT GetConditionType ([out, retval] CONDITION_TYPE *pNodeType); | 
|  | HRESULT GetSubConditions ([in] REFIID riid,[out, retval, iid_is (riid)] void **ppv); | 
|  | [local] HRESULT GetComparisonInfo ([out, unique] LPWSTR *ppszPropertyName,[out, unique] CONDITION_OPERATION *pcop,[out, unique] PROPVARIANT *ppropvar); | 
|  | [call_as (GetComparisonInfo)] HRESULT RemoteGetComparisonInfo ([out] LPWSTR *ppszPropertyName,[out] CONDITION_OPERATION *pcop,[out] PROPVARIANT *ppropvar); | 
|  | HRESULT GetValueType ([out, retval] LPWSTR *ppszValueTypeName); | 
|  | HRESULT GetValueNormalization ([out, retval] LPWSTR *ppszNormalization); | 
|  | [local] HRESULT GetInputTerms ([out, unique] IRichChunk **ppPropertyTerm,[out, unique] IRichChunk **ppOperationTerm,[out, unique] IRichChunk **ppValueTerm); | 
|  | [call_as (GetInputTerms)] HRESULT RemoteGetInputTerms ([out] IRichChunk **ppPropertyTerm,[out] IRichChunk **ppOperationTerm,[out] IRichChunk **ppValueTerm); | 
|  | HRESULT Clone ([out, retval] ICondition **ppc); | 
|  | }; | 
|  |  | 
|  | cpp_quote("") | 
|  | [uuid (0db8851d-2e5b-47eb-9208-D28C325A01D7), object, pointer_default (unique),] | 
|  | interface ICondition2 : ICondition { | 
|  | HRESULT GetLocale ([out] LPWSTR *ppszLocaleName); | 
|  | [local] HRESULT GetLeafConditionInfo ([out] PROPERTYKEY *ppropkey,[out] CONDITION_OPERATION *pcop,[out] PROPVARIANT *ppropvar); | 
|  | [call_as (GetLeafConditionInfo)] HRESULT RemoteGetLeafConditionInfo ([out] PROPERTYKEY *ppropkey,[out] CONDITION_OPERATION *pcop,[out] PROPVARIANT *ppropvar); | 
|  | } | 
|  | cpp_quote("#endif") |