Add winapi-family check, reworked idl-file due missing interfaces IRichChunk, ICondition, and ICondition2.

git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@6183 4407c894-4637-0410-b4f5-ada5f102cad1
This commit is contained in:
Kai Tietz 2013-08-30 20:50:57 +00:00
parent 6f05d97638
commit 80b54449e9
2 changed files with 710 additions and 45 deletions

View File

@ -1,4 +1,4 @@
/*** Autogenerated by WIDL 1.6 from include/structuredquerycondition.idl - Do not edit ***/
/*** Autogenerated by WIDL 1.6 from structuredquerycondition.idl - Do not edit ***/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
@ -17,6 +17,21 @@
/* Forward declarations */
#ifndef __IRichChunk_FWD_DEFINED__
#define __IRichChunk_FWD_DEFINED__
typedef interface IRichChunk IRichChunk;
#endif
#ifndef __ICondition_FWD_DEFINED__
#define __ICondition_FWD_DEFINED__
typedef interface ICondition ICondition;
#endif
#ifndef __ICondition2_FWD_DEFINED__
#define __ICondition2_FWD_DEFINED__
typedef interface ICondition2 ICondition2;
#endif
/* Headers for imported files */
#include <oaidl.h>
@ -28,12 +43,20 @@
extern "C" {
#endif
/**
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
#include <winapifamily.h>
typedef enum tagCONDITION_TYPE {
CT_AND_CONDITION = 0,
CT_OR_CONDITION = 1,
CT_NOT_CONDITION = 2,
CT_LEAF_CONDITION = 3
} CONDITION_TYPE;
typedef enum tagCONDITION_OPERATION {
COP_IMPLICIT = 0,
COP_EQUAL = 1,
@ -51,8 +74,634 @@ typedef enum tagCONDITION_OPERATION {
COP_WORD_STARTSWITH = 13,
COP_APPLICATION_SPECIFIC = 14
} CONDITION_OPERATION;
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
/*****************************************************************************
* IRichChunk interface
*/
#ifndef __IRichChunk_INTERFACE_DEFINED__
#define __IRichChunk_INTERFACE_DEFINED__
DEFINE_GUID(IID_IRichChunk, 0x4fdef69c, 0xdbc9, 0x454e, 0x99,0x10, 0xb3,0x4f,0x3c,0x64,0xb5,0x10);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4fdef69c-dbc9-454e-9910-b34f3c64b510")
IRichChunk : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetData(
ULONG *pFirstPos,
ULONG *pLength,
LPWSTR *ppsz,
PROPVARIANT *pValue) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IRichChunk, 0x4fdef69c, 0xdbc9, 0x454e, 0x99,0x10, 0xb3,0x4f,0x3c,0x64,0xb5,0x10)
#endif
#else
typedef struct IRichChunkVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IRichChunk* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IRichChunk* This);
ULONG (STDMETHODCALLTYPE *Release)(
IRichChunk* This);
/*** IRichChunk methods ***/
HRESULT (STDMETHODCALLTYPE *GetData)(
IRichChunk* This,
ULONG *pFirstPos,
ULONG *pLength,
LPWSTR *ppsz,
PROPVARIANT *pValue);
END_INTERFACE
} IRichChunkVtbl;
interface IRichChunk {
CONST_VTBL IRichChunkVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IRichChunk_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IRichChunk_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IRichChunk_Release(This) (This)->lpVtbl->Release(This)
/*** IRichChunk methods ***/
#define IRichChunk_GetData(This,pFirstPos,pLength,ppsz,pValue) (This)->lpVtbl->GetData(This,pFirstPos,pLength,ppsz,pValue)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IRichChunk_QueryInterface(IRichChunk* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IRichChunk_AddRef(IRichChunk* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IRichChunk_Release(IRichChunk* This) {
return This->lpVtbl->Release(This);
}
/*** IRichChunk methods ***/
static FORCEINLINE HRESULT IRichChunk_GetData(IRichChunk* This,ULONG *pFirstPos,ULONG *pLength,LPWSTR *ppsz,PROPVARIANT *pValue) {
return This->lpVtbl->GetData(This,pFirstPos,pLength,ppsz,pValue);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IRichChunk_RemoteGetData_Proxy(
IRichChunk* This,
ULONG *pFirstPos,
ULONG *pLength,
LPWSTR *ppsz,
PROPVARIANT *pValue);
void __RPC_STUB IRichChunk_RemoteGetData_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRichChunk_GetData_Proxy(
IRichChunk* This,
ULONG *pFirstPos,
ULONG *pLength,
LPWSTR *ppsz,
PROPVARIANT *pValue);
HRESULT __RPC_STUB IRichChunk_GetData_Stub(
IRichChunk* This,
ULONG *pFirstPos,
ULONG *pLength,
LPWSTR *ppsz,
PROPVARIANT *pValue);
#endif /* __IRichChunk_INTERFACE_DEFINED__ */
/*****************************************************************************
* ICondition interface
*/
#ifndef __ICondition_INTERFACE_DEFINED__
#define __ICondition_INTERFACE_DEFINED__
DEFINE_GUID(IID_ICondition, 0x0fc988d4, 0xc935, 0x4b97, 0xa9,0x73, 0x46,0x28,0x2e,0xa1,0x75,0xc8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0fc988d4-c935-4b97-a973-46282ea175c8")
ICondition : public IPersistStream
{
virtual HRESULT STDMETHODCALLTYPE GetConditionType(
CONDITION_TYPE *pNodeType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSubConditions(
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetComparisonInfo(
LPWSTR *ppszPropertyName,
CONDITION_OPERATION *pcop,
PROPVARIANT *ppropvar) = 0;
virtual HRESULT STDMETHODCALLTYPE GetValueType(
LPWSTR *ppszValueTypeName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetValueNormalization(
LPWSTR *ppszNormalization) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInputTerms(
IRichChunk **ppPropertyTerm,
IRichChunk **ppOperationTerm,
IRichChunk **ppValueTerm) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
ICondition **ppc) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICondition, 0x0fc988d4, 0xc935, 0x4b97, 0xa9,0x73, 0x46,0x28,0x2e,0xa1,0x75,0xc8)
#endif
#else
typedef struct IConditionVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICondition* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICondition* This);
ULONG (STDMETHODCALLTYPE *Release)(
ICondition* This);
/*** IPersist methods ***/
HRESULT (STDMETHODCALLTYPE *GetClassID)(
ICondition* This,
CLSID *pClassID);
/*** IPersistStream methods ***/
HRESULT (STDMETHODCALLTYPE *IsDirty)(
ICondition* This);
HRESULT (STDMETHODCALLTYPE *Load)(
ICondition* This,
IStream *pStm);
HRESULT (STDMETHODCALLTYPE *Save)(
ICondition* This,
IStream *pStm,
WINBOOL fClearDirty);
HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
ICondition* This,
ULARGE_INTEGER *pcbSize);
/*** ICondition methods ***/
HRESULT (STDMETHODCALLTYPE *GetConditionType)(
ICondition* This,
CONDITION_TYPE *pNodeType);
HRESULT (STDMETHODCALLTYPE *GetSubConditions)(
ICondition* This,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetComparisonInfo)(
ICondition* This,
LPWSTR *ppszPropertyName,
CONDITION_OPERATION *pcop,
PROPVARIANT *ppropvar);
HRESULT (STDMETHODCALLTYPE *GetValueType)(
ICondition* This,
LPWSTR *ppszValueTypeName);
HRESULT (STDMETHODCALLTYPE *GetValueNormalization)(
ICondition* This,
LPWSTR *ppszNormalization);
HRESULT (STDMETHODCALLTYPE *GetInputTerms)(
ICondition* This,
IRichChunk **ppPropertyTerm,
IRichChunk **ppOperationTerm,
IRichChunk **ppValueTerm);
HRESULT (STDMETHODCALLTYPE *Clone)(
ICondition* This,
ICondition **ppc);
END_INTERFACE
} IConditionVtbl;
interface ICondition {
CONST_VTBL IConditionVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICondition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICondition_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICondition_Release(This) (This)->lpVtbl->Release(This)
/*** IPersist methods ***/
#define ICondition_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
/*** IPersistStream methods ***/
#define ICondition_IsDirty(This) (This)->lpVtbl->IsDirty(This)
#define ICondition_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
#define ICondition_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
#define ICondition_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
/*** ICondition methods ***/
#define ICondition_GetConditionType(This,pNodeType) (This)->lpVtbl->GetConditionType(This,pNodeType)
#define ICondition_GetSubConditions(This,riid,ppv) (This)->lpVtbl->GetSubConditions(This,riid,ppv)
#define ICondition_GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar) (This)->lpVtbl->GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar)
#define ICondition_GetValueType(This,ppszValueTypeName) (This)->lpVtbl->GetValueType(This,ppszValueTypeName)
#define ICondition_GetValueNormalization(This,ppszNormalization) (This)->lpVtbl->GetValueNormalization(This,ppszNormalization)
#define ICondition_GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm) (This)->lpVtbl->GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm)
#define ICondition_Clone(This,ppc) (This)->lpVtbl->Clone(This,ppc)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ICondition_QueryInterface(ICondition* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ICondition_AddRef(ICondition* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ICondition_Release(ICondition* This) {
return This->lpVtbl->Release(This);
}
/*** IPersist methods ***/
static FORCEINLINE HRESULT ICondition_GetClassID(ICondition* This,CLSID *pClassID) {
return This->lpVtbl->GetClassID(This,pClassID);
}
/*** IPersistStream methods ***/
static FORCEINLINE HRESULT ICondition_IsDirty(ICondition* This) {
return This->lpVtbl->IsDirty(This);
}
static FORCEINLINE HRESULT ICondition_Load(ICondition* This,IStream *pStm) {
return This->lpVtbl->Load(This,pStm);
}
static FORCEINLINE HRESULT ICondition_Save(ICondition* This,IStream *pStm,WINBOOL fClearDirty) {
return This->lpVtbl->Save(This,pStm,fClearDirty);
}
static FORCEINLINE HRESULT ICondition_GetSizeMax(ICondition* This,ULARGE_INTEGER *pcbSize) {
return This->lpVtbl->GetSizeMax(This,pcbSize);
}
/*** ICondition methods ***/
static FORCEINLINE HRESULT ICondition_GetConditionType(ICondition* This,CONDITION_TYPE *pNodeType) {
return This->lpVtbl->GetConditionType(This,pNodeType);
}
static FORCEINLINE HRESULT ICondition_GetSubConditions(ICondition* This,REFIID riid,void **ppv) {
return This->lpVtbl->GetSubConditions(This,riid,ppv);
}
static FORCEINLINE HRESULT ICondition_GetComparisonInfo(ICondition* This,LPWSTR *ppszPropertyName,CONDITION_OPERATION *pcop,PROPVARIANT *ppropvar) {
return This->lpVtbl->GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar);
}
static FORCEINLINE HRESULT ICondition_GetValueType(ICondition* This,LPWSTR *ppszValueTypeName) {
return This->lpVtbl->GetValueType(This,ppszValueTypeName);
}
static FORCEINLINE HRESULT ICondition_GetValueNormalization(ICondition* This,LPWSTR *ppszNormalization) {
return This->lpVtbl->GetValueNormalization(This,ppszNormalization);
}
static FORCEINLINE HRESULT ICondition_GetInputTerms(ICondition* This,IRichChunk **ppPropertyTerm,IRichChunk **ppOperationTerm,IRichChunk **ppValueTerm) {
return This->lpVtbl->GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm);
}
static FORCEINLINE HRESULT ICondition_Clone(ICondition* This,ICondition **ppc) {
return This->lpVtbl->Clone(This,ppc);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE ICondition_GetConditionType_Proxy(
ICondition* This,
CONDITION_TYPE *pNodeType);
void __RPC_STUB ICondition_GetConditionType_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE ICondition_GetSubConditions_Proxy(
ICondition* This,
REFIID riid,
void **ppv);
void __RPC_STUB ICondition_GetSubConditions_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE ICondition_RemoteGetComparisonInfo_Proxy(
ICondition* This,
LPWSTR *ppszPropertyName,
CONDITION_OPERATION *pcop,
PROPVARIANT *ppropvar);
void __RPC_STUB ICondition_RemoteGetComparisonInfo_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE ICondition_GetValueType_Proxy(
ICondition* This,
LPWSTR *ppszValueTypeName);
void __RPC_STUB ICondition_GetValueType_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE ICondition_GetValueNormalization_Proxy(
ICondition* This,
LPWSTR *ppszNormalization);
void __RPC_STUB ICondition_GetValueNormalization_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE ICondition_RemoteGetInputTerms_Proxy(
ICondition* This,
IRichChunk **ppPropertyTerm,
IRichChunk **ppOperationTerm,
IRichChunk **ppValueTerm);
void __RPC_STUB ICondition_RemoteGetInputTerms_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE ICondition_Clone_Proxy(
ICondition* This,
ICondition **ppc);
void __RPC_STUB ICondition_Clone_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ICondition_GetComparisonInfo_Proxy(
ICondition* This,
LPWSTR *ppszPropertyName,
CONDITION_OPERATION *pcop,
PROPVARIANT *ppropvar);
HRESULT __RPC_STUB ICondition_GetComparisonInfo_Stub(
ICondition* This,
LPWSTR *ppszPropertyName,
CONDITION_OPERATION *pcop,
PROPVARIANT *ppropvar);
HRESULT CALLBACK ICondition_GetInputTerms_Proxy(
ICondition* This,
IRichChunk **ppPropertyTerm,
IRichChunk **ppOperationTerm,
IRichChunk **ppValueTerm);
HRESULT __RPC_STUB ICondition_GetInputTerms_Stub(
ICondition* This,
IRichChunk **ppPropertyTerm,
IRichChunk **ppOperationTerm,
IRichChunk **ppValueTerm);
#endif /* __ICondition_INTERFACE_DEFINED__ */
/*****************************************************************************
* ICondition2 interface
*/
#ifndef __ICondition2_INTERFACE_DEFINED__
#define __ICondition2_INTERFACE_DEFINED__
DEFINE_GUID(IID_ICondition2, 0x0db8851d, 0x2e5b, 0x47eb, 0x92,0x08, 0xd2,0x8c,0x32,0x5a,0x01,0xd7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0db8851d-2e5b-47eb-9208-d28c325a01d7")
ICondition2 : public ICondition
{
virtual HRESULT STDMETHODCALLTYPE GetLocale(
LPWSTR *ppszLocaleName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetLeafConditionInfo(
PROPERTYKEY *ppropkey,
CONDITION_OPERATION *pcop,
PROPVARIANT *ppropvar) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICondition2, 0x0db8851d, 0x2e5b, 0x47eb, 0x92,0x08, 0xd2,0x8c,0x32,0x5a,0x01,0xd7)
#endif
#else
typedef struct ICondition2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICondition2* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICondition2* This);
ULONG (STDMETHODCALLTYPE *Release)(
ICondition2* This);
/*** IPersist methods ***/
HRESULT (STDMETHODCALLTYPE *GetClassID)(
ICondition2* This,
CLSID *pClassID);
/*** IPersistStream methods ***/
HRESULT (STDMETHODCALLTYPE *IsDirty)(
ICondition2* This);
HRESULT (STDMETHODCALLTYPE *Load)(
ICondition2* This,
IStream *pStm);
HRESULT (STDMETHODCALLTYPE *Save)(
ICondition2* This,
IStream *pStm,
WINBOOL fClearDirty);
HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
ICondition2* This,
ULARGE_INTEGER *pcbSize);
/*** ICondition methods ***/
HRESULT (STDMETHODCALLTYPE *GetConditionType)(
ICondition2* This,
CONDITION_TYPE *pNodeType);
HRESULT (STDMETHODCALLTYPE *GetSubConditions)(
ICondition2* This,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetComparisonInfo)(
ICondition2* This,
LPWSTR *ppszPropertyName,
CONDITION_OPERATION *pcop,
PROPVARIANT *ppropvar);
HRESULT (STDMETHODCALLTYPE *GetValueType)(
ICondition2* This,
LPWSTR *ppszValueTypeName);
HRESULT (STDMETHODCALLTYPE *GetValueNormalization)(
ICondition2* This,
LPWSTR *ppszNormalization);
HRESULT (STDMETHODCALLTYPE *GetInputTerms)(
ICondition2* This,
IRichChunk **ppPropertyTerm,
IRichChunk **ppOperationTerm,
IRichChunk **ppValueTerm);
HRESULT (STDMETHODCALLTYPE *Clone)(
ICondition2* This,
ICondition **ppc);
/*** ICondition2 methods ***/
HRESULT (STDMETHODCALLTYPE *GetLocale)(
ICondition2* This,
LPWSTR *ppszLocaleName);
HRESULT (STDMETHODCALLTYPE *GetLeafConditionInfo)(
ICondition2* This,
PROPERTYKEY *ppropkey,
CONDITION_OPERATION *pcop,
PROPVARIANT *ppropvar);
END_INTERFACE
} ICondition2Vtbl;
interface ICondition2 {
CONST_VTBL ICondition2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICondition2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICondition2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICondition2_Release(This) (This)->lpVtbl->Release(This)
/*** IPersist methods ***/
#define ICondition2_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
/*** IPersistStream methods ***/
#define ICondition2_IsDirty(This) (This)->lpVtbl->IsDirty(This)
#define ICondition2_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
#define ICondition2_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
#define ICondition2_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
/*** ICondition methods ***/
#define ICondition2_GetConditionType(This,pNodeType) (This)->lpVtbl->GetConditionType(This,pNodeType)
#define ICondition2_GetSubConditions(This,riid,ppv) (This)->lpVtbl->GetSubConditions(This,riid,ppv)
#define ICondition2_GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar) (This)->lpVtbl->GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar)
#define ICondition2_GetValueType(This,ppszValueTypeName) (This)->lpVtbl->GetValueType(This,ppszValueTypeName)
#define ICondition2_GetValueNormalization(This,ppszNormalization) (This)->lpVtbl->GetValueNormalization(This,ppszNormalization)
#define ICondition2_GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm) (This)->lpVtbl->GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm)
#define ICondition2_Clone(This,ppc) (This)->lpVtbl->Clone(This,ppc)
/*** ICondition2 methods ***/
#define ICondition2_GetLocale(This,ppszLocaleName) (This)->lpVtbl->GetLocale(This,ppszLocaleName)
#define ICondition2_GetLeafConditionInfo(This,ppropkey,pcop,ppropvar) (This)->lpVtbl->GetLeafConditionInfo(This,ppropkey,pcop,ppropvar)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ICondition2_QueryInterface(ICondition2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ICondition2_AddRef(ICondition2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ICondition2_Release(ICondition2* This) {
return This->lpVtbl->Release(This);
}
/*** IPersist methods ***/
static FORCEINLINE HRESULT ICondition2_GetClassID(ICondition2* This,CLSID *pClassID) {
return This->lpVtbl->GetClassID(This,pClassID);
}
/*** IPersistStream methods ***/
static FORCEINLINE HRESULT ICondition2_IsDirty(ICondition2* This) {
return This->lpVtbl->IsDirty(This);
}
static FORCEINLINE HRESULT ICondition2_Load(ICondition2* This,IStream *pStm) {
return This->lpVtbl->Load(This,pStm);
}
static FORCEINLINE HRESULT ICondition2_Save(ICondition2* This,IStream *pStm,WINBOOL fClearDirty) {
return This->lpVtbl->Save(This,pStm,fClearDirty);
}
static FORCEINLINE HRESULT ICondition2_GetSizeMax(ICondition2* This,ULARGE_INTEGER *pcbSize) {
return This->lpVtbl->GetSizeMax(This,pcbSize);
}
/*** ICondition methods ***/
static FORCEINLINE HRESULT ICondition2_GetConditionType(ICondition2* This,CONDITION_TYPE *pNodeType) {
return This->lpVtbl->GetConditionType(This,pNodeType);
}
static FORCEINLINE HRESULT ICondition2_GetSubConditions(ICondition2* This,REFIID riid,void **ppv) {
return This->lpVtbl->GetSubConditions(This,riid,ppv);
}
static FORCEINLINE HRESULT ICondition2_GetComparisonInfo(ICondition2* This,LPWSTR *ppszPropertyName,CONDITION_OPERATION *pcop,PROPVARIANT *ppropvar) {
return This->lpVtbl->GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar);
}
static FORCEINLINE HRESULT ICondition2_GetValueType(ICondition2* This,LPWSTR *ppszValueTypeName) {
return This->lpVtbl->GetValueType(This,ppszValueTypeName);
}
static FORCEINLINE HRESULT ICondition2_GetValueNormalization(ICondition2* This,LPWSTR *ppszNormalization) {
return This->lpVtbl->GetValueNormalization(This,ppszNormalization);
}
static FORCEINLINE HRESULT ICondition2_GetInputTerms(ICondition2* This,IRichChunk **ppPropertyTerm,IRichChunk **ppOperationTerm,IRichChunk **ppValueTerm) {
return This->lpVtbl->GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm);
}
static FORCEINLINE HRESULT ICondition2_Clone(ICondition2* This,ICondition **ppc) {
return This->lpVtbl->Clone(This,ppc);
}
/*** ICondition2 methods ***/
static FORCEINLINE HRESULT ICondition2_GetLocale(ICondition2* This,LPWSTR *ppszLocaleName) {
return This->lpVtbl->GetLocale(This,ppszLocaleName);
}
static FORCEINLINE HRESULT ICondition2_GetLeafConditionInfo(ICondition2* This,PROPERTYKEY *ppropkey,CONDITION_OPERATION *pcop,PROPVARIANT *ppropvar) {
return This->lpVtbl->GetLeafConditionInfo(This,ppropkey,pcop,ppropvar);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE ICondition2_GetLocale_Proxy(
ICondition2* This,
LPWSTR *ppszLocaleName);
void __RPC_STUB ICondition2_GetLocale_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE ICondition2_RemoteGetLeafConditionInfo_Proxy(
ICondition2* This,
PROPERTYKEY *ppropkey,
CONDITION_OPERATION *pcop,
PROPVARIANT *ppropvar);
void __RPC_STUB ICondition2_RemoteGetLeafConditionInfo_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ICondition2_GetLeafConditionInfo_Proxy(
ICondition2* This,
PROPERTYKEY *ppropkey,
CONDITION_OPERATION *pcop,
PROPVARIANT *ppropvar);
HRESULT __RPC_STUB ICondition2_GetLeafConditionInfo_Stub(
ICondition2* This,
PROPERTYKEY *ppropkey,
CONDITION_OPERATION *pcop,
PROPVARIANT *ppropvar);
#endif /* __ICondition2_INTERFACE_DEFINED__ */
#endif
/* Begin additional prototypes for all interfaces */
ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *);
unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *);
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *);
/* End additional prototypes */

View File

@ -1,53 +1,69 @@
/*
* structured query condition
*
* Copyright 2009 Maarten Lankhorst
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*
*/
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";
typedef [v1_enum] enum tagCONDITION_TYPE
{
CT_AND_CONDITION,
CT_OR_CONDITION,
CT_NOT_CONDITION,
CT_LEAF_CONDITION
cpp_quote("")
typedef [v1_enum] enum tagCONDITION_TYPE {
CT_AND_CONDITION,
CT_OR_CONDITION,
CT_NOT_CONDITION,
CT_LEAF_CONDITION
} CONDITION_TYPE;
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
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")