structuredquerycondition.h 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676
  1. /*** Autogenerated by WIDL 7.7 from include/structuredquerycondition.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __structuredquerycondition_h__
  14. #define __structuredquerycondition_h__
  15. /* Forward declarations */
  16. #ifndef __IRichChunk_FWD_DEFINED__
  17. #define __IRichChunk_FWD_DEFINED__
  18. typedef interface IRichChunk IRichChunk;
  19. #ifdef __cplusplus
  20. interface IRichChunk;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __ICondition_FWD_DEFINED__
  24. #define __ICondition_FWD_DEFINED__
  25. typedef interface ICondition ICondition;
  26. #ifdef __cplusplus
  27. interface ICondition;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __ICondition2_FWD_DEFINED__
  31. #define __ICondition2_FWD_DEFINED__
  32. typedef interface ICondition2 ICondition2;
  33. #ifdef __cplusplus
  34. interface ICondition2;
  35. #endif /* __cplusplus */
  36. #endif
  37. /* Headers for imported files */
  38. #include <oaidl.h>
  39. #include <ocidl.h>
  40. #include <objidl.h>
  41. #include <propidl.h>
  42. #ifdef __cplusplus
  43. extern "C" {
  44. #endif
  45. /**
  46. * This file is part of the mingw-w64 runtime package.
  47. * No warranty is given; refer to the file DISCLAIMER within this package.
  48. */
  49. #include <winapifamily.h>
  50. typedef enum tagCONDITION_TYPE {
  51. CT_AND_CONDITION = 0,
  52. CT_OR_CONDITION = 1,
  53. CT_NOT_CONDITION = 2,
  54. CT_LEAF_CONDITION = 3
  55. } CONDITION_TYPE;
  56. typedef enum tagCONDITION_OPERATION {
  57. COP_IMPLICIT = 0,
  58. COP_EQUAL = 1,
  59. COP_NOTEQUAL = 2,
  60. COP_LESSTHAN = 3,
  61. COP_GREATERTHAN = 4,
  62. COP_LESSTHANOREQUAL = 5,
  63. COP_GREATERTHANOREQUAL = 6,
  64. COP_VALUE_STARTSWITH = 7,
  65. COP_VALUE_ENDSWITH = 8,
  66. COP_VALUE_CONTAINS = 9,
  67. COP_VALUE_NOTCONTAINS = 10,
  68. COP_DOSWILDCARDS = 11,
  69. COP_WORD_EQUAL = 12,
  70. COP_WORD_STARTSWITH = 13,
  71. COP_APPLICATION_SPECIFIC = 14
  72. } CONDITION_OPERATION;
  73. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  74. /*****************************************************************************
  75. * IRichChunk interface
  76. */
  77. #ifndef __IRichChunk_INTERFACE_DEFINED__
  78. #define __IRichChunk_INTERFACE_DEFINED__
  79. DEFINE_GUID(IID_IRichChunk, 0x4fdef69c, 0xdbc9, 0x454e, 0x99,0x10, 0xb3,0x4f,0x3c,0x64,0xb5,0x10);
  80. #if defined(__cplusplus) && !defined(CINTERFACE)
  81. MIDL_INTERFACE("4fdef69c-dbc9-454e-9910-b34f3c64b510")
  82. IRichChunk : public IUnknown
  83. {
  84. virtual HRESULT STDMETHODCALLTYPE GetData(
  85. ULONG *pFirstPos,
  86. ULONG *pLength,
  87. LPWSTR *ppsz,
  88. PROPVARIANT *pValue) = 0;
  89. };
  90. #ifdef __CRT_UUID_DECL
  91. __CRT_UUID_DECL(IRichChunk, 0x4fdef69c, 0xdbc9, 0x454e, 0x99,0x10, 0xb3,0x4f,0x3c,0x64,0xb5,0x10)
  92. #endif
  93. #else
  94. typedef struct IRichChunkVtbl {
  95. BEGIN_INTERFACE
  96. /*** IUnknown methods ***/
  97. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  98. IRichChunk *This,
  99. REFIID riid,
  100. void **ppvObject);
  101. ULONG (STDMETHODCALLTYPE *AddRef)(
  102. IRichChunk *This);
  103. ULONG (STDMETHODCALLTYPE *Release)(
  104. IRichChunk *This);
  105. /*** IRichChunk methods ***/
  106. HRESULT (STDMETHODCALLTYPE *GetData)(
  107. IRichChunk *This,
  108. ULONG *pFirstPos,
  109. ULONG *pLength,
  110. LPWSTR *ppsz,
  111. PROPVARIANT *pValue);
  112. END_INTERFACE
  113. } IRichChunkVtbl;
  114. interface IRichChunk {
  115. CONST_VTBL IRichChunkVtbl* lpVtbl;
  116. };
  117. #ifdef COBJMACROS
  118. #ifndef WIDL_C_INLINE_WRAPPERS
  119. /*** IUnknown methods ***/
  120. #define IRichChunk_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  121. #define IRichChunk_AddRef(This) (This)->lpVtbl->AddRef(This)
  122. #define IRichChunk_Release(This) (This)->lpVtbl->Release(This)
  123. /*** IRichChunk methods ***/
  124. #define IRichChunk_GetData(This,pFirstPos,pLength,ppsz,pValue) (This)->lpVtbl->GetData(This,pFirstPos,pLength,ppsz,pValue)
  125. #else
  126. /*** IUnknown methods ***/
  127. static FORCEINLINE HRESULT IRichChunk_QueryInterface(IRichChunk* This,REFIID riid,void **ppvObject) {
  128. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  129. }
  130. static FORCEINLINE ULONG IRichChunk_AddRef(IRichChunk* This) {
  131. return This->lpVtbl->AddRef(This);
  132. }
  133. static FORCEINLINE ULONG IRichChunk_Release(IRichChunk* This) {
  134. return This->lpVtbl->Release(This);
  135. }
  136. /*** IRichChunk methods ***/
  137. static FORCEINLINE HRESULT IRichChunk_GetData(IRichChunk* This,ULONG *pFirstPos,ULONG *pLength,LPWSTR *ppsz,PROPVARIANT *pValue) {
  138. return This->lpVtbl->GetData(This,pFirstPos,pLength,ppsz,pValue);
  139. }
  140. #endif
  141. #endif
  142. #endif
  143. HRESULT STDMETHODCALLTYPE IRichChunk_RemoteGetData_Proxy(
  144. IRichChunk* This,
  145. ULONG *pFirstPos,
  146. ULONG *pLength,
  147. LPWSTR *ppsz,
  148. PROPVARIANT *pValue);
  149. void __RPC_STUB IRichChunk_RemoteGetData_Stub(
  150. IRpcStubBuffer* This,
  151. IRpcChannelBuffer* pRpcChannelBuffer,
  152. PRPC_MESSAGE pRpcMessage,
  153. DWORD* pdwStubPhase);
  154. HRESULT CALLBACK IRichChunk_GetData_Proxy(
  155. IRichChunk* This,
  156. ULONG *pFirstPos,
  157. ULONG *pLength,
  158. LPWSTR *ppsz,
  159. PROPVARIANT *pValue);
  160. HRESULT __RPC_STUB IRichChunk_GetData_Stub(
  161. IRichChunk* This,
  162. ULONG *pFirstPos,
  163. ULONG *pLength,
  164. LPWSTR *ppsz,
  165. PROPVARIANT *pValue);
  166. #endif /* __IRichChunk_INTERFACE_DEFINED__ */
  167. /*****************************************************************************
  168. * ICondition interface
  169. */
  170. #ifndef __ICondition_INTERFACE_DEFINED__
  171. #define __ICondition_INTERFACE_DEFINED__
  172. DEFINE_GUID(IID_ICondition, 0x0fc988d4, 0xc935, 0x4b97, 0xa9,0x73, 0x46,0x28,0x2e,0xa1,0x75,0xc8);
  173. #if defined(__cplusplus) && !defined(CINTERFACE)
  174. MIDL_INTERFACE("0fc988d4-c935-4b97-a973-46282ea175c8")
  175. ICondition : public IPersistStream
  176. {
  177. virtual HRESULT STDMETHODCALLTYPE GetConditionType(
  178. CONDITION_TYPE *pNodeType) = 0;
  179. virtual HRESULT STDMETHODCALLTYPE GetSubConditions(
  180. REFIID riid,
  181. void **ppv) = 0;
  182. virtual HRESULT STDMETHODCALLTYPE GetComparisonInfo(
  183. LPWSTR *ppszPropertyName,
  184. CONDITION_OPERATION *pcop,
  185. PROPVARIANT *ppropvar) = 0;
  186. virtual HRESULT STDMETHODCALLTYPE GetValueType(
  187. LPWSTR *ppszValueTypeName) = 0;
  188. virtual HRESULT STDMETHODCALLTYPE GetValueNormalization(
  189. LPWSTR *ppszNormalization) = 0;
  190. virtual HRESULT STDMETHODCALLTYPE GetInputTerms(
  191. IRichChunk **ppPropertyTerm,
  192. IRichChunk **ppOperationTerm,
  193. IRichChunk **ppValueTerm) = 0;
  194. virtual HRESULT STDMETHODCALLTYPE Clone(
  195. ICondition **ppc) = 0;
  196. };
  197. #ifdef __CRT_UUID_DECL
  198. __CRT_UUID_DECL(ICondition, 0x0fc988d4, 0xc935, 0x4b97, 0xa9,0x73, 0x46,0x28,0x2e,0xa1,0x75,0xc8)
  199. #endif
  200. #else
  201. typedef struct IConditionVtbl {
  202. BEGIN_INTERFACE
  203. /*** IUnknown methods ***/
  204. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  205. ICondition *This,
  206. REFIID riid,
  207. void **ppvObject);
  208. ULONG (STDMETHODCALLTYPE *AddRef)(
  209. ICondition *This);
  210. ULONG (STDMETHODCALLTYPE *Release)(
  211. ICondition *This);
  212. /*** IPersist methods ***/
  213. HRESULT (STDMETHODCALLTYPE *GetClassID)(
  214. ICondition *This,
  215. CLSID *pClassID);
  216. /*** IPersistStream methods ***/
  217. HRESULT (STDMETHODCALLTYPE *IsDirty)(
  218. ICondition *This);
  219. HRESULT (STDMETHODCALLTYPE *Load)(
  220. ICondition *This,
  221. IStream *pStm);
  222. HRESULT (STDMETHODCALLTYPE *Save)(
  223. ICondition *This,
  224. IStream *pStm,
  225. WINBOOL fClearDirty);
  226. HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
  227. ICondition *This,
  228. ULARGE_INTEGER *pcbSize);
  229. /*** ICondition methods ***/
  230. HRESULT (STDMETHODCALLTYPE *GetConditionType)(
  231. ICondition *This,
  232. CONDITION_TYPE *pNodeType);
  233. HRESULT (STDMETHODCALLTYPE *GetSubConditions)(
  234. ICondition *This,
  235. REFIID riid,
  236. void **ppv);
  237. HRESULT (STDMETHODCALLTYPE *GetComparisonInfo)(
  238. ICondition *This,
  239. LPWSTR *ppszPropertyName,
  240. CONDITION_OPERATION *pcop,
  241. PROPVARIANT *ppropvar);
  242. HRESULT (STDMETHODCALLTYPE *GetValueType)(
  243. ICondition *This,
  244. LPWSTR *ppszValueTypeName);
  245. HRESULT (STDMETHODCALLTYPE *GetValueNormalization)(
  246. ICondition *This,
  247. LPWSTR *ppszNormalization);
  248. HRESULT (STDMETHODCALLTYPE *GetInputTerms)(
  249. ICondition *This,
  250. IRichChunk **ppPropertyTerm,
  251. IRichChunk **ppOperationTerm,
  252. IRichChunk **ppValueTerm);
  253. HRESULT (STDMETHODCALLTYPE *Clone)(
  254. ICondition *This,
  255. ICondition **ppc);
  256. END_INTERFACE
  257. } IConditionVtbl;
  258. interface ICondition {
  259. CONST_VTBL IConditionVtbl* lpVtbl;
  260. };
  261. #ifdef COBJMACROS
  262. #ifndef WIDL_C_INLINE_WRAPPERS
  263. /*** IUnknown methods ***/
  264. #define ICondition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  265. #define ICondition_AddRef(This) (This)->lpVtbl->AddRef(This)
  266. #define ICondition_Release(This) (This)->lpVtbl->Release(This)
  267. /*** IPersist methods ***/
  268. #define ICondition_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
  269. /*** IPersistStream methods ***/
  270. #define ICondition_IsDirty(This) (This)->lpVtbl->IsDirty(This)
  271. #define ICondition_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
  272. #define ICondition_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
  273. #define ICondition_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
  274. /*** ICondition methods ***/
  275. #define ICondition_GetConditionType(This,pNodeType) (This)->lpVtbl->GetConditionType(This,pNodeType)
  276. #define ICondition_GetSubConditions(This,riid,ppv) (This)->lpVtbl->GetSubConditions(This,riid,ppv)
  277. #define ICondition_GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar) (This)->lpVtbl->GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar)
  278. #define ICondition_GetValueType(This,ppszValueTypeName) (This)->lpVtbl->GetValueType(This,ppszValueTypeName)
  279. #define ICondition_GetValueNormalization(This,ppszNormalization) (This)->lpVtbl->GetValueNormalization(This,ppszNormalization)
  280. #define ICondition_GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm) (This)->lpVtbl->GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm)
  281. #define ICondition_Clone(This,ppc) (This)->lpVtbl->Clone(This,ppc)
  282. #else
  283. /*** IUnknown methods ***/
  284. static FORCEINLINE HRESULT ICondition_QueryInterface(ICondition* This,REFIID riid,void **ppvObject) {
  285. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  286. }
  287. static FORCEINLINE ULONG ICondition_AddRef(ICondition* This) {
  288. return This->lpVtbl->AddRef(This);
  289. }
  290. static FORCEINLINE ULONG ICondition_Release(ICondition* This) {
  291. return This->lpVtbl->Release(This);
  292. }
  293. /*** IPersist methods ***/
  294. static FORCEINLINE HRESULT ICondition_GetClassID(ICondition* This,CLSID *pClassID) {
  295. return This->lpVtbl->GetClassID(This,pClassID);
  296. }
  297. /*** IPersistStream methods ***/
  298. static FORCEINLINE HRESULT ICondition_IsDirty(ICondition* This) {
  299. return This->lpVtbl->IsDirty(This);
  300. }
  301. static FORCEINLINE HRESULT ICondition_Load(ICondition* This,IStream *pStm) {
  302. return This->lpVtbl->Load(This,pStm);
  303. }
  304. static FORCEINLINE HRESULT ICondition_Save(ICondition* This,IStream *pStm,WINBOOL fClearDirty) {
  305. return This->lpVtbl->Save(This,pStm,fClearDirty);
  306. }
  307. static FORCEINLINE HRESULT ICondition_GetSizeMax(ICondition* This,ULARGE_INTEGER *pcbSize) {
  308. return This->lpVtbl->GetSizeMax(This,pcbSize);
  309. }
  310. /*** ICondition methods ***/
  311. static FORCEINLINE HRESULT ICondition_GetConditionType(ICondition* This,CONDITION_TYPE *pNodeType) {
  312. return This->lpVtbl->GetConditionType(This,pNodeType);
  313. }
  314. static FORCEINLINE HRESULT ICondition_GetSubConditions(ICondition* This,REFIID riid,void **ppv) {
  315. return This->lpVtbl->GetSubConditions(This,riid,ppv);
  316. }
  317. static FORCEINLINE HRESULT ICondition_GetComparisonInfo(ICondition* This,LPWSTR *ppszPropertyName,CONDITION_OPERATION *pcop,PROPVARIANT *ppropvar) {
  318. return This->lpVtbl->GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar);
  319. }
  320. static FORCEINLINE HRESULT ICondition_GetValueType(ICondition* This,LPWSTR *ppszValueTypeName) {
  321. return This->lpVtbl->GetValueType(This,ppszValueTypeName);
  322. }
  323. static FORCEINLINE HRESULT ICondition_GetValueNormalization(ICondition* This,LPWSTR *ppszNormalization) {
  324. return This->lpVtbl->GetValueNormalization(This,ppszNormalization);
  325. }
  326. static FORCEINLINE HRESULT ICondition_GetInputTerms(ICondition* This,IRichChunk **ppPropertyTerm,IRichChunk **ppOperationTerm,IRichChunk **ppValueTerm) {
  327. return This->lpVtbl->GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm);
  328. }
  329. static FORCEINLINE HRESULT ICondition_Clone(ICondition* This,ICondition **ppc) {
  330. return This->lpVtbl->Clone(This,ppc);
  331. }
  332. #endif
  333. #endif
  334. #endif
  335. HRESULT STDMETHODCALLTYPE ICondition_RemoteGetComparisonInfo_Proxy(
  336. ICondition* This,
  337. LPWSTR *ppszPropertyName,
  338. CONDITION_OPERATION *pcop,
  339. PROPVARIANT *ppropvar);
  340. void __RPC_STUB ICondition_RemoteGetComparisonInfo_Stub(
  341. IRpcStubBuffer* This,
  342. IRpcChannelBuffer* pRpcChannelBuffer,
  343. PRPC_MESSAGE pRpcMessage,
  344. DWORD* pdwStubPhase);
  345. HRESULT STDMETHODCALLTYPE ICondition_RemoteGetInputTerms_Proxy(
  346. ICondition* This,
  347. IRichChunk **ppPropertyTerm,
  348. IRichChunk **ppOperationTerm,
  349. IRichChunk **ppValueTerm);
  350. void __RPC_STUB ICondition_RemoteGetInputTerms_Stub(
  351. IRpcStubBuffer* This,
  352. IRpcChannelBuffer* pRpcChannelBuffer,
  353. PRPC_MESSAGE pRpcMessage,
  354. DWORD* pdwStubPhase);
  355. HRESULT CALLBACK ICondition_GetComparisonInfo_Proxy(
  356. ICondition* This,
  357. LPWSTR *ppszPropertyName,
  358. CONDITION_OPERATION *pcop,
  359. PROPVARIANT *ppropvar);
  360. HRESULT __RPC_STUB ICondition_GetComparisonInfo_Stub(
  361. ICondition* This,
  362. LPWSTR *ppszPropertyName,
  363. CONDITION_OPERATION *pcop,
  364. PROPVARIANT *ppropvar);
  365. HRESULT CALLBACK ICondition_GetInputTerms_Proxy(
  366. ICondition* This,
  367. IRichChunk **ppPropertyTerm,
  368. IRichChunk **ppOperationTerm,
  369. IRichChunk **ppValueTerm);
  370. HRESULT __RPC_STUB ICondition_GetInputTerms_Stub(
  371. ICondition* This,
  372. IRichChunk **ppPropertyTerm,
  373. IRichChunk **ppOperationTerm,
  374. IRichChunk **ppValueTerm);
  375. #endif /* __ICondition_INTERFACE_DEFINED__ */
  376. /*****************************************************************************
  377. * ICondition2 interface
  378. */
  379. #ifndef __ICondition2_INTERFACE_DEFINED__
  380. #define __ICondition2_INTERFACE_DEFINED__
  381. DEFINE_GUID(IID_ICondition2, 0x0db8851d, 0x2e5b, 0x47eb, 0x92,0x08, 0xd2,0x8c,0x32,0x5a,0x01,0xd7);
  382. #if defined(__cplusplus) && !defined(CINTERFACE)
  383. MIDL_INTERFACE("0db8851d-2e5b-47eb-9208-d28c325a01d7")
  384. ICondition2 : public ICondition
  385. {
  386. virtual HRESULT STDMETHODCALLTYPE GetLocale(
  387. LPWSTR *ppszLocaleName) = 0;
  388. virtual HRESULT STDMETHODCALLTYPE GetLeafConditionInfo(
  389. PROPERTYKEY *ppropkey,
  390. CONDITION_OPERATION *pcop,
  391. PROPVARIANT *ppropvar) = 0;
  392. };
  393. #ifdef __CRT_UUID_DECL
  394. __CRT_UUID_DECL(ICondition2, 0x0db8851d, 0x2e5b, 0x47eb, 0x92,0x08, 0xd2,0x8c,0x32,0x5a,0x01,0xd7)
  395. #endif
  396. #else
  397. typedef struct ICondition2Vtbl {
  398. BEGIN_INTERFACE
  399. /*** IUnknown methods ***/
  400. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  401. ICondition2 *This,
  402. REFIID riid,
  403. void **ppvObject);
  404. ULONG (STDMETHODCALLTYPE *AddRef)(
  405. ICondition2 *This);
  406. ULONG (STDMETHODCALLTYPE *Release)(
  407. ICondition2 *This);
  408. /*** IPersist methods ***/
  409. HRESULT (STDMETHODCALLTYPE *GetClassID)(
  410. ICondition2 *This,
  411. CLSID *pClassID);
  412. /*** IPersistStream methods ***/
  413. HRESULT (STDMETHODCALLTYPE *IsDirty)(
  414. ICondition2 *This);
  415. HRESULT (STDMETHODCALLTYPE *Load)(
  416. ICondition2 *This,
  417. IStream *pStm);
  418. HRESULT (STDMETHODCALLTYPE *Save)(
  419. ICondition2 *This,
  420. IStream *pStm,
  421. WINBOOL fClearDirty);
  422. HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
  423. ICondition2 *This,
  424. ULARGE_INTEGER *pcbSize);
  425. /*** ICondition methods ***/
  426. HRESULT (STDMETHODCALLTYPE *GetConditionType)(
  427. ICondition2 *This,
  428. CONDITION_TYPE *pNodeType);
  429. HRESULT (STDMETHODCALLTYPE *GetSubConditions)(
  430. ICondition2 *This,
  431. REFIID riid,
  432. void **ppv);
  433. HRESULT (STDMETHODCALLTYPE *GetComparisonInfo)(
  434. ICondition2 *This,
  435. LPWSTR *ppszPropertyName,
  436. CONDITION_OPERATION *pcop,
  437. PROPVARIANT *ppropvar);
  438. HRESULT (STDMETHODCALLTYPE *GetValueType)(
  439. ICondition2 *This,
  440. LPWSTR *ppszValueTypeName);
  441. HRESULT (STDMETHODCALLTYPE *GetValueNormalization)(
  442. ICondition2 *This,
  443. LPWSTR *ppszNormalization);
  444. HRESULT (STDMETHODCALLTYPE *GetInputTerms)(
  445. ICondition2 *This,
  446. IRichChunk **ppPropertyTerm,
  447. IRichChunk **ppOperationTerm,
  448. IRichChunk **ppValueTerm);
  449. HRESULT (STDMETHODCALLTYPE *Clone)(
  450. ICondition2 *This,
  451. ICondition **ppc);
  452. /*** ICondition2 methods ***/
  453. HRESULT (STDMETHODCALLTYPE *GetLocale)(
  454. ICondition2 *This,
  455. LPWSTR *ppszLocaleName);
  456. HRESULT (STDMETHODCALLTYPE *GetLeafConditionInfo)(
  457. ICondition2 *This,
  458. PROPERTYKEY *ppropkey,
  459. CONDITION_OPERATION *pcop,
  460. PROPVARIANT *ppropvar);
  461. END_INTERFACE
  462. } ICondition2Vtbl;
  463. interface ICondition2 {
  464. CONST_VTBL ICondition2Vtbl* lpVtbl;
  465. };
  466. #ifdef COBJMACROS
  467. #ifndef WIDL_C_INLINE_WRAPPERS
  468. /*** IUnknown methods ***/
  469. #define ICondition2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  470. #define ICondition2_AddRef(This) (This)->lpVtbl->AddRef(This)
  471. #define ICondition2_Release(This) (This)->lpVtbl->Release(This)
  472. /*** IPersist methods ***/
  473. #define ICondition2_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
  474. /*** IPersistStream methods ***/
  475. #define ICondition2_IsDirty(This) (This)->lpVtbl->IsDirty(This)
  476. #define ICondition2_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
  477. #define ICondition2_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
  478. #define ICondition2_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
  479. /*** ICondition methods ***/
  480. #define ICondition2_GetConditionType(This,pNodeType) (This)->lpVtbl->GetConditionType(This,pNodeType)
  481. #define ICondition2_GetSubConditions(This,riid,ppv) (This)->lpVtbl->GetSubConditions(This,riid,ppv)
  482. #define ICondition2_GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar) (This)->lpVtbl->GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar)
  483. #define ICondition2_GetValueType(This,ppszValueTypeName) (This)->lpVtbl->GetValueType(This,ppszValueTypeName)
  484. #define ICondition2_GetValueNormalization(This,ppszNormalization) (This)->lpVtbl->GetValueNormalization(This,ppszNormalization)
  485. #define ICondition2_GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm) (This)->lpVtbl->GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm)
  486. #define ICondition2_Clone(This,ppc) (This)->lpVtbl->Clone(This,ppc)
  487. /*** ICondition2 methods ***/
  488. #define ICondition2_GetLocale(This,ppszLocaleName) (This)->lpVtbl->GetLocale(This,ppszLocaleName)
  489. #define ICondition2_GetLeafConditionInfo(This,ppropkey,pcop,ppropvar) (This)->lpVtbl->GetLeafConditionInfo(This,ppropkey,pcop,ppropvar)
  490. #else
  491. /*** IUnknown methods ***/
  492. static FORCEINLINE HRESULT ICondition2_QueryInterface(ICondition2* This,REFIID riid,void **ppvObject) {
  493. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  494. }
  495. static FORCEINLINE ULONG ICondition2_AddRef(ICondition2* This) {
  496. return This->lpVtbl->AddRef(This);
  497. }
  498. static FORCEINLINE ULONG ICondition2_Release(ICondition2* This) {
  499. return This->lpVtbl->Release(This);
  500. }
  501. /*** IPersist methods ***/
  502. static FORCEINLINE HRESULT ICondition2_GetClassID(ICondition2* This,CLSID *pClassID) {
  503. return This->lpVtbl->GetClassID(This,pClassID);
  504. }
  505. /*** IPersistStream methods ***/
  506. static FORCEINLINE HRESULT ICondition2_IsDirty(ICondition2* This) {
  507. return This->lpVtbl->IsDirty(This);
  508. }
  509. static FORCEINLINE HRESULT ICondition2_Load(ICondition2* This,IStream *pStm) {
  510. return This->lpVtbl->Load(This,pStm);
  511. }
  512. static FORCEINLINE HRESULT ICondition2_Save(ICondition2* This,IStream *pStm,WINBOOL fClearDirty) {
  513. return This->lpVtbl->Save(This,pStm,fClearDirty);
  514. }
  515. static FORCEINLINE HRESULT ICondition2_GetSizeMax(ICondition2* This,ULARGE_INTEGER *pcbSize) {
  516. return This->lpVtbl->GetSizeMax(This,pcbSize);
  517. }
  518. /*** ICondition methods ***/
  519. static FORCEINLINE HRESULT ICondition2_GetConditionType(ICondition2* This,CONDITION_TYPE *pNodeType) {
  520. return This->lpVtbl->GetConditionType(This,pNodeType);
  521. }
  522. static FORCEINLINE HRESULT ICondition2_GetSubConditions(ICondition2* This,REFIID riid,void **ppv) {
  523. return This->lpVtbl->GetSubConditions(This,riid,ppv);
  524. }
  525. static FORCEINLINE HRESULT ICondition2_GetComparisonInfo(ICondition2* This,LPWSTR *ppszPropertyName,CONDITION_OPERATION *pcop,PROPVARIANT *ppropvar) {
  526. return This->lpVtbl->GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar);
  527. }
  528. static FORCEINLINE HRESULT ICondition2_GetValueType(ICondition2* This,LPWSTR *ppszValueTypeName) {
  529. return This->lpVtbl->GetValueType(This,ppszValueTypeName);
  530. }
  531. static FORCEINLINE HRESULT ICondition2_GetValueNormalization(ICondition2* This,LPWSTR *ppszNormalization) {
  532. return This->lpVtbl->GetValueNormalization(This,ppszNormalization);
  533. }
  534. static FORCEINLINE HRESULT ICondition2_GetInputTerms(ICondition2* This,IRichChunk **ppPropertyTerm,IRichChunk **ppOperationTerm,IRichChunk **ppValueTerm) {
  535. return This->lpVtbl->GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm);
  536. }
  537. static FORCEINLINE HRESULT ICondition2_Clone(ICondition2* This,ICondition **ppc) {
  538. return This->lpVtbl->Clone(This,ppc);
  539. }
  540. /*** ICondition2 methods ***/
  541. static FORCEINLINE HRESULT ICondition2_GetLocale(ICondition2* This,LPWSTR *ppszLocaleName) {
  542. return This->lpVtbl->GetLocale(This,ppszLocaleName);
  543. }
  544. static FORCEINLINE HRESULT ICondition2_GetLeafConditionInfo(ICondition2* This,PROPERTYKEY *ppropkey,CONDITION_OPERATION *pcop,PROPVARIANT *ppropvar) {
  545. return This->lpVtbl->GetLeafConditionInfo(This,ppropkey,pcop,ppropvar);
  546. }
  547. #endif
  548. #endif
  549. #endif
  550. HRESULT STDMETHODCALLTYPE ICondition2_RemoteGetLeafConditionInfo_Proxy(
  551. ICondition2* This,
  552. PROPERTYKEY *ppropkey,
  553. CONDITION_OPERATION *pcop,
  554. PROPVARIANT *ppropvar);
  555. void __RPC_STUB ICondition2_RemoteGetLeafConditionInfo_Stub(
  556. IRpcStubBuffer* This,
  557. IRpcChannelBuffer* pRpcChannelBuffer,
  558. PRPC_MESSAGE pRpcMessage,
  559. DWORD* pdwStubPhase);
  560. HRESULT CALLBACK ICondition2_GetLeafConditionInfo_Proxy(
  561. ICondition2* This,
  562. PROPERTYKEY *ppropkey,
  563. CONDITION_OPERATION *pcop,
  564. PROPVARIANT *ppropvar);
  565. HRESULT __RPC_STUB ICondition2_GetLeafConditionInfo_Stub(
  566. ICondition2* This,
  567. PROPERTYKEY *ppropkey,
  568. CONDITION_OPERATION *pcop,
  569. PROPVARIANT *ppropvar);
  570. #endif /* __ICondition2_INTERFACE_DEFINED__ */
  571. #endif
  572. /* Begin additional prototypes for all interfaces */
  573. ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
  574. unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
  575. unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
  576. void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
  577. ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *);
  578. unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *);
  579. unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
  580. void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *);
  581. /* End additional prototypes */
  582. #ifdef __cplusplus
  583. }
  584. #endif
  585. #endif /* __structuredquerycondition_h__ */