1 /*** Autogenerated by WIDL 6.4 from include/propsys.idl - Do not edit ***/ 2 3 #ifdef _WIN32 4 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 5 #define __REQUIRED_RPCNDR_H_VERSION__ 475 6 #endif 7 #include <rpc.h> 8 #include <rpcndr.h> 9 #endif 10 11 #ifndef COM_NO_WINDOWS_H 12 #include <windows.h> 13 #include <ole2.h> 14 #endif 15 16 #ifndef __propsys_h__ 17 #define __propsys_h__ 18 19 /* Forward declarations */ 20 21 #ifndef __IInitializeWithFile_FWD_DEFINED__ 22 #define __IInitializeWithFile_FWD_DEFINED__ 23 typedef interface IInitializeWithFile IInitializeWithFile; 24 #ifdef __cplusplus 25 interface IInitializeWithFile; 26 #endif /* __cplusplus */ 27 #endif 28 29 #ifndef __IInitializeWithStream_FWD_DEFINED__ 30 #define __IInitializeWithStream_FWD_DEFINED__ 31 typedef interface IInitializeWithStream IInitializeWithStream; 32 #ifdef __cplusplus 33 interface IInitializeWithStream; 34 #endif /* __cplusplus */ 35 #endif 36 37 #ifndef __IPropertyStore_FWD_DEFINED__ 38 #define __IPropertyStore_FWD_DEFINED__ 39 typedef interface IPropertyStore IPropertyStore; 40 #ifdef __cplusplus 41 interface IPropertyStore; 42 #endif /* __cplusplus */ 43 #endif 44 45 #ifndef __INamedPropertyStore_FWD_DEFINED__ 46 #define __INamedPropertyStore_FWD_DEFINED__ 47 typedef interface INamedPropertyStore INamedPropertyStore; 48 #ifdef __cplusplus 49 interface INamedPropertyStore; 50 #endif /* __cplusplus */ 51 #endif 52 53 #ifndef __IObjectWithPropertyKey_FWD_DEFINED__ 54 #define __IObjectWithPropertyKey_FWD_DEFINED__ 55 typedef interface IObjectWithPropertyKey IObjectWithPropertyKey; 56 #ifdef __cplusplus 57 interface IObjectWithPropertyKey; 58 #endif /* __cplusplus */ 59 #endif 60 61 #ifndef __IPropertyChange_FWD_DEFINED__ 62 #define __IPropertyChange_FWD_DEFINED__ 63 typedef interface IPropertyChange IPropertyChange; 64 #ifdef __cplusplus 65 interface IPropertyChange; 66 #endif /* __cplusplus */ 67 #endif 68 69 #ifndef __IPropertyChangeArray_FWD_DEFINED__ 70 #define __IPropertyChangeArray_FWD_DEFINED__ 71 typedef interface IPropertyChangeArray IPropertyChangeArray; 72 #ifdef __cplusplus 73 interface IPropertyChangeArray; 74 #endif /* __cplusplus */ 75 #endif 76 77 #ifndef __IPropertyStoreCapabilities_FWD_DEFINED__ 78 #define __IPropertyStoreCapabilities_FWD_DEFINED__ 79 typedef interface IPropertyStoreCapabilities IPropertyStoreCapabilities; 80 #ifdef __cplusplus 81 interface IPropertyStoreCapabilities; 82 #endif /* __cplusplus */ 83 #endif 84 85 #ifndef __IPropertyStoreCache_FWD_DEFINED__ 86 #define __IPropertyStoreCache_FWD_DEFINED__ 87 typedef interface IPropertyStoreCache IPropertyStoreCache; 88 #ifdef __cplusplus 89 interface IPropertyStoreCache; 90 #endif /* __cplusplus */ 91 #endif 92 93 #ifndef __IPropertyEnumType_FWD_DEFINED__ 94 #define __IPropertyEnumType_FWD_DEFINED__ 95 typedef interface IPropertyEnumType IPropertyEnumType; 96 #ifdef __cplusplus 97 interface IPropertyEnumType; 98 #endif /* __cplusplus */ 99 #endif 100 101 #ifndef __IPropertyEnumType2_FWD_DEFINED__ 102 #define __IPropertyEnumType2_FWD_DEFINED__ 103 typedef interface IPropertyEnumType2 IPropertyEnumType2; 104 #ifdef __cplusplus 105 interface IPropertyEnumType2; 106 #endif /* __cplusplus */ 107 #endif 108 109 #ifndef __IPropertyEnumTypeList_FWD_DEFINED__ 110 #define __IPropertyEnumTypeList_FWD_DEFINED__ 111 typedef interface IPropertyEnumTypeList IPropertyEnumTypeList; 112 #ifdef __cplusplus 113 interface IPropertyEnumTypeList; 114 #endif /* __cplusplus */ 115 #endif 116 117 #ifndef __IPropertyDescription_FWD_DEFINED__ 118 #define __IPropertyDescription_FWD_DEFINED__ 119 typedef interface IPropertyDescription IPropertyDescription; 120 #ifdef __cplusplus 121 interface IPropertyDescription; 122 #endif /* __cplusplus */ 123 #endif 124 125 #ifndef __IPropertyDescription2_FWD_DEFINED__ 126 #define __IPropertyDescription2_FWD_DEFINED__ 127 typedef interface IPropertyDescription2 IPropertyDescription2; 128 #ifdef __cplusplus 129 interface IPropertyDescription2; 130 #endif /* __cplusplus */ 131 #endif 132 133 #ifndef __IPropertyDescriptionAliasInfo_FWD_DEFINED__ 134 #define __IPropertyDescriptionAliasInfo_FWD_DEFINED__ 135 typedef interface IPropertyDescriptionAliasInfo IPropertyDescriptionAliasInfo; 136 #ifdef __cplusplus 137 interface IPropertyDescriptionAliasInfo; 138 #endif /* __cplusplus */ 139 #endif 140 141 #ifndef __IPropertyDescriptionSearchInfo_FWD_DEFINED__ 142 #define __IPropertyDescriptionSearchInfo_FWD_DEFINED__ 143 typedef interface IPropertyDescriptionSearchInfo IPropertyDescriptionSearchInfo; 144 #ifdef __cplusplus 145 interface IPropertyDescriptionSearchInfo; 146 #endif /* __cplusplus */ 147 #endif 148 149 #ifndef __IPropertyDescriptionRelatedPropertyInfo_FWD_DEFINED__ 150 #define __IPropertyDescriptionRelatedPropertyInfo_FWD_DEFINED__ 151 typedef interface IPropertyDescriptionRelatedPropertyInfo IPropertyDescriptionRelatedPropertyInfo; 152 #ifdef __cplusplus 153 interface IPropertyDescriptionRelatedPropertyInfo; 154 #endif /* __cplusplus */ 155 #endif 156 157 #ifndef __IPropertySystem_FWD_DEFINED__ 158 #define __IPropertySystem_FWD_DEFINED__ 159 typedef interface IPropertySystem IPropertySystem; 160 #ifdef __cplusplus 161 interface IPropertySystem; 162 #endif /* __cplusplus */ 163 #endif 164 165 #ifndef __IPropertyDescriptionList_FWD_DEFINED__ 166 #define __IPropertyDescriptionList_FWD_DEFINED__ 167 typedef interface IPropertyDescriptionList IPropertyDescriptionList; 168 #ifdef __cplusplus 169 interface IPropertyDescriptionList; 170 #endif /* __cplusplus */ 171 #endif 172 173 #ifndef __IPropertyStoreFactory_FWD_DEFINED__ 174 #define __IPropertyStoreFactory_FWD_DEFINED__ 175 typedef interface IPropertyStoreFactory IPropertyStoreFactory; 176 #ifdef __cplusplus 177 interface IPropertyStoreFactory; 178 #endif /* __cplusplus */ 179 #endif 180 181 #ifndef __IDelayedPropertyStoreFactory_FWD_DEFINED__ 182 #define __IDelayedPropertyStoreFactory_FWD_DEFINED__ 183 typedef interface IDelayedPropertyStoreFactory IDelayedPropertyStoreFactory; 184 #ifdef __cplusplus 185 interface IDelayedPropertyStoreFactory; 186 #endif /* __cplusplus */ 187 #endif 188 189 #ifndef __IPersistSerializedPropStorage_FWD_DEFINED__ 190 #define __IPersistSerializedPropStorage_FWD_DEFINED__ 191 typedef interface IPersistSerializedPropStorage IPersistSerializedPropStorage; 192 #ifdef __cplusplus 193 interface IPersistSerializedPropStorage; 194 #endif /* __cplusplus */ 195 #endif 196 197 #ifndef __IPersistSerializedPropStorage2_FWD_DEFINED__ 198 #define __IPersistSerializedPropStorage2_FWD_DEFINED__ 199 typedef interface IPersistSerializedPropStorage2 IPersistSerializedPropStorage2; 200 #ifdef __cplusplus 201 interface IPersistSerializedPropStorage2; 202 #endif /* __cplusplus */ 203 #endif 204 205 #ifndef __IPropertySystemChangeNotify_FWD_DEFINED__ 206 #define __IPropertySystemChangeNotify_FWD_DEFINED__ 207 typedef interface IPropertySystemChangeNotify IPropertySystemChangeNotify; 208 #ifdef __cplusplus 209 interface IPropertySystemChangeNotify; 210 #endif /* __cplusplus */ 211 #endif 212 213 #ifndef __ICreateObject_FWD_DEFINED__ 214 #define __ICreateObject_FWD_DEFINED__ 215 typedef interface ICreateObject ICreateObject; 216 #ifdef __cplusplus 217 interface ICreateObject; 218 #endif /* __cplusplus */ 219 #endif 220 221 #ifndef __InMemoryPropertyStore_FWD_DEFINED__ 222 #define __InMemoryPropertyStore_FWD_DEFINED__ 223 #ifdef __cplusplus 224 typedef class InMemoryPropertyStore InMemoryPropertyStore; 225 #else 226 typedef struct InMemoryPropertyStore InMemoryPropertyStore; 227 #endif /* defined __cplusplus */ 228 #endif /* defined __InMemoryPropertyStore_FWD_DEFINED__ */ 229 230 #ifndef __PropertySystem_FWD_DEFINED__ 231 #define __PropertySystem_FWD_DEFINED__ 232 #ifdef __cplusplus 233 typedef class PropertySystem PropertySystem; 234 #else 235 typedef struct PropertySystem PropertySystem; 236 #endif /* defined __cplusplus */ 237 #endif /* defined __PropertySystem_FWD_DEFINED__ */ 238 239 /* Headers for imported files */ 240 241 #include <objidl.h> 242 #include <oleidl.h> 243 #include <ocidl.h> 244 #include <shtypes.h> 245 #include <structuredquerycondition.h> 246 247 #ifdef __cplusplus 248 extern "C" { 249 #endif 250 251 /** 252 * This file is part of the mingw-w64 runtime package. 253 * No warranty is given; refer to the file DISCLAIMER within this package. 254 */ 255 256 #include <winapifamily.h> 257 258 259 #ifndef PSSTDAPI 260 #ifdef _PROPSYS_ 261 #define PSSTDAPI STDAPI 262 #define PSSTDAPI_(type) STDAPI_(type) 263 #else 264 #define PSSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE 265 #define PSSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE 266 #endif 267 #endif 268 269 #if 0 270 typedef PROPERTYKEY *REFPROPERTYKEY; 271 #endif 272 273 #include <propkeydef.h> 274 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 275 /***************************************************************************** 276 * IInitializeWithFile interface 277 */ 278 #ifndef __IInitializeWithFile_INTERFACE_DEFINED__ 279 #define __IInitializeWithFile_INTERFACE_DEFINED__ 280 281 DEFINE_GUID(IID_IInitializeWithFile, 0xb7d14566, 0x0509, 0x4cce, 0xa7,0x1f, 0x0a,0x55,0x42,0x33,0xbd,0x9b); 282 #if defined(__cplusplus) && !defined(CINTERFACE) 283 MIDL_INTERFACE("b7d14566-0509-4cce-a71f-0a554233bd9b") 284 IInitializeWithFile : public IUnknown 285 { 286 virtual HRESULT STDMETHODCALLTYPE Initialize( 287 LPCWSTR pszFilePath, 288 DWORD grfMode) = 0; 289 290 }; 291 #ifdef __CRT_UUID_DECL 292 __CRT_UUID_DECL(IInitializeWithFile, 0xb7d14566, 0x0509, 0x4cce, 0xa7,0x1f, 0x0a,0x55,0x42,0x33,0xbd,0x9b) 293 #endif 294 #else 295 typedef struct IInitializeWithFileVtbl { 296 BEGIN_INTERFACE 297 298 /*** IUnknown methods ***/ 299 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 300 IInitializeWithFile *This, 301 REFIID riid, 302 void **ppvObject); 303 304 ULONG (STDMETHODCALLTYPE *AddRef)( 305 IInitializeWithFile *This); 306 307 ULONG (STDMETHODCALLTYPE *Release)( 308 IInitializeWithFile *This); 309 310 /*** IInitializeWithFile methods ***/ 311 HRESULT (STDMETHODCALLTYPE *Initialize)( 312 IInitializeWithFile *This, 313 LPCWSTR pszFilePath, 314 DWORD grfMode); 315 316 END_INTERFACE 317 } IInitializeWithFileVtbl; 318 319 interface IInitializeWithFile { 320 CONST_VTBL IInitializeWithFileVtbl* lpVtbl; 321 }; 322 323 #ifdef COBJMACROS 324 #ifndef WIDL_C_INLINE_WRAPPERS 325 /*** IUnknown methods ***/ 326 #define IInitializeWithFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 327 #define IInitializeWithFile_AddRef(This) (This)->lpVtbl->AddRef(This) 328 #define IInitializeWithFile_Release(This) (This)->lpVtbl->Release(This) 329 /*** IInitializeWithFile methods ***/ 330 #define IInitializeWithFile_Initialize(This,pszFilePath,grfMode) (This)->lpVtbl->Initialize(This,pszFilePath,grfMode) 331 #else 332 /*** IUnknown methods ***/ 333 static FORCEINLINE HRESULT IInitializeWithFile_QueryInterface(IInitializeWithFile* This,REFIID riid,void **ppvObject) { 334 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 335 } 336 static FORCEINLINE ULONG IInitializeWithFile_AddRef(IInitializeWithFile* This) { 337 return This->lpVtbl->AddRef(This); 338 } 339 static FORCEINLINE ULONG IInitializeWithFile_Release(IInitializeWithFile* This) { 340 return This->lpVtbl->Release(This); 341 } 342 /*** IInitializeWithFile methods ***/ 343 static FORCEINLINE HRESULT IInitializeWithFile_Initialize(IInitializeWithFile* This,LPCWSTR pszFilePath,DWORD grfMode) { 344 return This->lpVtbl->Initialize(This,pszFilePath,grfMode); 345 } 346 #endif 347 #endif 348 349 #endif 350 351 352 #endif /* __IInitializeWithFile_INTERFACE_DEFINED__ */ 353 354 355 /***************************************************************************** 356 * IInitializeWithStream interface 357 */ 358 #ifndef __IInitializeWithStream_INTERFACE_DEFINED__ 359 #define __IInitializeWithStream_INTERFACE_DEFINED__ 360 361 DEFINE_GUID(IID_IInitializeWithStream, 0xb824b49d, 0x22ac, 0x4161, 0xac,0x8a, 0x99,0x16,0xe8,0xfa,0x3f,0x7f); 362 #if defined(__cplusplus) && !defined(CINTERFACE) 363 MIDL_INTERFACE("b824b49d-22ac-4161-ac8a-9916e8fa3f7f") 364 IInitializeWithStream : public IUnknown 365 { 366 virtual HRESULT STDMETHODCALLTYPE Initialize( 367 IStream *pstream, 368 DWORD grfMode) = 0; 369 370 }; 371 #ifdef __CRT_UUID_DECL 372 __CRT_UUID_DECL(IInitializeWithStream, 0xb824b49d, 0x22ac, 0x4161, 0xac,0x8a, 0x99,0x16,0xe8,0xfa,0x3f,0x7f) 373 #endif 374 #else 375 typedef struct IInitializeWithStreamVtbl { 376 BEGIN_INTERFACE 377 378 /*** IUnknown methods ***/ 379 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 380 IInitializeWithStream *This, 381 REFIID riid, 382 void **ppvObject); 383 384 ULONG (STDMETHODCALLTYPE *AddRef)( 385 IInitializeWithStream *This); 386 387 ULONG (STDMETHODCALLTYPE *Release)( 388 IInitializeWithStream *This); 389 390 /*** IInitializeWithStream methods ***/ 391 HRESULT (STDMETHODCALLTYPE *Initialize)( 392 IInitializeWithStream *This, 393 IStream *pstream, 394 DWORD grfMode); 395 396 END_INTERFACE 397 } IInitializeWithStreamVtbl; 398 399 interface IInitializeWithStream { 400 CONST_VTBL IInitializeWithStreamVtbl* lpVtbl; 401 }; 402 403 #ifdef COBJMACROS 404 #ifndef WIDL_C_INLINE_WRAPPERS 405 /*** IUnknown methods ***/ 406 #define IInitializeWithStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 407 #define IInitializeWithStream_AddRef(This) (This)->lpVtbl->AddRef(This) 408 #define IInitializeWithStream_Release(This) (This)->lpVtbl->Release(This) 409 /*** IInitializeWithStream methods ***/ 410 #define IInitializeWithStream_Initialize(This,pstream,grfMode) (This)->lpVtbl->Initialize(This,pstream,grfMode) 411 #else 412 /*** IUnknown methods ***/ 413 static FORCEINLINE HRESULT IInitializeWithStream_QueryInterface(IInitializeWithStream* This,REFIID riid,void **ppvObject) { 414 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 415 } 416 static FORCEINLINE ULONG IInitializeWithStream_AddRef(IInitializeWithStream* This) { 417 return This->lpVtbl->AddRef(This); 418 } 419 static FORCEINLINE ULONG IInitializeWithStream_Release(IInitializeWithStream* This) { 420 return This->lpVtbl->Release(This); 421 } 422 /*** IInitializeWithStream methods ***/ 423 static FORCEINLINE HRESULT IInitializeWithStream_Initialize(IInitializeWithStream* This,IStream *pstream,DWORD grfMode) { 424 return This->lpVtbl->Initialize(This,pstream,grfMode); 425 } 426 #endif 427 #endif 428 429 #endif 430 431 HRESULT STDMETHODCALLTYPE IInitializeWithStream_RemoteInitialize_Proxy( 432 IInitializeWithStream* This, 433 IStream *pstream, 434 DWORD grfMode); 435 void __RPC_STUB IInitializeWithStream_RemoteInitialize_Stub( 436 IRpcStubBuffer* This, 437 IRpcChannelBuffer* pRpcChannelBuffer, 438 PRPC_MESSAGE pRpcMessage, 439 DWORD* pdwStubPhase); 440 HRESULT CALLBACK IInitializeWithStream_Initialize_Proxy( 441 IInitializeWithStream* This, 442 IStream *pstream, 443 DWORD grfMode); 444 HRESULT __RPC_STUB IInitializeWithStream_Initialize_Stub( 445 IInitializeWithStream* This, 446 IStream *pstream, 447 DWORD grfMode); 448 449 #endif /* __IInitializeWithStream_INTERFACE_DEFINED__ */ 450 451 #endif 452 453 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 454 /***************************************************************************** 455 * IPropertyStore interface 456 */ 457 #ifndef __IPropertyStore_INTERFACE_DEFINED__ 458 #define __IPropertyStore_INTERFACE_DEFINED__ 459 460 DEFINE_GUID(IID_IPropertyStore, 0x886d8eeb, 0x8cf2, 0x4446, 0x8d,0x02, 0xcd,0xba,0x1d,0xbd,0xcf,0x99); 461 #if defined(__cplusplus) && !defined(CINTERFACE) 462 MIDL_INTERFACE("886d8eeb-8cf2-4446-8d02-cdba1dbdcf99") 463 IPropertyStore : public IUnknown 464 { 465 virtual HRESULT STDMETHODCALLTYPE GetCount( 466 DWORD *cProps) = 0; 467 468 virtual HRESULT STDMETHODCALLTYPE GetAt( 469 DWORD iProp, 470 PROPERTYKEY *pkey) = 0; 471 472 virtual HRESULT STDMETHODCALLTYPE GetValue( 473 REFPROPERTYKEY key, 474 PROPVARIANT *pv) = 0; 475 476 virtual HRESULT STDMETHODCALLTYPE SetValue( 477 REFPROPERTYKEY key, 478 REFPROPVARIANT propvar) = 0; 479 480 virtual HRESULT STDMETHODCALLTYPE Commit( 481 ) = 0; 482 483 }; 484 #ifdef __CRT_UUID_DECL 485 __CRT_UUID_DECL(IPropertyStore, 0x886d8eeb, 0x8cf2, 0x4446, 0x8d,0x02, 0xcd,0xba,0x1d,0xbd,0xcf,0x99) 486 #endif 487 #else 488 typedef struct IPropertyStoreVtbl { 489 BEGIN_INTERFACE 490 491 /*** IUnknown methods ***/ 492 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 493 IPropertyStore *This, 494 REFIID riid, 495 void **ppvObject); 496 497 ULONG (STDMETHODCALLTYPE *AddRef)( 498 IPropertyStore *This); 499 500 ULONG (STDMETHODCALLTYPE *Release)( 501 IPropertyStore *This); 502 503 /*** IPropertyStore methods ***/ 504 HRESULT (STDMETHODCALLTYPE *GetCount)( 505 IPropertyStore *This, 506 DWORD *cProps); 507 508 HRESULT (STDMETHODCALLTYPE *GetAt)( 509 IPropertyStore *This, 510 DWORD iProp, 511 PROPERTYKEY *pkey); 512 513 HRESULT (STDMETHODCALLTYPE *GetValue)( 514 IPropertyStore *This, 515 REFPROPERTYKEY key, 516 PROPVARIANT *pv); 517 518 HRESULT (STDMETHODCALLTYPE *SetValue)( 519 IPropertyStore *This, 520 REFPROPERTYKEY key, 521 REFPROPVARIANT propvar); 522 523 HRESULT (STDMETHODCALLTYPE *Commit)( 524 IPropertyStore *This); 525 526 END_INTERFACE 527 } IPropertyStoreVtbl; 528 529 interface IPropertyStore { 530 CONST_VTBL IPropertyStoreVtbl* lpVtbl; 531 }; 532 533 #ifdef COBJMACROS 534 #ifndef WIDL_C_INLINE_WRAPPERS 535 /*** IUnknown methods ***/ 536 #define IPropertyStore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 537 #define IPropertyStore_AddRef(This) (This)->lpVtbl->AddRef(This) 538 #define IPropertyStore_Release(This) (This)->lpVtbl->Release(This) 539 /*** IPropertyStore methods ***/ 540 #define IPropertyStore_GetCount(This,cProps) (This)->lpVtbl->GetCount(This,cProps) 541 #define IPropertyStore_GetAt(This,iProp,pkey) (This)->lpVtbl->GetAt(This,iProp,pkey) 542 #define IPropertyStore_GetValue(This,key,pv) (This)->lpVtbl->GetValue(This,key,pv) 543 #define IPropertyStore_SetValue(This,key,propvar) (This)->lpVtbl->SetValue(This,key,propvar) 544 #define IPropertyStore_Commit(This) (This)->lpVtbl->Commit(This) 545 #else 546 /*** IUnknown methods ***/ 547 static FORCEINLINE HRESULT IPropertyStore_QueryInterface(IPropertyStore* This,REFIID riid,void **ppvObject) { 548 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 549 } 550 static FORCEINLINE ULONG IPropertyStore_AddRef(IPropertyStore* This) { 551 return This->lpVtbl->AddRef(This); 552 } 553 static FORCEINLINE ULONG IPropertyStore_Release(IPropertyStore* This) { 554 return This->lpVtbl->Release(This); 555 } 556 /*** IPropertyStore methods ***/ 557 static FORCEINLINE HRESULT IPropertyStore_GetCount(IPropertyStore* This,DWORD *cProps) { 558 return This->lpVtbl->GetCount(This,cProps); 559 } 560 static FORCEINLINE HRESULT IPropertyStore_GetAt(IPropertyStore* This,DWORD iProp,PROPERTYKEY *pkey) { 561 return This->lpVtbl->GetAt(This,iProp,pkey); 562 } 563 static FORCEINLINE HRESULT IPropertyStore_GetValue(IPropertyStore* This,REFPROPERTYKEY key,PROPVARIANT *pv) { 564 return This->lpVtbl->GetValue(This,key,pv); 565 } 566 static FORCEINLINE HRESULT IPropertyStore_SetValue(IPropertyStore* This,REFPROPERTYKEY key,REFPROPVARIANT propvar) { 567 return This->lpVtbl->SetValue(This,key,propvar); 568 } 569 static FORCEINLINE HRESULT IPropertyStore_Commit(IPropertyStore* This) { 570 return This->lpVtbl->Commit(This); 571 } 572 #endif 573 #endif 574 575 #endif 576 577 578 #endif /* __IPropertyStore_INTERFACE_DEFINED__ */ 579 580 581 typedef IPropertyStore *LPPROPERTYSTORE; 582 #endif 583 584 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 585 /***************************************************************************** 586 * INamedPropertyStore interface 587 */ 588 #ifndef __INamedPropertyStore_INTERFACE_DEFINED__ 589 #define __INamedPropertyStore_INTERFACE_DEFINED__ 590 591 DEFINE_GUID(IID_INamedPropertyStore, 0x71604b0f, 0x97b0, 0x4764, 0x85,0x77, 0x2f,0x13,0xe9,0x8a,0x14,0x22); 592 #if defined(__cplusplus) && !defined(CINTERFACE) 593 MIDL_INTERFACE("71604b0f-97b0-4764-8577-2f13e98a1422") 594 INamedPropertyStore : public IUnknown 595 { 596 virtual HRESULT STDMETHODCALLTYPE GetNamedValue( 597 LPCWSTR pszName, 598 PROPVARIANT *ppropvar) = 0; 599 600 virtual HRESULT STDMETHODCALLTYPE SetNamedValue( 601 LPCWSTR pszName, 602 REFPROPVARIANT propvar) = 0; 603 604 virtual HRESULT STDMETHODCALLTYPE GetNameCount( 605 DWORD *pdwCount) = 0; 606 607 virtual HRESULT STDMETHODCALLTYPE GetNameAt( 608 DWORD iProp, 609 BSTR *pbstrName) = 0; 610 611 }; 612 #ifdef __CRT_UUID_DECL 613 __CRT_UUID_DECL(INamedPropertyStore, 0x71604b0f, 0x97b0, 0x4764, 0x85,0x77, 0x2f,0x13,0xe9,0x8a,0x14,0x22) 614 #endif 615 #else 616 typedef struct INamedPropertyStoreVtbl { 617 BEGIN_INTERFACE 618 619 /*** IUnknown methods ***/ 620 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 621 INamedPropertyStore *This, 622 REFIID riid, 623 void **ppvObject); 624 625 ULONG (STDMETHODCALLTYPE *AddRef)( 626 INamedPropertyStore *This); 627 628 ULONG (STDMETHODCALLTYPE *Release)( 629 INamedPropertyStore *This); 630 631 /*** INamedPropertyStore methods ***/ 632 HRESULT (STDMETHODCALLTYPE *GetNamedValue)( 633 INamedPropertyStore *This, 634 LPCWSTR pszName, 635 PROPVARIANT *ppropvar); 636 637 HRESULT (STDMETHODCALLTYPE *SetNamedValue)( 638 INamedPropertyStore *This, 639 LPCWSTR pszName, 640 REFPROPVARIANT propvar); 641 642 HRESULT (STDMETHODCALLTYPE *GetNameCount)( 643 INamedPropertyStore *This, 644 DWORD *pdwCount); 645 646 HRESULT (STDMETHODCALLTYPE *GetNameAt)( 647 INamedPropertyStore *This, 648 DWORD iProp, 649 BSTR *pbstrName); 650 651 END_INTERFACE 652 } INamedPropertyStoreVtbl; 653 654 interface INamedPropertyStore { 655 CONST_VTBL INamedPropertyStoreVtbl* lpVtbl; 656 }; 657 658 #ifdef COBJMACROS 659 #ifndef WIDL_C_INLINE_WRAPPERS 660 /*** IUnknown methods ***/ 661 #define INamedPropertyStore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 662 #define INamedPropertyStore_AddRef(This) (This)->lpVtbl->AddRef(This) 663 #define INamedPropertyStore_Release(This) (This)->lpVtbl->Release(This) 664 /*** INamedPropertyStore methods ***/ 665 #define INamedPropertyStore_GetNamedValue(This,pszName,ppropvar) (This)->lpVtbl->GetNamedValue(This,pszName,ppropvar) 666 #define INamedPropertyStore_SetNamedValue(This,pszName,propvar) (This)->lpVtbl->SetNamedValue(This,pszName,propvar) 667 #define INamedPropertyStore_GetNameCount(This,pdwCount) (This)->lpVtbl->GetNameCount(This,pdwCount) 668 #define INamedPropertyStore_GetNameAt(This,iProp,pbstrName) (This)->lpVtbl->GetNameAt(This,iProp,pbstrName) 669 #else 670 /*** IUnknown methods ***/ 671 static FORCEINLINE HRESULT INamedPropertyStore_QueryInterface(INamedPropertyStore* This,REFIID riid,void **ppvObject) { 672 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 673 } 674 static FORCEINLINE ULONG INamedPropertyStore_AddRef(INamedPropertyStore* This) { 675 return This->lpVtbl->AddRef(This); 676 } 677 static FORCEINLINE ULONG INamedPropertyStore_Release(INamedPropertyStore* This) { 678 return This->lpVtbl->Release(This); 679 } 680 /*** INamedPropertyStore methods ***/ 681 static FORCEINLINE HRESULT INamedPropertyStore_GetNamedValue(INamedPropertyStore* This,LPCWSTR pszName,PROPVARIANT *ppropvar) { 682 return This->lpVtbl->GetNamedValue(This,pszName,ppropvar); 683 } 684 static FORCEINLINE HRESULT INamedPropertyStore_SetNamedValue(INamedPropertyStore* This,LPCWSTR pszName,REFPROPVARIANT propvar) { 685 return This->lpVtbl->SetNamedValue(This,pszName,propvar); 686 } 687 static FORCEINLINE HRESULT INamedPropertyStore_GetNameCount(INamedPropertyStore* This,DWORD *pdwCount) { 688 return This->lpVtbl->GetNameCount(This,pdwCount); 689 } 690 static FORCEINLINE HRESULT INamedPropertyStore_GetNameAt(INamedPropertyStore* This,DWORD iProp,BSTR *pbstrName) { 691 return This->lpVtbl->GetNameAt(This,iProp,pbstrName); 692 } 693 #endif 694 #endif 695 696 #endif 697 698 699 #endif /* __INamedPropertyStore_INTERFACE_DEFINED__ */ 700 701 702 typedef enum GETPROPERTYSTOREFLAGS { 703 GPS_DEFAULT = 0x0, 704 GPS_HANDLERPROPERTIESONLY = 0x1, 705 GPS_READWRITE = 0x2, 706 GPS_TEMPORARY = 0x4, 707 GPS_FASTPROPERTIESONLY = 0x8, 708 GPS_OPENSLOWITEM = 0x10, 709 GPS_DELAYCREATION = 0x20, 710 GPS_BESTEFFORT = 0x40, 711 GPS_NO_OPLOCK = 0x80, 712 GPS_PREFERQUERYPROPERTIES = 0x100, 713 GPS_MASK_VALID = 0x1ff 714 } GETPROPERTYSTOREFLAGS; 715 716 DEFINE_ENUM_FLAG_OPERATORS(GETPROPERTYSTOREFLAGS) 717 718 /***************************************************************************** 719 * IObjectWithPropertyKey interface 720 */ 721 #ifndef __IObjectWithPropertyKey_INTERFACE_DEFINED__ 722 #define __IObjectWithPropertyKey_INTERFACE_DEFINED__ 723 724 DEFINE_GUID(IID_IObjectWithPropertyKey, 0xfc0ca0a7, 0xc316, 0x4fd2, 0x90,0x31, 0x3e,0x62,0x8e,0x6d,0x4f,0x23); 725 #if defined(__cplusplus) && !defined(CINTERFACE) 726 MIDL_INTERFACE("fc0ca0a7-c316-4fd2-9031-3e628e6d4f23") 727 IObjectWithPropertyKey : public IUnknown 728 { 729 virtual HRESULT STDMETHODCALLTYPE SetPropertyKey( 730 REFPROPERTYKEY key) = 0; 731 732 virtual HRESULT STDMETHODCALLTYPE GetPropertyKey( 733 PROPERTYKEY *pkey) = 0; 734 735 }; 736 #ifdef __CRT_UUID_DECL 737 __CRT_UUID_DECL(IObjectWithPropertyKey, 0xfc0ca0a7, 0xc316, 0x4fd2, 0x90,0x31, 0x3e,0x62,0x8e,0x6d,0x4f,0x23) 738 #endif 739 #else 740 typedef struct IObjectWithPropertyKeyVtbl { 741 BEGIN_INTERFACE 742 743 /*** IUnknown methods ***/ 744 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 745 IObjectWithPropertyKey *This, 746 REFIID riid, 747 void **ppvObject); 748 749 ULONG (STDMETHODCALLTYPE *AddRef)( 750 IObjectWithPropertyKey *This); 751 752 ULONG (STDMETHODCALLTYPE *Release)( 753 IObjectWithPropertyKey *This); 754 755 /*** IObjectWithPropertyKey methods ***/ 756 HRESULT (STDMETHODCALLTYPE *SetPropertyKey)( 757 IObjectWithPropertyKey *This, 758 REFPROPERTYKEY key); 759 760 HRESULT (STDMETHODCALLTYPE *GetPropertyKey)( 761 IObjectWithPropertyKey *This, 762 PROPERTYKEY *pkey); 763 764 END_INTERFACE 765 } IObjectWithPropertyKeyVtbl; 766 767 interface IObjectWithPropertyKey { 768 CONST_VTBL IObjectWithPropertyKeyVtbl* lpVtbl; 769 }; 770 771 #ifdef COBJMACROS 772 #ifndef WIDL_C_INLINE_WRAPPERS 773 /*** IUnknown methods ***/ 774 #define IObjectWithPropertyKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 775 #define IObjectWithPropertyKey_AddRef(This) (This)->lpVtbl->AddRef(This) 776 #define IObjectWithPropertyKey_Release(This) (This)->lpVtbl->Release(This) 777 /*** IObjectWithPropertyKey methods ***/ 778 #define IObjectWithPropertyKey_SetPropertyKey(This,key) (This)->lpVtbl->SetPropertyKey(This,key) 779 #define IObjectWithPropertyKey_GetPropertyKey(This,pkey) (This)->lpVtbl->GetPropertyKey(This,pkey) 780 #else 781 /*** IUnknown methods ***/ 782 static FORCEINLINE HRESULT IObjectWithPropertyKey_QueryInterface(IObjectWithPropertyKey* This,REFIID riid,void **ppvObject) { 783 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 784 } 785 static FORCEINLINE ULONG IObjectWithPropertyKey_AddRef(IObjectWithPropertyKey* This) { 786 return This->lpVtbl->AddRef(This); 787 } 788 static FORCEINLINE ULONG IObjectWithPropertyKey_Release(IObjectWithPropertyKey* This) { 789 return This->lpVtbl->Release(This); 790 } 791 /*** IObjectWithPropertyKey methods ***/ 792 static FORCEINLINE HRESULT IObjectWithPropertyKey_SetPropertyKey(IObjectWithPropertyKey* This,REFPROPERTYKEY key) { 793 return This->lpVtbl->SetPropertyKey(This,key); 794 } 795 static FORCEINLINE HRESULT IObjectWithPropertyKey_GetPropertyKey(IObjectWithPropertyKey* This,PROPERTYKEY *pkey) { 796 return This->lpVtbl->GetPropertyKey(This,pkey); 797 } 798 #endif 799 #endif 800 801 #endif 802 803 804 #endif /* __IObjectWithPropertyKey_INTERFACE_DEFINED__ */ 805 806 807 typedef enum PKA_FLAGS { 808 PKA_SET = 0, 809 PKA_APPEND = 1, 810 PKA_DELETE = 2 811 } PKA_FLAGS; 812 813 /***************************************************************************** 814 * IPropertyChange interface 815 */ 816 #ifndef __IPropertyChange_INTERFACE_DEFINED__ 817 #define __IPropertyChange_INTERFACE_DEFINED__ 818 819 DEFINE_GUID(IID_IPropertyChange, 0xf917bc8a, 0x1bba, 0x4478, 0xa2,0x45, 0x1b,0xde,0x03,0xeb,0x94,0x31); 820 #if defined(__cplusplus) && !defined(CINTERFACE) 821 MIDL_INTERFACE("f917bc8a-1bba-4478-a245-1bde03eb9431") 822 IPropertyChange : public IObjectWithPropertyKey 823 { 824 virtual HRESULT STDMETHODCALLTYPE ApplyToPropVariant( 825 REFPROPVARIANT propvarIn, 826 PROPVARIANT *ppropvarOut) = 0; 827 828 }; 829 #ifdef __CRT_UUID_DECL 830 __CRT_UUID_DECL(IPropertyChange, 0xf917bc8a, 0x1bba, 0x4478, 0xa2,0x45, 0x1b,0xde,0x03,0xeb,0x94,0x31) 831 #endif 832 #else 833 typedef struct IPropertyChangeVtbl { 834 BEGIN_INTERFACE 835 836 /*** IUnknown methods ***/ 837 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 838 IPropertyChange *This, 839 REFIID riid, 840 void **ppvObject); 841 842 ULONG (STDMETHODCALLTYPE *AddRef)( 843 IPropertyChange *This); 844 845 ULONG (STDMETHODCALLTYPE *Release)( 846 IPropertyChange *This); 847 848 /*** IObjectWithPropertyKey methods ***/ 849 HRESULT (STDMETHODCALLTYPE *SetPropertyKey)( 850 IPropertyChange *This, 851 REFPROPERTYKEY key); 852 853 HRESULT (STDMETHODCALLTYPE *GetPropertyKey)( 854 IPropertyChange *This, 855 PROPERTYKEY *pkey); 856 857 /*** IPropertyChange methods ***/ 858 HRESULT (STDMETHODCALLTYPE *ApplyToPropVariant)( 859 IPropertyChange *This, 860 REFPROPVARIANT propvarIn, 861 PROPVARIANT *ppropvarOut); 862 863 END_INTERFACE 864 } IPropertyChangeVtbl; 865 866 interface IPropertyChange { 867 CONST_VTBL IPropertyChangeVtbl* lpVtbl; 868 }; 869 870 #ifdef COBJMACROS 871 #ifndef WIDL_C_INLINE_WRAPPERS 872 /*** IUnknown methods ***/ 873 #define IPropertyChange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 874 #define IPropertyChange_AddRef(This) (This)->lpVtbl->AddRef(This) 875 #define IPropertyChange_Release(This) (This)->lpVtbl->Release(This) 876 /*** IObjectWithPropertyKey methods ***/ 877 #define IPropertyChange_SetPropertyKey(This,key) (This)->lpVtbl->SetPropertyKey(This,key) 878 #define IPropertyChange_GetPropertyKey(This,pkey) (This)->lpVtbl->GetPropertyKey(This,pkey) 879 /*** IPropertyChange methods ***/ 880 #define IPropertyChange_ApplyToPropVariant(This,propvarIn,ppropvarOut) (This)->lpVtbl->ApplyToPropVariant(This,propvarIn,ppropvarOut) 881 #else 882 /*** IUnknown methods ***/ 883 static FORCEINLINE HRESULT IPropertyChange_QueryInterface(IPropertyChange* This,REFIID riid,void **ppvObject) { 884 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 885 } 886 static FORCEINLINE ULONG IPropertyChange_AddRef(IPropertyChange* This) { 887 return This->lpVtbl->AddRef(This); 888 } 889 static FORCEINLINE ULONG IPropertyChange_Release(IPropertyChange* This) { 890 return This->lpVtbl->Release(This); 891 } 892 /*** IObjectWithPropertyKey methods ***/ 893 static FORCEINLINE HRESULT IPropertyChange_SetPropertyKey(IPropertyChange* This,REFPROPERTYKEY key) { 894 return This->lpVtbl->SetPropertyKey(This,key); 895 } 896 static FORCEINLINE HRESULT IPropertyChange_GetPropertyKey(IPropertyChange* This,PROPERTYKEY *pkey) { 897 return This->lpVtbl->GetPropertyKey(This,pkey); 898 } 899 /*** IPropertyChange methods ***/ 900 static FORCEINLINE HRESULT IPropertyChange_ApplyToPropVariant(IPropertyChange* This,REFPROPVARIANT propvarIn,PROPVARIANT *ppropvarOut) { 901 return This->lpVtbl->ApplyToPropVariant(This,propvarIn,ppropvarOut); 902 } 903 #endif 904 #endif 905 906 #endif 907 908 909 #endif /* __IPropertyChange_INTERFACE_DEFINED__ */ 910 911 912 /***************************************************************************** 913 * IPropertyChangeArray interface 914 */ 915 #ifndef __IPropertyChangeArray_INTERFACE_DEFINED__ 916 #define __IPropertyChangeArray_INTERFACE_DEFINED__ 917 918 DEFINE_GUID(IID_IPropertyChangeArray, 0x380f5cad, 0x1b5e, 0x42f2, 0x80,0x5d, 0x63,0x7f,0xd3,0x92,0xd3,0x1e); 919 #if defined(__cplusplus) && !defined(CINTERFACE) 920 MIDL_INTERFACE("380f5cad-1b5e-42f2-805d-637fd392d31e") 921 IPropertyChangeArray : public IUnknown 922 { 923 virtual HRESULT STDMETHODCALLTYPE GetCount( 924 UINT *pcOperations) = 0; 925 926 virtual HRESULT STDMETHODCALLTYPE GetAt( 927 UINT iIndex, 928 REFIID riid, 929 void **ppv) = 0; 930 931 virtual HRESULT STDMETHODCALLTYPE InsertAt( 932 UINT iIndex, 933 IPropertyChange *ppropChange) = 0; 934 935 virtual HRESULT STDMETHODCALLTYPE Append( 936 IPropertyChange *ppropChange) = 0; 937 938 virtual HRESULT STDMETHODCALLTYPE AppendOrReplace( 939 IPropertyChange *ppropChange) = 0; 940 941 virtual HRESULT STDMETHODCALLTYPE RemoveAt( 942 UINT iIndex) = 0; 943 944 virtual HRESULT STDMETHODCALLTYPE IsKeyInArray( 945 REFPROPERTYKEY key) = 0; 946 947 }; 948 #ifdef __CRT_UUID_DECL 949 __CRT_UUID_DECL(IPropertyChangeArray, 0x380f5cad, 0x1b5e, 0x42f2, 0x80,0x5d, 0x63,0x7f,0xd3,0x92,0xd3,0x1e) 950 #endif 951 #else 952 typedef struct IPropertyChangeArrayVtbl { 953 BEGIN_INTERFACE 954 955 /*** IUnknown methods ***/ 956 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 957 IPropertyChangeArray *This, 958 REFIID riid, 959 void **ppvObject); 960 961 ULONG (STDMETHODCALLTYPE *AddRef)( 962 IPropertyChangeArray *This); 963 964 ULONG (STDMETHODCALLTYPE *Release)( 965 IPropertyChangeArray *This); 966 967 /*** IPropertyChangeArray methods ***/ 968 HRESULT (STDMETHODCALLTYPE *GetCount)( 969 IPropertyChangeArray *This, 970 UINT *pcOperations); 971 972 HRESULT (STDMETHODCALLTYPE *GetAt)( 973 IPropertyChangeArray *This, 974 UINT iIndex, 975 REFIID riid, 976 void **ppv); 977 978 HRESULT (STDMETHODCALLTYPE *InsertAt)( 979 IPropertyChangeArray *This, 980 UINT iIndex, 981 IPropertyChange *ppropChange); 982 983 HRESULT (STDMETHODCALLTYPE *Append)( 984 IPropertyChangeArray *This, 985 IPropertyChange *ppropChange); 986 987 HRESULT (STDMETHODCALLTYPE *AppendOrReplace)( 988 IPropertyChangeArray *This, 989 IPropertyChange *ppropChange); 990 991 HRESULT (STDMETHODCALLTYPE *RemoveAt)( 992 IPropertyChangeArray *This, 993 UINT iIndex); 994 995 HRESULT (STDMETHODCALLTYPE *IsKeyInArray)( 996 IPropertyChangeArray *This, 997 REFPROPERTYKEY key); 998 999 END_INTERFACE 1000 } IPropertyChangeArrayVtbl; 1001 1002 interface IPropertyChangeArray { 1003 CONST_VTBL IPropertyChangeArrayVtbl* lpVtbl; 1004 }; 1005 1006 #ifdef COBJMACROS 1007 #ifndef WIDL_C_INLINE_WRAPPERS 1008 /*** IUnknown methods ***/ 1009 #define IPropertyChangeArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1010 #define IPropertyChangeArray_AddRef(This) (This)->lpVtbl->AddRef(This) 1011 #define IPropertyChangeArray_Release(This) (This)->lpVtbl->Release(This) 1012 /*** IPropertyChangeArray methods ***/ 1013 #define IPropertyChangeArray_GetCount(This,pcOperations) (This)->lpVtbl->GetCount(This,pcOperations) 1014 #define IPropertyChangeArray_GetAt(This,iIndex,riid,ppv) (This)->lpVtbl->GetAt(This,iIndex,riid,ppv) 1015 #define IPropertyChangeArray_InsertAt(This,iIndex,ppropChange) (This)->lpVtbl->InsertAt(This,iIndex,ppropChange) 1016 #define IPropertyChangeArray_Append(This,ppropChange) (This)->lpVtbl->Append(This,ppropChange) 1017 #define IPropertyChangeArray_AppendOrReplace(This,ppropChange) (This)->lpVtbl->AppendOrReplace(This,ppropChange) 1018 #define IPropertyChangeArray_RemoveAt(This,iIndex) (This)->lpVtbl->RemoveAt(This,iIndex) 1019 #define IPropertyChangeArray_IsKeyInArray(This,key) (This)->lpVtbl->IsKeyInArray(This,key) 1020 #else 1021 /*** IUnknown methods ***/ 1022 static FORCEINLINE HRESULT IPropertyChangeArray_QueryInterface(IPropertyChangeArray* This,REFIID riid,void **ppvObject) { 1023 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1024 } 1025 static FORCEINLINE ULONG IPropertyChangeArray_AddRef(IPropertyChangeArray* This) { 1026 return This->lpVtbl->AddRef(This); 1027 } 1028 static FORCEINLINE ULONG IPropertyChangeArray_Release(IPropertyChangeArray* This) { 1029 return This->lpVtbl->Release(This); 1030 } 1031 /*** IPropertyChangeArray methods ***/ 1032 static FORCEINLINE HRESULT IPropertyChangeArray_GetCount(IPropertyChangeArray* This,UINT *pcOperations) { 1033 return This->lpVtbl->GetCount(This,pcOperations); 1034 } 1035 static FORCEINLINE HRESULT IPropertyChangeArray_GetAt(IPropertyChangeArray* This,UINT iIndex,REFIID riid,void **ppv) { 1036 return This->lpVtbl->GetAt(This,iIndex,riid,ppv); 1037 } 1038 static FORCEINLINE HRESULT IPropertyChangeArray_InsertAt(IPropertyChangeArray* This,UINT iIndex,IPropertyChange *ppropChange) { 1039 return This->lpVtbl->InsertAt(This,iIndex,ppropChange); 1040 } 1041 static FORCEINLINE HRESULT IPropertyChangeArray_Append(IPropertyChangeArray* This,IPropertyChange *ppropChange) { 1042 return This->lpVtbl->Append(This,ppropChange); 1043 } 1044 static FORCEINLINE HRESULT IPropertyChangeArray_AppendOrReplace(IPropertyChangeArray* This,IPropertyChange *ppropChange) { 1045 return This->lpVtbl->AppendOrReplace(This,ppropChange); 1046 } 1047 static FORCEINLINE HRESULT IPropertyChangeArray_RemoveAt(IPropertyChangeArray* This,UINT iIndex) { 1048 return This->lpVtbl->RemoveAt(This,iIndex); 1049 } 1050 static FORCEINLINE HRESULT IPropertyChangeArray_IsKeyInArray(IPropertyChangeArray* This,REFPROPERTYKEY key) { 1051 return This->lpVtbl->IsKeyInArray(This,key); 1052 } 1053 #endif 1054 #endif 1055 1056 #endif 1057 1058 1059 #endif /* __IPropertyChangeArray_INTERFACE_DEFINED__ */ 1060 1061 1062 /***************************************************************************** 1063 * IPropertyStoreCapabilities interface 1064 */ 1065 #ifndef __IPropertyStoreCapabilities_INTERFACE_DEFINED__ 1066 #define __IPropertyStoreCapabilities_INTERFACE_DEFINED__ 1067 1068 DEFINE_GUID(IID_IPropertyStoreCapabilities, 0xc8e2d566, 0x186e, 0x4d49, 0xbf,0x41, 0x69,0x09,0xea,0xd5,0x6a,0xcc); 1069 #if defined(__cplusplus) && !defined(CINTERFACE) 1070 MIDL_INTERFACE("c8e2d566-186e-4d49-bf41-6909ead56acc") 1071 IPropertyStoreCapabilities : public IUnknown 1072 { 1073 virtual HRESULT STDMETHODCALLTYPE IsPropertyWritable( 1074 REFPROPERTYKEY key) = 0; 1075 1076 }; 1077 #ifdef __CRT_UUID_DECL 1078 __CRT_UUID_DECL(IPropertyStoreCapabilities, 0xc8e2d566, 0x186e, 0x4d49, 0xbf,0x41, 0x69,0x09,0xea,0xd5,0x6a,0xcc) 1079 #endif 1080 #else 1081 typedef struct IPropertyStoreCapabilitiesVtbl { 1082 BEGIN_INTERFACE 1083 1084 /*** IUnknown methods ***/ 1085 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1086 IPropertyStoreCapabilities *This, 1087 REFIID riid, 1088 void **ppvObject); 1089 1090 ULONG (STDMETHODCALLTYPE *AddRef)( 1091 IPropertyStoreCapabilities *This); 1092 1093 ULONG (STDMETHODCALLTYPE *Release)( 1094 IPropertyStoreCapabilities *This); 1095 1096 /*** IPropertyStoreCapabilities methods ***/ 1097 HRESULT (STDMETHODCALLTYPE *IsPropertyWritable)( 1098 IPropertyStoreCapabilities *This, 1099 REFPROPERTYKEY key); 1100 1101 END_INTERFACE 1102 } IPropertyStoreCapabilitiesVtbl; 1103 1104 interface IPropertyStoreCapabilities { 1105 CONST_VTBL IPropertyStoreCapabilitiesVtbl* lpVtbl; 1106 }; 1107 1108 #ifdef COBJMACROS 1109 #ifndef WIDL_C_INLINE_WRAPPERS 1110 /*** IUnknown methods ***/ 1111 #define IPropertyStoreCapabilities_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1112 #define IPropertyStoreCapabilities_AddRef(This) (This)->lpVtbl->AddRef(This) 1113 #define IPropertyStoreCapabilities_Release(This) (This)->lpVtbl->Release(This) 1114 /*** IPropertyStoreCapabilities methods ***/ 1115 #define IPropertyStoreCapabilities_IsPropertyWritable(This,key) (This)->lpVtbl->IsPropertyWritable(This,key) 1116 #else 1117 /*** IUnknown methods ***/ 1118 static FORCEINLINE HRESULT IPropertyStoreCapabilities_QueryInterface(IPropertyStoreCapabilities* This,REFIID riid,void **ppvObject) { 1119 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1120 } 1121 static FORCEINLINE ULONG IPropertyStoreCapabilities_AddRef(IPropertyStoreCapabilities* This) { 1122 return This->lpVtbl->AddRef(This); 1123 } 1124 static FORCEINLINE ULONG IPropertyStoreCapabilities_Release(IPropertyStoreCapabilities* This) { 1125 return This->lpVtbl->Release(This); 1126 } 1127 /*** IPropertyStoreCapabilities methods ***/ 1128 static FORCEINLINE HRESULT IPropertyStoreCapabilities_IsPropertyWritable(IPropertyStoreCapabilities* This,REFPROPERTYKEY key) { 1129 return This->lpVtbl->IsPropertyWritable(This,key); 1130 } 1131 #endif 1132 #endif 1133 1134 #endif 1135 1136 1137 #endif /* __IPropertyStoreCapabilities_INTERFACE_DEFINED__ */ 1138 1139 1140 /***************************************************************************** 1141 * IPropertyStoreCache interface 1142 */ 1143 #ifndef __IPropertyStoreCache_INTERFACE_DEFINED__ 1144 #define __IPropertyStoreCache_INTERFACE_DEFINED__ 1145 1146 typedef enum PSC_STATE { 1147 PSC_NORMAL = 0, 1148 PSC_NOTINSOURCE = 1, 1149 PSC_DIRTY = 2, 1150 PSC_READONLY = 3 1151 } PSC_STATE; 1152 1153 DEFINE_GUID(IID_IPropertyStoreCache, 0x3017056d, 0x9a91, 0x4e90, 0x93,0x7d, 0x74,0x6c,0x72,0xab,0xbf,0x4f); 1154 #if defined(__cplusplus) && !defined(CINTERFACE) 1155 MIDL_INTERFACE("3017056d-9a91-4e90-937d-746c72abbf4f") 1156 IPropertyStoreCache : public IPropertyStore 1157 { 1158 virtual HRESULT STDMETHODCALLTYPE GetState( 1159 REFPROPERTYKEY key, 1160 PSC_STATE *pstate) = 0; 1161 1162 virtual HRESULT STDMETHODCALLTYPE GetValueAndState( 1163 REFPROPERTYKEY key, 1164 PROPVARIANT *ppropvar, 1165 PSC_STATE *pstate) = 0; 1166 1167 virtual HRESULT STDMETHODCALLTYPE SetState( 1168 REFPROPERTYKEY key, 1169 PSC_STATE state) = 0; 1170 1171 virtual HRESULT STDMETHODCALLTYPE SetValueAndState( 1172 REFPROPERTYKEY key, 1173 const PROPVARIANT *ppropvar, 1174 PSC_STATE state) = 0; 1175 1176 }; 1177 #ifdef __CRT_UUID_DECL 1178 __CRT_UUID_DECL(IPropertyStoreCache, 0x3017056d, 0x9a91, 0x4e90, 0x93,0x7d, 0x74,0x6c,0x72,0xab,0xbf,0x4f) 1179 #endif 1180 #else 1181 typedef struct IPropertyStoreCacheVtbl { 1182 BEGIN_INTERFACE 1183 1184 /*** IUnknown methods ***/ 1185 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1186 IPropertyStoreCache *This, 1187 REFIID riid, 1188 void **ppvObject); 1189 1190 ULONG (STDMETHODCALLTYPE *AddRef)( 1191 IPropertyStoreCache *This); 1192 1193 ULONG (STDMETHODCALLTYPE *Release)( 1194 IPropertyStoreCache *This); 1195 1196 /*** IPropertyStore methods ***/ 1197 HRESULT (STDMETHODCALLTYPE *GetCount)( 1198 IPropertyStoreCache *This, 1199 DWORD *cProps); 1200 1201 HRESULT (STDMETHODCALLTYPE *GetAt)( 1202 IPropertyStoreCache *This, 1203 DWORD iProp, 1204 PROPERTYKEY *pkey); 1205 1206 HRESULT (STDMETHODCALLTYPE *GetValue)( 1207 IPropertyStoreCache *This, 1208 REFPROPERTYKEY key, 1209 PROPVARIANT *pv); 1210 1211 HRESULT (STDMETHODCALLTYPE *SetValue)( 1212 IPropertyStoreCache *This, 1213 REFPROPERTYKEY key, 1214 REFPROPVARIANT propvar); 1215 1216 HRESULT (STDMETHODCALLTYPE *Commit)( 1217 IPropertyStoreCache *This); 1218 1219 /*** IPropertyStoreCache methods ***/ 1220 HRESULT (STDMETHODCALLTYPE *GetState)( 1221 IPropertyStoreCache *This, 1222 REFPROPERTYKEY key, 1223 PSC_STATE *pstate); 1224 1225 HRESULT (STDMETHODCALLTYPE *GetValueAndState)( 1226 IPropertyStoreCache *This, 1227 REFPROPERTYKEY key, 1228 PROPVARIANT *ppropvar, 1229 PSC_STATE *pstate); 1230 1231 HRESULT (STDMETHODCALLTYPE *SetState)( 1232 IPropertyStoreCache *This, 1233 REFPROPERTYKEY key, 1234 PSC_STATE state); 1235 1236 HRESULT (STDMETHODCALLTYPE *SetValueAndState)( 1237 IPropertyStoreCache *This, 1238 REFPROPERTYKEY key, 1239 const PROPVARIANT *ppropvar, 1240 PSC_STATE state); 1241 1242 END_INTERFACE 1243 } IPropertyStoreCacheVtbl; 1244 1245 interface IPropertyStoreCache { 1246 CONST_VTBL IPropertyStoreCacheVtbl* lpVtbl; 1247 }; 1248 1249 #ifdef COBJMACROS 1250 #ifndef WIDL_C_INLINE_WRAPPERS 1251 /*** IUnknown methods ***/ 1252 #define IPropertyStoreCache_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1253 #define IPropertyStoreCache_AddRef(This) (This)->lpVtbl->AddRef(This) 1254 #define IPropertyStoreCache_Release(This) (This)->lpVtbl->Release(This) 1255 /*** IPropertyStore methods ***/ 1256 #define IPropertyStoreCache_GetCount(This,cProps) (This)->lpVtbl->GetCount(This,cProps) 1257 #define IPropertyStoreCache_GetAt(This,iProp,pkey) (This)->lpVtbl->GetAt(This,iProp,pkey) 1258 #define IPropertyStoreCache_GetValue(This,key,pv) (This)->lpVtbl->GetValue(This,key,pv) 1259 #define IPropertyStoreCache_SetValue(This,key,propvar) (This)->lpVtbl->SetValue(This,key,propvar) 1260 #define IPropertyStoreCache_Commit(This) (This)->lpVtbl->Commit(This) 1261 /*** IPropertyStoreCache methods ***/ 1262 #define IPropertyStoreCache_GetState(This,key,pstate) (This)->lpVtbl->GetState(This,key,pstate) 1263 #define IPropertyStoreCache_GetValueAndState(This,key,ppropvar,pstate) (This)->lpVtbl->GetValueAndState(This,key,ppropvar,pstate) 1264 #define IPropertyStoreCache_SetState(This,key,state) (This)->lpVtbl->SetState(This,key,state) 1265 #define IPropertyStoreCache_SetValueAndState(This,key,ppropvar,state) (This)->lpVtbl->SetValueAndState(This,key,ppropvar,state) 1266 #else 1267 /*** IUnknown methods ***/ 1268 static FORCEINLINE HRESULT IPropertyStoreCache_QueryInterface(IPropertyStoreCache* This,REFIID riid,void **ppvObject) { 1269 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1270 } 1271 static FORCEINLINE ULONG IPropertyStoreCache_AddRef(IPropertyStoreCache* This) { 1272 return This->lpVtbl->AddRef(This); 1273 } 1274 static FORCEINLINE ULONG IPropertyStoreCache_Release(IPropertyStoreCache* This) { 1275 return This->lpVtbl->Release(This); 1276 } 1277 /*** IPropertyStore methods ***/ 1278 static FORCEINLINE HRESULT IPropertyStoreCache_GetCount(IPropertyStoreCache* This,DWORD *cProps) { 1279 return This->lpVtbl->GetCount(This,cProps); 1280 } 1281 static FORCEINLINE HRESULT IPropertyStoreCache_GetAt(IPropertyStoreCache* This,DWORD iProp,PROPERTYKEY *pkey) { 1282 return This->lpVtbl->GetAt(This,iProp,pkey); 1283 } 1284 static FORCEINLINE HRESULT IPropertyStoreCache_GetValue(IPropertyStoreCache* This,REFPROPERTYKEY key,PROPVARIANT *pv) { 1285 return This->lpVtbl->GetValue(This,key,pv); 1286 } 1287 static FORCEINLINE HRESULT IPropertyStoreCache_SetValue(IPropertyStoreCache* This,REFPROPERTYKEY key,REFPROPVARIANT propvar) { 1288 return This->lpVtbl->SetValue(This,key,propvar); 1289 } 1290 static FORCEINLINE HRESULT IPropertyStoreCache_Commit(IPropertyStoreCache* This) { 1291 return This->lpVtbl->Commit(This); 1292 } 1293 /*** IPropertyStoreCache methods ***/ 1294 static FORCEINLINE HRESULT IPropertyStoreCache_GetState(IPropertyStoreCache* This,REFPROPERTYKEY key,PSC_STATE *pstate) { 1295 return This->lpVtbl->GetState(This,key,pstate); 1296 } 1297 static FORCEINLINE HRESULT IPropertyStoreCache_GetValueAndState(IPropertyStoreCache* This,REFPROPERTYKEY key,PROPVARIANT *ppropvar,PSC_STATE *pstate) { 1298 return This->lpVtbl->GetValueAndState(This,key,ppropvar,pstate); 1299 } 1300 static FORCEINLINE HRESULT IPropertyStoreCache_SetState(IPropertyStoreCache* This,REFPROPERTYKEY key,PSC_STATE state) { 1301 return This->lpVtbl->SetState(This,key,state); 1302 } 1303 static FORCEINLINE HRESULT IPropertyStoreCache_SetValueAndState(IPropertyStoreCache* This,REFPROPERTYKEY key,const PROPVARIANT *ppropvar,PSC_STATE state) { 1304 return This->lpVtbl->SetValueAndState(This,key,ppropvar,state); 1305 } 1306 #endif 1307 #endif 1308 1309 #endif 1310 1311 1312 #endif /* __IPropertyStoreCache_INTERFACE_DEFINED__ */ 1313 1314 1315 /***************************************************************************** 1316 * IPropertyEnumType interface 1317 */ 1318 #ifndef __IPropertyEnumType_INTERFACE_DEFINED__ 1319 #define __IPropertyEnumType_INTERFACE_DEFINED__ 1320 1321 typedef enum PROPENUMTYPE { 1322 PET_DISCRETEVALUE = 0, 1323 PET_RANGEDVALUE = 1, 1324 PET_DEFAULTVALUE = 2, 1325 PET_ENDRANGE = 3 1326 } PROPENUMTYPE; 1327 1328 DEFINE_GUID(IID_IPropertyEnumType, 0x11e1fbf9, 0x2d56, 0x4a6b, 0x8d,0xb3, 0x7c,0xd1,0x93,0xa4,0x71,0xf2); 1329 #if defined(__cplusplus) && !defined(CINTERFACE) 1330 MIDL_INTERFACE("11e1fbf9-2d56-4a6b-8db3-7cd193a471f2") 1331 IPropertyEnumType : public IUnknown 1332 { 1333 virtual HRESULT STDMETHODCALLTYPE GetEnumType( 1334 PROPENUMTYPE *penumtype) = 0; 1335 1336 virtual HRESULT STDMETHODCALLTYPE GetValue( 1337 PROPVARIANT *ppropvar) = 0; 1338 1339 virtual HRESULT STDMETHODCALLTYPE GetRangeMinValue( 1340 PROPVARIANT *ppropvarMin) = 0; 1341 1342 virtual HRESULT STDMETHODCALLTYPE GetRangeSetValue( 1343 PROPVARIANT *ppropvarSet) = 0; 1344 1345 virtual HRESULT STDMETHODCALLTYPE GetDisplayText( 1346 LPWSTR *ppszDisplay) = 0; 1347 1348 }; 1349 #ifdef __CRT_UUID_DECL 1350 __CRT_UUID_DECL(IPropertyEnumType, 0x11e1fbf9, 0x2d56, 0x4a6b, 0x8d,0xb3, 0x7c,0xd1,0x93,0xa4,0x71,0xf2) 1351 #endif 1352 #else 1353 typedef struct IPropertyEnumTypeVtbl { 1354 BEGIN_INTERFACE 1355 1356 /*** IUnknown methods ***/ 1357 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1358 IPropertyEnumType *This, 1359 REFIID riid, 1360 void **ppvObject); 1361 1362 ULONG (STDMETHODCALLTYPE *AddRef)( 1363 IPropertyEnumType *This); 1364 1365 ULONG (STDMETHODCALLTYPE *Release)( 1366 IPropertyEnumType *This); 1367 1368 /*** IPropertyEnumType methods ***/ 1369 HRESULT (STDMETHODCALLTYPE *GetEnumType)( 1370 IPropertyEnumType *This, 1371 PROPENUMTYPE *penumtype); 1372 1373 HRESULT (STDMETHODCALLTYPE *GetValue)( 1374 IPropertyEnumType *This, 1375 PROPVARIANT *ppropvar); 1376 1377 HRESULT (STDMETHODCALLTYPE *GetRangeMinValue)( 1378 IPropertyEnumType *This, 1379 PROPVARIANT *ppropvarMin); 1380 1381 HRESULT (STDMETHODCALLTYPE *GetRangeSetValue)( 1382 IPropertyEnumType *This, 1383 PROPVARIANT *ppropvarSet); 1384 1385 HRESULT (STDMETHODCALLTYPE *GetDisplayText)( 1386 IPropertyEnumType *This, 1387 LPWSTR *ppszDisplay); 1388 1389 END_INTERFACE 1390 } IPropertyEnumTypeVtbl; 1391 1392 interface IPropertyEnumType { 1393 CONST_VTBL IPropertyEnumTypeVtbl* lpVtbl; 1394 }; 1395 1396 #ifdef COBJMACROS 1397 #ifndef WIDL_C_INLINE_WRAPPERS 1398 /*** IUnknown methods ***/ 1399 #define IPropertyEnumType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1400 #define IPropertyEnumType_AddRef(This) (This)->lpVtbl->AddRef(This) 1401 #define IPropertyEnumType_Release(This) (This)->lpVtbl->Release(This) 1402 /*** IPropertyEnumType methods ***/ 1403 #define IPropertyEnumType_GetEnumType(This,penumtype) (This)->lpVtbl->GetEnumType(This,penumtype) 1404 #define IPropertyEnumType_GetValue(This,ppropvar) (This)->lpVtbl->GetValue(This,ppropvar) 1405 #define IPropertyEnumType_GetRangeMinValue(This,ppropvarMin) (This)->lpVtbl->GetRangeMinValue(This,ppropvarMin) 1406 #define IPropertyEnumType_GetRangeSetValue(This,ppropvarSet) (This)->lpVtbl->GetRangeSetValue(This,ppropvarSet) 1407 #define IPropertyEnumType_GetDisplayText(This,ppszDisplay) (This)->lpVtbl->GetDisplayText(This,ppszDisplay) 1408 #else 1409 /*** IUnknown methods ***/ 1410 static FORCEINLINE HRESULT IPropertyEnumType_QueryInterface(IPropertyEnumType* This,REFIID riid,void **ppvObject) { 1411 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1412 } 1413 static FORCEINLINE ULONG IPropertyEnumType_AddRef(IPropertyEnumType* This) { 1414 return This->lpVtbl->AddRef(This); 1415 } 1416 static FORCEINLINE ULONG IPropertyEnumType_Release(IPropertyEnumType* This) { 1417 return This->lpVtbl->Release(This); 1418 } 1419 /*** IPropertyEnumType methods ***/ 1420 static FORCEINLINE HRESULT IPropertyEnumType_GetEnumType(IPropertyEnumType* This,PROPENUMTYPE *penumtype) { 1421 return This->lpVtbl->GetEnumType(This,penumtype); 1422 } 1423 static FORCEINLINE HRESULT IPropertyEnumType_GetValue(IPropertyEnumType* This,PROPVARIANT *ppropvar) { 1424 return This->lpVtbl->GetValue(This,ppropvar); 1425 } 1426 static FORCEINLINE HRESULT IPropertyEnumType_GetRangeMinValue(IPropertyEnumType* This,PROPVARIANT *ppropvarMin) { 1427 return This->lpVtbl->GetRangeMinValue(This,ppropvarMin); 1428 } 1429 static FORCEINLINE HRESULT IPropertyEnumType_GetRangeSetValue(IPropertyEnumType* This,PROPVARIANT *ppropvarSet) { 1430 return This->lpVtbl->GetRangeSetValue(This,ppropvarSet); 1431 } 1432 static FORCEINLINE HRESULT IPropertyEnumType_GetDisplayText(IPropertyEnumType* This,LPWSTR *ppszDisplay) { 1433 return This->lpVtbl->GetDisplayText(This,ppszDisplay); 1434 } 1435 #endif 1436 #endif 1437 1438 #endif 1439 1440 1441 #endif /* __IPropertyEnumType_INTERFACE_DEFINED__ */ 1442 1443 1444 /***************************************************************************** 1445 * IPropertyEnumType2 interface 1446 */ 1447 #ifndef __IPropertyEnumType2_INTERFACE_DEFINED__ 1448 #define __IPropertyEnumType2_INTERFACE_DEFINED__ 1449 1450 DEFINE_GUID(IID_IPropertyEnumType2, 0x9b6e051c, 0x5ddd, 0x4321, 0x90,0x70, 0xfe,0x2a,0xcb,0x55,0xe7,0x94); 1451 #if defined(__cplusplus) && !defined(CINTERFACE) 1452 MIDL_INTERFACE("9b6e051c-5ddd-4321-9070-fe2acb55e794") 1453 IPropertyEnumType2 : public IPropertyEnumType 1454 { 1455 virtual HRESULT STDMETHODCALLTYPE GetImageReference( 1456 LPWSTR *ppszImageRes) = 0; 1457 1458 }; 1459 #ifdef __CRT_UUID_DECL 1460 __CRT_UUID_DECL(IPropertyEnumType2, 0x9b6e051c, 0x5ddd, 0x4321, 0x90,0x70, 0xfe,0x2a,0xcb,0x55,0xe7,0x94) 1461 #endif 1462 #else 1463 typedef struct IPropertyEnumType2Vtbl { 1464 BEGIN_INTERFACE 1465 1466 /*** IUnknown methods ***/ 1467 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1468 IPropertyEnumType2 *This, 1469 REFIID riid, 1470 void **ppvObject); 1471 1472 ULONG (STDMETHODCALLTYPE *AddRef)( 1473 IPropertyEnumType2 *This); 1474 1475 ULONG (STDMETHODCALLTYPE *Release)( 1476 IPropertyEnumType2 *This); 1477 1478 /*** IPropertyEnumType methods ***/ 1479 HRESULT (STDMETHODCALLTYPE *GetEnumType)( 1480 IPropertyEnumType2 *This, 1481 PROPENUMTYPE *penumtype); 1482 1483 HRESULT (STDMETHODCALLTYPE *GetValue)( 1484 IPropertyEnumType2 *This, 1485 PROPVARIANT *ppropvar); 1486 1487 HRESULT (STDMETHODCALLTYPE *GetRangeMinValue)( 1488 IPropertyEnumType2 *This, 1489 PROPVARIANT *ppropvarMin); 1490 1491 HRESULT (STDMETHODCALLTYPE *GetRangeSetValue)( 1492 IPropertyEnumType2 *This, 1493 PROPVARIANT *ppropvarSet); 1494 1495 HRESULT (STDMETHODCALLTYPE *GetDisplayText)( 1496 IPropertyEnumType2 *This, 1497 LPWSTR *ppszDisplay); 1498 1499 /*** IPropertyEnumType2 methods ***/ 1500 HRESULT (STDMETHODCALLTYPE *GetImageReference)( 1501 IPropertyEnumType2 *This, 1502 LPWSTR *ppszImageRes); 1503 1504 END_INTERFACE 1505 } IPropertyEnumType2Vtbl; 1506 1507 interface IPropertyEnumType2 { 1508 CONST_VTBL IPropertyEnumType2Vtbl* lpVtbl; 1509 }; 1510 1511 #ifdef COBJMACROS 1512 #ifndef WIDL_C_INLINE_WRAPPERS 1513 /*** IUnknown methods ***/ 1514 #define IPropertyEnumType2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1515 #define IPropertyEnumType2_AddRef(This) (This)->lpVtbl->AddRef(This) 1516 #define IPropertyEnumType2_Release(This) (This)->lpVtbl->Release(This) 1517 /*** IPropertyEnumType methods ***/ 1518 #define IPropertyEnumType2_GetEnumType(This,penumtype) (This)->lpVtbl->GetEnumType(This,penumtype) 1519 #define IPropertyEnumType2_GetValue(This,ppropvar) (This)->lpVtbl->GetValue(This,ppropvar) 1520 #define IPropertyEnumType2_GetRangeMinValue(This,ppropvarMin) (This)->lpVtbl->GetRangeMinValue(This,ppropvarMin) 1521 #define IPropertyEnumType2_GetRangeSetValue(This,ppropvarSet) (This)->lpVtbl->GetRangeSetValue(This,ppropvarSet) 1522 #define IPropertyEnumType2_GetDisplayText(This,ppszDisplay) (This)->lpVtbl->GetDisplayText(This,ppszDisplay) 1523 /*** IPropertyEnumType2 methods ***/ 1524 #define IPropertyEnumType2_GetImageReference(This,ppszImageRes) (This)->lpVtbl->GetImageReference(This,ppszImageRes) 1525 #else 1526 /*** IUnknown methods ***/ 1527 static FORCEINLINE HRESULT IPropertyEnumType2_QueryInterface(IPropertyEnumType2* This,REFIID riid,void **ppvObject) { 1528 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1529 } 1530 static FORCEINLINE ULONG IPropertyEnumType2_AddRef(IPropertyEnumType2* This) { 1531 return This->lpVtbl->AddRef(This); 1532 } 1533 static FORCEINLINE ULONG IPropertyEnumType2_Release(IPropertyEnumType2* This) { 1534 return This->lpVtbl->Release(This); 1535 } 1536 /*** IPropertyEnumType methods ***/ 1537 static FORCEINLINE HRESULT IPropertyEnumType2_GetEnumType(IPropertyEnumType2* This,PROPENUMTYPE *penumtype) { 1538 return This->lpVtbl->GetEnumType(This,penumtype); 1539 } 1540 static FORCEINLINE HRESULT IPropertyEnumType2_GetValue(IPropertyEnumType2* This,PROPVARIANT *ppropvar) { 1541 return This->lpVtbl->GetValue(This,ppropvar); 1542 } 1543 static FORCEINLINE HRESULT IPropertyEnumType2_GetRangeMinValue(IPropertyEnumType2* This,PROPVARIANT *ppropvarMin) { 1544 return This->lpVtbl->GetRangeMinValue(This,ppropvarMin); 1545 } 1546 static FORCEINLINE HRESULT IPropertyEnumType2_GetRangeSetValue(IPropertyEnumType2* This,PROPVARIANT *ppropvarSet) { 1547 return This->lpVtbl->GetRangeSetValue(This,ppropvarSet); 1548 } 1549 static FORCEINLINE HRESULT IPropertyEnumType2_GetDisplayText(IPropertyEnumType2* This,LPWSTR *ppszDisplay) { 1550 return This->lpVtbl->GetDisplayText(This,ppszDisplay); 1551 } 1552 /*** IPropertyEnumType2 methods ***/ 1553 static FORCEINLINE HRESULT IPropertyEnumType2_GetImageReference(IPropertyEnumType2* This,LPWSTR *ppszImageRes) { 1554 return This->lpVtbl->GetImageReference(This,ppszImageRes); 1555 } 1556 #endif 1557 #endif 1558 1559 #endif 1560 1561 1562 #endif /* __IPropertyEnumType2_INTERFACE_DEFINED__ */ 1563 1564 1565 /***************************************************************************** 1566 * IPropertyEnumTypeList interface 1567 */ 1568 #ifndef __IPropertyEnumTypeList_INTERFACE_DEFINED__ 1569 #define __IPropertyEnumTypeList_INTERFACE_DEFINED__ 1570 1571 DEFINE_GUID(IID_IPropertyEnumTypeList, 0xa99400f4, 0x3d84, 0x4557, 0x94,0xba, 0x12,0x42,0xfb,0x2c,0xc9,0xa6); 1572 #if defined(__cplusplus) && !defined(CINTERFACE) 1573 MIDL_INTERFACE("a99400f4-3d84-4557-94ba-1242fb2cc9a6") 1574 IPropertyEnumTypeList : public IUnknown 1575 { 1576 virtual HRESULT STDMETHODCALLTYPE GetCount( 1577 UINT *pctypes) = 0; 1578 1579 virtual HRESULT STDMETHODCALLTYPE GetAt( 1580 UINT itype, 1581 REFIID riid, 1582 void **ppv) = 0; 1583 1584 virtual HRESULT STDMETHODCALLTYPE GetConditionAt( 1585 UINT nIndex, 1586 REFIID riid, 1587 void **ppv) = 0; 1588 1589 virtual HRESULT STDMETHODCALLTYPE FindMatchingIndex( 1590 REFPROPVARIANT propvarCmp, 1591 UINT *pnIndex) = 0; 1592 1593 }; 1594 #ifdef __CRT_UUID_DECL 1595 __CRT_UUID_DECL(IPropertyEnumTypeList, 0xa99400f4, 0x3d84, 0x4557, 0x94,0xba, 0x12,0x42,0xfb,0x2c,0xc9,0xa6) 1596 #endif 1597 #else 1598 typedef struct IPropertyEnumTypeListVtbl { 1599 BEGIN_INTERFACE 1600 1601 /*** IUnknown methods ***/ 1602 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1603 IPropertyEnumTypeList *This, 1604 REFIID riid, 1605 void **ppvObject); 1606 1607 ULONG (STDMETHODCALLTYPE *AddRef)( 1608 IPropertyEnumTypeList *This); 1609 1610 ULONG (STDMETHODCALLTYPE *Release)( 1611 IPropertyEnumTypeList *This); 1612 1613 /*** IPropertyEnumTypeList methods ***/ 1614 HRESULT (STDMETHODCALLTYPE *GetCount)( 1615 IPropertyEnumTypeList *This, 1616 UINT *pctypes); 1617 1618 HRESULT (STDMETHODCALLTYPE *GetAt)( 1619 IPropertyEnumTypeList *This, 1620 UINT itype, 1621 REFIID riid, 1622 void **ppv); 1623 1624 HRESULT (STDMETHODCALLTYPE *GetConditionAt)( 1625 IPropertyEnumTypeList *This, 1626 UINT nIndex, 1627 REFIID riid, 1628 void **ppv); 1629 1630 HRESULT (STDMETHODCALLTYPE *FindMatchingIndex)( 1631 IPropertyEnumTypeList *This, 1632 REFPROPVARIANT propvarCmp, 1633 UINT *pnIndex); 1634 1635 END_INTERFACE 1636 } IPropertyEnumTypeListVtbl; 1637 1638 interface IPropertyEnumTypeList { 1639 CONST_VTBL IPropertyEnumTypeListVtbl* lpVtbl; 1640 }; 1641 1642 #ifdef COBJMACROS 1643 #ifndef WIDL_C_INLINE_WRAPPERS 1644 /*** IUnknown methods ***/ 1645 #define IPropertyEnumTypeList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1646 #define IPropertyEnumTypeList_AddRef(This) (This)->lpVtbl->AddRef(This) 1647 #define IPropertyEnumTypeList_Release(This) (This)->lpVtbl->Release(This) 1648 /*** IPropertyEnumTypeList methods ***/ 1649 #define IPropertyEnumTypeList_GetCount(This,pctypes) (This)->lpVtbl->GetCount(This,pctypes) 1650 #define IPropertyEnumTypeList_GetAt(This,itype,riid,ppv) (This)->lpVtbl->GetAt(This,itype,riid,ppv) 1651 #define IPropertyEnumTypeList_GetConditionAt(This,nIndex,riid,ppv) (This)->lpVtbl->GetConditionAt(This,nIndex,riid,ppv) 1652 #define IPropertyEnumTypeList_FindMatchingIndex(This,propvarCmp,pnIndex) (This)->lpVtbl->FindMatchingIndex(This,propvarCmp,pnIndex) 1653 #else 1654 /*** IUnknown methods ***/ 1655 static FORCEINLINE HRESULT IPropertyEnumTypeList_QueryInterface(IPropertyEnumTypeList* This,REFIID riid,void **ppvObject) { 1656 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1657 } 1658 static FORCEINLINE ULONG IPropertyEnumTypeList_AddRef(IPropertyEnumTypeList* This) { 1659 return This->lpVtbl->AddRef(This); 1660 } 1661 static FORCEINLINE ULONG IPropertyEnumTypeList_Release(IPropertyEnumTypeList* This) { 1662 return This->lpVtbl->Release(This); 1663 } 1664 /*** IPropertyEnumTypeList methods ***/ 1665 static FORCEINLINE HRESULT IPropertyEnumTypeList_GetCount(IPropertyEnumTypeList* This,UINT *pctypes) { 1666 return This->lpVtbl->GetCount(This,pctypes); 1667 } 1668 static FORCEINLINE HRESULT IPropertyEnumTypeList_GetAt(IPropertyEnumTypeList* This,UINT itype,REFIID riid,void **ppv) { 1669 return This->lpVtbl->GetAt(This,itype,riid,ppv); 1670 } 1671 static FORCEINLINE HRESULT IPropertyEnumTypeList_GetConditionAt(IPropertyEnumTypeList* This,UINT nIndex,REFIID riid,void **ppv) { 1672 return This->lpVtbl->GetConditionAt(This,nIndex,riid,ppv); 1673 } 1674 static FORCEINLINE HRESULT IPropertyEnumTypeList_FindMatchingIndex(IPropertyEnumTypeList* This,REFPROPVARIANT propvarCmp,UINT *pnIndex) { 1675 return This->lpVtbl->FindMatchingIndex(This,propvarCmp,pnIndex); 1676 } 1677 #endif 1678 #endif 1679 1680 #endif 1681 1682 1683 #endif /* __IPropertyEnumTypeList_INTERFACE_DEFINED__ */ 1684 1685 1686 /***************************************************************************** 1687 * IPropertyDescription interface 1688 */ 1689 #ifndef __IPropertyDescription_INTERFACE_DEFINED__ 1690 #define __IPropertyDescription_INTERFACE_DEFINED__ 1691 1692 typedef enum PROPDESC_TYPE_FLAGS { 1693 PDTF_DEFAULT = 0x0, 1694 PDTF_MULTIPLEVALUES = 0x1, 1695 PDTF_ISINNATE = 0x2, 1696 PDTF_ISGROUP = 0x4, 1697 PDTF_CANGROUPBY = 0x8, 1698 PDTF_CANSTACKBY = 0x10, 1699 PDTF_ISTREEPROPERTY = 0x20, 1700 PDTF_INCLUDEINFULLTEXTQUERY = 0x40, 1701 PDTF_ISVIEWABLE = 0x80, 1702 PDTF_ISQUERYABLE = 0x100, 1703 PDTF_CANBEPURGED = 0x200, 1704 PDTF_SEARCHRAWVALUE = 0x400, 1705 PDTF_ISSYSTEMPROPERTY = 0x80000000, 1706 PDTF_MASK_ALL = 0x800007ff 1707 } PROPDESC_TYPE_FLAGS; 1708 1709 DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_TYPE_FLAGS) 1710 1711 typedef enum PROPDESC_VIEW_FLAGS { 1712 PDVF_DEFAULT = 0x0, 1713 PDVF_CENTERALIGN = 0x1, 1714 PDVF_RIGHTALIGN = 0x2, 1715 PDVF_BEGINNEWGROUP = 0x4, 1716 PDVF_FILLAREA = 0x8, 1717 PDVF_SORTDESCENDING = 0x10, 1718 PDVF_SHOWONLYIFPRESENT = 0x20, 1719 PDVF_SHOWBYDEFAULT = 0x40, 1720 PDVF_SHOWINPRIMARYLIST = 0x80, 1721 PDVF_SHOWINSECONDARYLIST = 0x100, 1722 PDVF_HIDELABEL = 0x200, 1723 PDVF_HIDDEN = 0x800, 1724 PDVF_CANWRAP = 0x1000, 1725 PDVF_MASK_ALL = 0x1bff 1726 } PROPDESC_VIEW_FLAGS; 1727 1728 DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_VIEW_FLAGS) 1729 1730 typedef enum PROPDESC_DISPLAYTYPE { 1731 PDDT_STRING = 0, 1732 PDDT_NUMBER = 1, 1733 PDDT_BOOLEAN = 2, 1734 PDDT_DATETIME = 3, 1735 PDDT_ENUMERATED = 4 1736 } PROPDESC_DISPLAYTYPE; 1737 1738 typedef enum PROPDESC_GROUPING_RANGE { 1739 PDGR_DISCRETE = 0, 1740 PDGR_ALPHANUMERIC = 1, 1741 PDGR_SIZE = 2, 1742 PDGR_DYNAMIC = 3, 1743 PDGR_DATE = 4, 1744 PDGR_PERCENT = 5, 1745 PDGR_ENUMERATED = 6 1746 } PROPDESC_GROUPING_RANGE; 1747 1748 typedef enum PROPDESC_FORMAT_FLAGS { 1749 PDFF_DEFAULT = 0x0, 1750 PDFF_PREFIXNAME = 0x1, 1751 PDFF_FILENAME = 0x2, 1752 PDFF_ALWAYSKB = 0x4, 1753 PDFF_RESERVED_RIGHTTOLEFT = 0x8, 1754 PDFF_SHORTTIME = 0x10, 1755 PDFF_LONGTIME = 0x20, 1756 PDFF_HIDETIME = 0x40, 1757 PDFF_SHORTDATE = 0x80, 1758 PDFF_LONGDATE = 0x100, 1759 PDFF_HIDEDATE = 0x200, 1760 PDFF_RELATIVEDATE = 0x400, 1761 PDFF_USEEDITINVITATION = 0x800, 1762 PDFF_READONLY = 0x1000, 1763 PDFF_NOAUTOREADINGORDER = 0x2000 1764 } PROPDESC_FORMAT_FLAGS; 1765 1766 DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_FORMAT_FLAGS) 1767 1768 typedef enum PROPDESC_SORTDESCRIPTION { 1769 PDSD_GENERAL = 0, 1770 PDSD_A_Z = 1, 1771 PDSD_LOWEST_HIGHEST = 2, 1772 PDSD_SMALLEST_BIGGEST = 3, 1773 PDSD_OLDEST_NEWEST = 4 1774 } PROPDESC_SORTDESCRIPTION; 1775 1776 typedef enum PROPDESC_RELATIVEDESCRIPTION_TYPE { 1777 PDRDT_GENERAL = 0, 1778 PDRDT_DATE = 1, 1779 PDRDT_SIZE = 2, 1780 PDRDT_COUNT = 3, 1781 PDRDT_REVISION = 4, 1782 PDRDT_LENGTH = 5, 1783 PDRDT_DURATION = 6, 1784 PDRDT_SPEED = 7, 1785 PDRDT_RATE = 8, 1786 PDRDT_RATING = 9, 1787 PDRDT_PRIORITY = 10 1788 } PROPDESC_RELATIVEDESCRIPTION_TYPE; 1789 1790 typedef enum PROPDESC_AGGREGATION_TYPE { 1791 PDAT_DEFAULT = 0, 1792 PDAT_FIRST = 1, 1793 PDAT_SUM = 2, 1794 PDAT_AVERAGE = 3, 1795 PDAT_DATERANGE = 4, 1796 PDAT_UNION = 5, 1797 PDAT_MAX = 6, 1798 PDAT_MIN = 7 1799 } PROPDESC_AGGREGATION_TYPE; 1800 1801 typedef enum PROPDESC_CONDITION_TYPE { 1802 PDCOT_NONE = 0, 1803 PDCOT_STRING = 1, 1804 PDCOT_SIZE = 2, 1805 PDCOT_DATETIME = 3, 1806 PDCOT_BOOLEAN = 4, 1807 PDCOT_NUMBER = 5 1808 } PROPDESC_CONDITION_TYPE; 1809 1810 DEFINE_GUID(IID_IPropertyDescription, 0x6f79d558, 0x3e96, 0x4549, 0xa1,0xd1, 0x7d,0x75,0xd2,0x28,0x88,0x14); 1811 #if defined(__cplusplus) && !defined(CINTERFACE) 1812 MIDL_INTERFACE("6f79d558-3e96-4549-a1d1-7d75d2288814") 1813 IPropertyDescription : public IUnknown 1814 { 1815 virtual HRESULT STDMETHODCALLTYPE GetPropertyKey( 1816 PROPERTYKEY *pkey) = 0; 1817 1818 virtual HRESULT STDMETHODCALLTYPE GetCanonicalName( 1819 LPWSTR *ppszName) = 0; 1820 1821 virtual HRESULT STDMETHODCALLTYPE GetPropertyType( 1822 VARTYPE *pvartype) = 0; 1823 1824 virtual HRESULT STDMETHODCALLTYPE GetDisplayName( 1825 LPWSTR *ppszName) = 0; 1826 1827 virtual HRESULT STDMETHODCALLTYPE GetEditInvitation( 1828 LPWSTR *ppszInvite) = 0; 1829 1830 virtual HRESULT STDMETHODCALLTYPE GetTypeFlags( 1831 PROPDESC_TYPE_FLAGS mask, 1832 PROPDESC_TYPE_FLAGS *ppdtFlags) = 0; 1833 1834 virtual HRESULT STDMETHODCALLTYPE GetViewFlags( 1835 PROPDESC_VIEW_FLAGS *ppdvFlags) = 0; 1836 1837 virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnWidth( 1838 UINT *pcxChars) = 0; 1839 1840 virtual HRESULT STDMETHODCALLTYPE GetDisplayType( 1841 PROPDESC_DISPLAYTYPE *pdisplaytype) = 0; 1842 1843 virtual HRESULT STDMETHODCALLTYPE GetColumnState( 1844 SHCOLSTATEF *pcsFlags) = 0; 1845 1846 virtual HRESULT STDMETHODCALLTYPE GetGroupingRange( 1847 PROPDESC_GROUPING_RANGE *pgr) = 0; 1848 1849 virtual HRESULT STDMETHODCALLTYPE GetRelativeDescriptionType( 1850 PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt) = 0; 1851 1852 virtual HRESULT STDMETHODCALLTYPE GetRelativeDescription( 1853 REFPROPVARIANT propvar1, 1854 REFPROPVARIANT propvar2, 1855 LPWSTR *ppszDesc1, 1856 LPWSTR *ppszDesc2) = 0; 1857 1858 virtual HRESULT STDMETHODCALLTYPE GetSortDescription( 1859 PROPDESC_SORTDESCRIPTION *psd) = 0; 1860 1861 virtual HRESULT STDMETHODCALLTYPE GetSortDescriptionLabel( 1862 WINBOOL fDescending, 1863 LPWSTR *ppszDescription) = 0; 1864 1865 virtual HRESULT STDMETHODCALLTYPE GetAggregationType( 1866 PROPDESC_AGGREGATION_TYPE *paggtype) = 0; 1867 1868 virtual HRESULT STDMETHODCALLTYPE GetConditionType( 1869 PROPDESC_CONDITION_TYPE *pcontype, 1870 CONDITION_OPERATION *popDefault) = 0; 1871 1872 virtual HRESULT STDMETHODCALLTYPE GetEnumTypeList( 1873 REFIID riid, 1874 void **ppv) = 0; 1875 1876 virtual HRESULT STDMETHODCALLTYPE CoerceToCanonicalValue( 1877 PROPVARIANT *ppropvar) = 0; 1878 1879 virtual HRESULT STDMETHODCALLTYPE FormatForDisplay( 1880 REFPROPVARIANT propvar, 1881 PROPDESC_FORMAT_FLAGS pdfFlags, 1882 LPWSTR *ppszDisplay) = 0; 1883 1884 virtual HRESULT STDMETHODCALLTYPE IsValueCanonical( 1885 REFPROPVARIANT propvar) = 0; 1886 1887 }; 1888 #ifdef __CRT_UUID_DECL 1889 __CRT_UUID_DECL(IPropertyDescription, 0x6f79d558, 0x3e96, 0x4549, 0xa1,0xd1, 0x7d,0x75,0xd2,0x28,0x88,0x14) 1890 #endif 1891 #else 1892 typedef struct IPropertyDescriptionVtbl { 1893 BEGIN_INTERFACE 1894 1895 /*** IUnknown methods ***/ 1896 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1897 IPropertyDescription *This, 1898 REFIID riid, 1899 void **ppvObject); 1900 1901 ULONG (STDMETHODCALLTYPE *AddRef)( 1902 IPropertyDescription *This); 1903 1904 ULONG (STDMETHODCALLTYPE *Release)( 1905 IPropertyDescription *This); 1906 1907 /*** IPropertyDescription methods ***/ 1908 HRESULT (STDMETHODCALLTYPE *GetPropertyKey)( 1909 IPropertyDescription *This, 1910 PROPERTYKEY *pkey); 1911 1912 HRESULT (STDMETHODCALLTYPE *GetCanonicalName)( 1913 IPropertyDescription *This, 1914 LPWSTR *ppszName); 1915 1916 HRESULT (STDMETHODCALLTYPE *GetPropertyType)( 1917 IPropertyDescription *This, 1918 VARTYPE *pvartype); 1919 1920 HRESULT (STDMETHODCALLTYPE *GetDisplayName)( 1921 IPropertyDescription *This, 1922 LPWSTR *ppszName); 1923 1924 HRESULT (STDMETHODCALLTYPE *GetEditInvitation)( 1925 IPropertyDescription *This, 1926 LPWSTR *ppszInvite); 1927 1928 HRESULT (STDMETHODCALLTYPE *GetTypeFlags)( 1929 IPropertyDescription *This, 1930 PROPDESC_TYPE_FLAGS mask, 1931 PROPDESC_TYPE_FLAGS *ppdtFlags); 1932 1933 HRESULT (STDMETHODCALLTYPE *GetViewFlags)( 1934 IPropertyDescription *This, 1935 PROPDESC_VIEW_FLAGS *ppdvFlags); 1936 1937 HRESULT (STDMETHODCALLTYPE *GetDefaultColumnWidth)( 1938 IPropertyDescription *This, 1939 UINT *pcxChars); 1940 1941 HRESULT (STDMETHODCALLTYPE *GetDisplayType)( 1942 IPropertyDescription *This, 1943 PROPDESC_DISPLAYTYPE *pdisplaytype); 1944 1945 HRESULT (STDMETHODCALLTYPE *GetColumnState)( 1946 IPropertyDescription *This, 1947 SHCOLSTATEF *pcsFlags); 1948 1949 HRESULT (STDMETHODCALLTYPE *GetGroupingRange)( 1950 IPropertyDescription *This, 1951 PROPDESC_GROUPING_RANGE *pgr); 1952 1953 HRESULT (STDMETHODCALLTYPE *GetRelativeDescriptionType)( 1954 IPropertyDescription *This, 1955 PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt); 1956 1957 HRESULT (STDMETHODCALLTYPE *GetRelativeDescription)( 1958 IPropertyDescription *This, 1959 REFPROPVARIANT propvar1, 1960 REFPROPVARIANT propvar2, 1961 LPWSTR *ppszDesc1, 1962 LPWSTR *ppszDesc2); 1963 1964 HRESULT (STDMETHODCALLTYPE *GetSortDescription)( 1965 IPropertyDescription *This, 1966 PROPDESC_SORTDESCRIPTION *psd); 1967 1968 HRESULT (STDMETHODCALLTYPE *GetSortDescriptionLabel)( 1969 IPropertyDescription *This, 1970 WINBOOL fDescending, 1971 LPWSTR *ppszDescription); 1972 1973 HRESULT (STDMETHODCALLTYPE *GetAggregationType)( 1974 IPropertyDescription *This, 1975 PROPDESC_AGGREGATION_TYPE *paggtype); 1976 1977 HRESULT (STDMETHODCALLTYPE *GetConditionType)( 1978 IPropertyDescription *This, 1979 PROPDESC_CONDITION_TYPE *pcontype, 1980 CONDITION_OPERATION *popDefault); 1981 1982 HRESULT (STDMETHODCALLTYPE *GetEnumTypeList)( 1983 IPropertyDescription *This, 1984 REFIID riid, 1985 void **ppv); 1986 1987 HRESULT (STDMETHODCALLTYPE *CoerceToCanonicalValue)( 1988 IPropertyDescription *This, 1989 PROPVARIANT *ppropvar); 1990 1991 HRESULT (STDMETHODCALLTYPE *FormatForDisplay)( 1992 IPropertyDescription *This, 1993 REFPROPVARIANT propvar, 1994 PROPDESC_FORMAT_FLAGS pdfFlags, 1995 LPWSTR *ppszDisplay); 1996 1997 HRESULT (STDMETHODCALLTYPE *IsValueCanonical)( 1998 IPropertyDescription *This, 1999 REFPROPVARIANT propvar); 2000 2001 END_INTERFACE 2002 } IPropertyDescriptionVtbl; 2003 2004 interface IPropertyDescription { 2005 CONST_VTBL IPropertyDescriptionVtbl* lpVtbl; 2006 }; 2007 2008 #ifdef COBJMACROS 2009 #ifndef WIDL_C_INLINE_WRAPPERS 2010 /*** IUnknown methods ***/ 2011 #define IPropertyDescription_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2012 #define IPropertyDescription_AddRef(This) (This)->lpVtbl->AddRef(This) 2013 #define IPropertyDescription_Release(This) (This)->lpVtbl->Release(This) 2014 /*** IPropertyDescription methods ***/ 2015 #define IPropertyDescription_GetPropertyKey(This,pkey) (This)->lpVtbl->GetPropertyKey(This,pkey) 2016 #define IPropertyDescription_GetCanonicalName(This,ppszName) (This)->lpVtbl->GetCanonicalName(This,ppszName) 2017 #define IPropertyDescription_GetPropertyType(This,pvartype) (This)->lpVtbl->GetPropertyType(This,pvartype) 2018 #define IPropertyDescription_GetDisplayName(This,ppszName) (This)->lpVtbl->GetDisplayName(This,ppszName) 2019 #define IPropertyDescription_GetEditInvitation(This,ppszInvite) (This)->lpVtbl->GetEditInvitation(This,ppszInvite) 2020 #define IPropertyDescription_GetTypeFlags(This,mask,ppdtFlags) (This)->lpVtbl->GetTypeFlags(This,mask,ppdtFlags) 2021 #define IPropertyDescription_GetViewFlags(This,ppdvFlags) (This)->lpVtbl->GetViewFlags(This,ppdvFlags) 2022 #define IPropertyDescription_GetDefaultColumnWidth(This,pcxChars) (This)->lpVtbl->GetDefaultColumnWidth(This,pcxChars) 2023 #define IPropertyDescription_GetDisplayType(This,pdisplaytype) (This)->lpVtbl->GetDisplayType(This,pdisplaytype) 2024 #define IPropertyDescription_GetColumnState(This,pcsFlags) (This)->lpVtbl->GetColumnState(This,pcsFlags) 2025 #define IPropertyDescription_GetGroupingRange(This,pgr) (This)->lpVtbl->GetGroupingRange(This,pgr) 2026 #define IPropertyDescription_GetRelativeDescriptionType(This,prdt) (This)->lpVtbl->GetRelativeDescriptionType(This,prdt) 2027 #define IPropertyDescription_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) (This)->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) 2028 #define IPropertyDescription_GetSortDescription(This,psd) (This)->lpVtbl->GetSortDescription(This,psd) 2029 #define IPropertyDescription_GetSortDescriptionLabel(This,fDescending,ppszDescription) (This)->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription) 2030 #define IPropertyDescription_GetAggregationType(This,paggtype) (This)->lpVtbl->GetAggregationType(This,paggtype) 2031 #define IPropertyDescription_GetConditionType(This,pcontype,popDefault) (This)->lpVtbl->GetConditionType(This,pcontype,popDefault) 2032 #define IPropertyDescription_GetEnumTypeList(This,riid,ppv) (This)->lpVtbl->GetEnumTypeList(This,riid,ppv) 2033 #define IPropertyDescription_CoerceToCanonicalValue(This,ppropvar) (This)->lpVtbl->CoerceToCanonicalValue(This,ppropvar) 2034 #define IPropertyDescription_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) (This)->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) 2035 #define IPropertyDescription_IsValueCanonical(This,propvar) (This)->lpVtbl->IsValueCanonical(This,propvar) 2036 #else 2037 /*** IUnknown methods ***/ 2038 static FORCEINLINE HRESULT IPropertyDescription_QueryInterface(IPropertyDescription* This,REFIID riid,void **ppvObject) { 2039 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2040 } 2041 static FORCEINLINE ULONG IPropertyDescription_AddRef(IPropertyDescription* This) { 2042 return This->lpVtbl->AddRef(This); 2043 } 2044 static FORCEINLINE ULONG IPropertyDescription_Release(IPropertyDescription* This) { 2045 return This->lpVtbl->Release(This); 2046 } 2047 /*** IPropertyDescription methods ***/ 2048 static FORCEINLINE HRESULT IPropertyDescription_GetPropertyKey(IPropertyDescription* This,PROPERTYKEY *pkey) { 2049 return This->lpVtbl->GetPropertyKey(This,pkey); 2050 } 2051 static FORCEINLINE HRESULT IPropertyDescription_GetCanonicalName(IPropertyDescription* This,LPWSTR *ppszName) { 2052 return This->lpVtbl->GetCanonicalName(This,ppszName); 2053 } 2054 static FORCEINLINE HRESULT IPropertyDescription_GetPropertyType(IPropertyDescription* This,VARTYPE *pvartype) { 2055 return This->lpVtbl->GetPropertyType(This,pvartype); 2056 } 2057 static FORCEINLINE HRESULT IPropertyDescription_GetDisplayName(IPropertyDescription* This,LPWSTR *ppszName) { 2058 return This->lpVtbl->GetDisplayName(This,ppszName); 2059 } 2060 static FORCEINLINE HRESULT IPropertyDescription_GetEditInvitation(IPropertyDescription* This,LPWSTR *ppszInvite) { 2061 return This->lpVtbl->GetEditInvitation(This,ppszInvite); 2062 } 2063 static FORCEINLINE HRESULT IPropertyDescription_GetTypeFlags(IPropertyDescription* This,PROPDESC_TYPE_FLAGS mask,PROPDESC_TYPE_FLAGS *ppdtFlags) { 2064 return This->lpVtbl->GetTypeFlags(This,mask,ppdtFlags); 2065 } 2066 static FORCEINLINE HRESULT IPropertyDescription_GetViewFlags(IPropertyDescription* This,PROPDESC_VIEW_FLAGS *ppdvFlags) { 2067 return This->lpVtbl->GetViewFlags(This,ppdvFlags); 2068 } 2069 static FORCEINLINE HRESULT IPropertyDescription_GetDefaultColumnWidth(IPropertyDescription* This,UINT *pcxChars) { 2070 return This->lpVtbl->GetDefaultColumnWidth(This,pcxChars); 2071 } 2072 static FORCEINLINE HRESULT IPropertyDescription_GetDisplayType(IPropertyDescription* This,PROPDESC_DISPLAYTYPE *pdisplaytype) { 2073 return This->lpVtbl->GetDisplayType(This,pdisplaytype); 2074 } 2075 static FORCEINLINE HRESULT IPropertyDescription_GetColumnState(IPropertyDescription* This,SHCOLSTATEF *pcsFlags) { 2076 return This->lpVtbl->GetColumnState(This,pcsFlags); 2077 } 2078 static FORCEINLINE HRESULT IPropertyDescription_GetGroupingRange(IPropertyDescription* This,PROPDESC_GROUPING_RANGE *pgr) { 2079 return This->lpVtbl->GetGroupingRange(This,pgr); 2080 } 2081 static FORCEINLINE HRESULT IPropertyDescription_GetRelativeDescriptionType(IPropertyDescription* This,PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt) { 2082 return This->lpVtbl->GetRelativeDescriptionType(This,prdt); 2083 } 2084 static FORCEINLINE HRESULT IPropertyDescription_GetRelativeDescription(IPropertyDescription* This,REFPROPVARIANT propvar1,REFPROPVARIANT propvar2,LPWSTR *ppszDesc1,LPWSTR *ppszDesc2) { 2085 return This->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2); 2086 } 2087 static FORCEINLINE HRESULT IPropertyDescription_GetSortDescription(IPropertyDescription* This,PROPDESC_SORTDESCRIPTION *psd) { 2088 return This->lpVtbl->GetSortDescription(This,psd); 2089 } 2090 static FORCEINLINE HRESULT IPropertyDescription_GetSortDescriptionLabel(IPropertyDescription* This,WINBOOL fDescending,LPWSTR *ppszDescription) { 2091 return This->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription); 2092 } 2093 static FORCEINLINE HRESULT IPropertyDescription_GetAggregationType(IPropertyDescription* This,PROPDESC_AGGREGATION_TYPE *paggtype) { 2094 return This->lpVtbl->GetAggregationType(This,paggtype); 2095 } 2096 static FORCEINLINE HRESULT IPropertyDescription_GetConditionType(IPropertyDescription* This,PROPDESC_CONDITION_TYPE *pcontype,CONDITION_OPERATION *popDefault) { 2097 return This->lpVtbl->GetConditionType(This,pcontype,popDefault); 2098 } 2099 static FORCEINLINE HRESULT IPropertyDescription_GetEnumTypeList(IPropertyDescription* This,REFIID riid,void **ppv) { 2100 return This->lpVtbl->GetEnumTypeList(This,riid,ppv); 2101 } 2102 static FORCEINLINE HRESULT IPropertyDescription_CoerceToCanonicalValue(IPropertyDescription* This,PROPVARIANT *ppropvar) { 2103 return This->lpVtbl->CoerceToCanonicalValue(This,ppropvar); 2104 } 2105 static FORCEINLINE HRESULT IPropertyDescription_FormatForDisplay(IPropertyDescription* This,REFPROPVARIANT propvar,PROPDESC_FORMAT_FLAGS pdfFlags,LPWSTR *ppszDisplay) { 2106 return This->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay); 2107 } 2108 static FORCEINLINE HRESULT IPropertyDescription_IsValueCanonical(IPropertyDescription* This,REFPROPVARIANT propvar) { 2109 return This->lpVtbl->IsValueCanonical(This,propvar); 2110 } 2111 #endif 2112 #endif 2113 2114 #endif 2115 2116 HRESULT STDMETHODCALLTYPE IPropertyDescription_RemoteCoerceToCanonicalValue_Proxy( 2117 IPropertyDescription* This, 2118 REFPROPVARIANT propvar, 2119 PROPVARIANT *ppropvar); 2120 void __RPC_STUB IPropertyDescription_RemoteCoerceToCanonicalValue_Stub( 2121 IRpcStubBuffer* This, 2122 IRpcChannelBuffer* pRpcChannelBuffer, 2123 PRPC_MESSAGE pRpcMessage, 2124 DWORD* pdwStubPhase); 2125 HRESULT CALLBACK IPropertyDescription_CoerceToCanonicalValue_Proxy( 2126 IPropertyDescription* This, 2127 PROPVARIANT *ppropvar); 2128 HRESULT __RPC_STUB IPropertyDescription_CoerceToCanonicalValue_Stub( 2129 IPropertyDescription* This, 2130 REFPROPVARIANT propvar, 2131 PROPVARIANT *ppropvar); 2132 2133 #endif /* __IPropertyDescription_INTERFACE_DEFINED__ */ 2134 2135 2136 /***************************************************************************** 2137 * IPropertyDescription2 interface 2138 */ 2139 #ifndef __IPropertyDescription2_INTERFACE_DEFINED__ 2140 #define __IPropertyDescription2_INTERFACE_DEFINED__ 2141 2142 DEFINE_GUID(IID_IPropertyDescription2, 0x57d2eded, 0x5062, 0x400e, 0xb1,0x07, 0x5d,0xae,0x79,0xfe,0x57,0xa6); 2143 #if defined(__cplusplus) && !defined(CINTERFACE) 2144 MIDL_INTERFACE("57d2eded-5062-400e-b107-5dae79fe57a6") 2145 IPropertyDescription2 : public IPropertyDescription 2146 { 2147 virtual HRESULT STDMETHODCALLTYPE GetImageReferenceForValue( 2148 REFPROPVARIANT propvar, 2149 LPWSTR *ppszImageRes) = 0; 2150 2151 }; 2152 #ifdef __CRT_UUID_DECL 2153 __CRT_UUID_DECL(IPropertyDescription2, 0x57d2eded, 0x5062, 0x400e, 0xb1,0x07, 0x5d,0xae,0x79,0xfe,0x57,0xa6) 2154 #endif 2155 #else 2156 typedef struct IPropertyDescription2Vtbl { 2157 BEGIN_INTERFACE 2158 2159 /*** IUnknown methods ***/ 2160 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2161 IPropertyDescription2 *This, 2162 REFIID riid, 2163 void **ppvObject); 2164 2165 ULONG (STDMETHODCALLTYPE *AddRef)( 2166 IPropertyDescription2 *This); 2167 2168 ULONG (STDMETHODCALLTYPE *Release)( 2169 IPropertyDescription2 *This); 2170 2171 /*** IPropertyDescription methods ***/ 2172 HRESULT (STDMETHODCALLTYPE *GetPropertyKey)( 2173 IPropertyDescription2 *This, 2174 PROPERTYKEY *pkey); 2175 2176 HRESULT (STDMETHODCALLTYPE *GetCanonicalName)( 2177 IPropertyDescription2 *This, 2178 LPWSTR *ppszName); 2179 2180 HRESULT (STDMETHODCALLTYPE *GetPropertyType)( 2181 IPropertyDescription2 *This, 2182 VARTYPE *pvartype); 2183 2184 HRESULT (STDMETHODCALLTYPE *GetDisplayName)( 2185 IPropertyDescription2 *This, 2186 LPWSTR *ppszName); 2187 2188 HRESULT (STDMETHODCALLTYPE *GetEditInvitation)( 2189 IPropertyDescription2 *This, 2190 LPWSTR *ppszInvite); 2191 2192 HRESULT (STDMETHODCALLTYPE *GetTypeFlags)( 2193 IPropertyDescription2 *This, 2194 PROPDESC_TYPE_FLAGS mask, 2195 PROPDESC_TYPE_FLAGS *ppdtFlags); 2196 2197 HRESULT (STDMETHODCALLTYPE *GetViewFlags)( 2198 IPropertyDescription2 *This, 2199 PROPDESC_VIEW_FLAGS *ppdvFlags); 2200 2201 HRESULT (STDMETHODCALLTYPE *GetDefaultColumnWidth)( 2202 IPropertyDescription2 *This, 2203 UINT *pcxChars); 2204 2205 HRESULT (STDMETHODCALLTYPE *GetDisplayType)( 2206 IPropertyDescription2 *This, 2207 PROPDESC_DISPLAYTYPE *pdisplaytype); 2208 2209 HRESULT (STDMETHODCALLTYPE *GetColumnState)( 2210 IPropertyDescription2 *This, 2211 SHCOLSTATEF *pcsFlags); 2212 2213 HRESULT (STDMETHODCALLTYPE *GetGroupingRange)( 2214 IPropertyDescription2 *This, 2215 PROPDESC_GROUPING_RANGE *pgr); 2216 2217 HRESULT (STDMETHODCALLTYPE *GetRelativeDescriptionType)( 2218 IPropertyDescription2 *This, 2219 PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt); 2220 2221 HRESULT (STDMETHODCALLTYPE *GetRelativeDescription)( 2222 IPropertyDescription2 *This, 2223 REFPROPVARIANT propvar1, 2224 REFPROPVARIANT propvar2, 2225 LPWSTR *ppszDesc1, 2226 LPWSTR *ppszDesc2); 2227 2228 HRESULT (STDMETHODCALLTYPE *GetSortDescription)( 2229 IPropertyDescription2 *This, 2230 PROPDESC_SORTDESCRIPTION *psd); 2231 2232 HRESULT (STDMETHODCALLTYPE *GetSortDescriptionLabel)( 2233 IPropertyDescription2 *This, 2234 WINBOOL fDescending, 2235 LPWSTR *ppszDescription); 2236 2237 HRESULT (STDMETHODCALLTYPE *GetAggregationType)( 2238 IPropertyDescription2 *This, 2239 PROPDESC_AGGREGATION_TYPE *paggtype); 2240 2241 HRESULT (STDMETHODCALLTYPE *GetConditionType)( 2242 IPropertyDescription2 *This, 2243 PROPDESC_CONDITION_TYPE *pcontype, 2244 CONDITION_OPERATION *popDefault); 2245 2246 HRESULT (STDMETHODCALLTYPE *GetEnumTypeList)( 2247 IPropertyDescription2 *This, 2248 REFIID riid, 2249 void **ppv); 2250 2251 HRESULT (STDMETHODCALLTYPE *CoerceToCanonicalValue)( 2252 IPropertyDescription2 *This, 2253 PROPVARIANT *ppropvar); 2254 2255 HRESULT (STDMETHODCALLTYPE *FormatForDisplay)( 2256 IPropertyDescription2 *This, 2257 REFPROPVARIANT propvar, 2258 PROPDESC_FORMAT_FLAGS pdfFlags, 2259 LPWSTR *ppszDisplay); 2260 2261 HRESULT (STDMETHODCALLTYPE *IsValueCanonical)( 2262 IPropertyDescription2 *This, 2263 REFPROPVARIANT propvar); 2264 2265 /*** IPropertyDescription2 methods ***/ 2266 HRESULT (STDMETHODCALLTYPE *GetImageReferenceForValue)( 2267 IPropertyDescription2 *This, 2268 REFPROPVARIANT propvar, 2269 LPWSTR *ppszImageRes); 2270 2271 END_INTERFACE 2272 } IPropertyDescription2Vtbl; 2273 2274 interface IPropertyDescription2 { 2275 CONST_VTBL IPropertyDescription2Vtbl* lpVtbl; 2276 }; 2277 2278 #ifdef COBJMACROS 2279 #ifndef WIDL_C_INLINE_WRAPPERS 2280 /*** IUnknown methods ***/ 2281 #define IPropertyDescription2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2282 #define IPropertyDescription2_AddRef(This) (This)->lpVtbl->AddRef(This) 2283 #define IPropertyDescription2_Release(This) (This)->lpVtbl->Release(This) 2284 /*** IPropertyDescription methods ***/ 2285 #define IPropertyDescription2_GetPropertyKey(This,pkey) (This)->lpVtbl->GetPropertyKey(This,pkey) 2286 #define IPropertyDescription2_GetCanonicalName(This,ppszName) (This)->lpVtbl->GetCanonicalName(This,ppszName) 2287 #define IPropertyDescription2_GetPropertyType(This,pvartype) (This)->lpVtbl->GetPropertyType(This,pvartype) 2288 #define IPropertyDescription2_GetDisplayName(This,ppszName) (This)->lpVtbl->GetDisplayName(This,ppszName) 2289 #define IPropertyDescription2_GetEditInvitation(This,ppszInvite) (This)->lpVtbl->GetEditInvitation(This,ppszInvite) 2290 #define IPropertyDescription2_GetTypeFlags(This,mask,ppdtFlags) (This)->lpVtbl->GetTypeFlags(This,mask,ppdtFlags) 2291 #define IPropertyDescription2_GetViewFlags(This,ppdvFlags) (This)->lpVtbl->GetViewFlags(This,ppdvFlags) 2292 #define IPropertyDescription2_GetDefaultColumnWidth(This,pcxChars) (This)->lpVtbl->GetDefaultColumnWidth(This,pcxChars) 2293 #define IPropertyDescription2_GetDisplayType(This,pdisplaytype) (This)->lpVtbl->GetDisplayType(This,pdisplaytype) 2294 #define IPropertyDescription2_GetColumnState(This,pcsFlags) (This)->lpVtbl->GetColumnState(This,pcsFlags) 2295 #define IPropertyDescription2_GetGroupingRange(This,pgr) (This)->lpVtbl->GetGroupingRange(This,pgr) 2296 #define IPropertyDescription2_GetRelativeDescriptionType(This,prdt) (This)->lpVtbl->GetRelativeDescriptionType(This,prdt) 2297 #define IPropertyDescription2_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) (This)->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) 2298 #define IPropertyDescription2_GetSortDescription(This,psd) (This)->lpVtbl->GetSortDescription(This,psd) 2299 #define IPropertyDescription2_GetSortDescriptionLabel(This,fDescending,ppszDescription) (This)->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription) 2300 #define IPropertyDescription2_GetAggregationType(This,paggtype) (This)->lpVtbl->GetAggregationType(This,paggtype) 2301 #define IPropertyDescription2_GetConditionType(This,pcontype,popDefault) (This)->lpVtbl->GetConditionType(This,pcontype,popDefault) 2302 #define IPropertyDescription2_GetEnumTypeList(This,riid,ppv) (This)->lpVtbl->GetEnumTypeList(This,riid,ppv) 2303 #define IPropertyDescription2_CoerceToCanonicalValue(This,ppropvar) (This)->lpVtbl->CoerceToCanonicalValue(This,ppropvar) 2304 #define IPropertyDescription2_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) (This)->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) 2305 #define IPropertyDescription2_IsValueCanonical(This,propvar) (This)->lpVtbl->IsValueCanonical(This,propvar) 2306 /*** IPropertyDescription2 methods ***/ 2307 #define IPropertyDescription2_GetImageReferenceForValue(This,propvar,ppszImageRes) (This)->lpVtbl->GetImageReferenceForValue(This,propvar,ppszImageRes) 2308 #else 2309 /*** IUnknown methods ***/ 2310 static FORCEINLINE HRESULT IPropertyDescription2_QueryInterface(IPropertyDescription2* This,REFIID riid,void **ppvObject) { 2311 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2312 } 2313 static FORCEINLINE ULONG IPropertyDescription2_AddRef(IPropertyDescription2* This) { 2314 return This->lpVtbl->AddRef(This); 2315 } 2316 static FORCEINLINE ULONG IPropertyDescription2_Release(IPropertyDescription2* This) { 2317 return This->lpVtbl->Release(This); 2318 } 2319 /*** IPropertyDescription methods ***/ 2320 static FORCEINLINE HRESULT IPropertyDescription2_GetPropertyKey(IPropertyDescription2* This,PROPERTYKEY *pkey) { 2321 return This->lpVtbl->GetPropertyKey(This,pkey); 2322 } 2323 static FORCEINLINE HRESULT IPropertyDescription2_GetCanonicalName(IPropertyDescription2* This,LPWSTR *ppszName) { 2324 return This->lpVtbl->GetCanonicalName(This,ppszName); 2325 } 2326 static FORCEINLINE HRESULT IPropertyDescription2_GetPropertyType(IPropertyDescription2* This,VARTYPE *pvartype) { 2327 return This->lpVtbl->GetPropertyType(This,pvartype); 2328 } 2329 static FORCEINLINE HRESULT IPropertyDescription2_GetDisplayName(IPropertyDescription2* This,LPWSTR *ppszName) { 2330 return This->lpVtbl->GetDisplayName(This,ppszName); 2331 } 2332 static FORCEINLINE HRESULT IPropertyDescription2_GetEditInvitation(IPropertyDescription2* This,LPWSTR *ppszInvite) { 2333 return This->lpVtbl->GetEditInvitation(This,ppszInvite); 2334 } 2335 static FORCEINLINE HRESULT IPropertyDescription2_GetTypeFlags(IPropertyDescription2* This,PROPDESC_TYPE_FLAGS mask,PROPDESC_TYPE_FLAGS *ppdtFlags) { 2336 return This->lpVtbl->GetTypeFlags(This,mask,ppdtFlags); 2337 } 2338 static FORCEINLINE HRESULT IPropertyDescription2_GetViewFlags(IPropertyDescription2* This,PROPDESC_VIEW_FLAGS *ppdvFlags) { 2339 return This->lpVtbl->GetViewFlags(This,ppdvFlags); 2340 } 2341 static FORCEINLINE HRESULT IPropertyDescription2_GetDefaultColumnWidth(IPropertyDescription2* This,UINT *pcxChars) { 2342 return This->lpVtbl->GetDefaultColumnWidth(This,pcxChars); 2343 } 2344 static FORCEINLINE HRESULT IPropertyDescription2_GetDisplayType(IPropertyDescription2* This,PROPDESC_DISPLAYTYPE *pdisplaytype) { 2345 return This->lpVtbl->GetDisplayType(This,pdisplaytype); 2346 } 2347 static FORCEINLINE HRESULT IPropertyDescription2_GetColumnState(IPropertyDescription2* This,SHCOLSTATEF *pcsFlags) { 2348 return This->lpVtbl->GetColumnState(This,pcsFlags); 2349 } 2350 static FORCEINLINE HRESULT IPropertyDescription2_GetGroupingRange(IPropertyDescription2* This,PROPDESC_GROUPING_RANGE *pgr) { 2351 return This->lpVtbl->GetGroupingRange(This,pgr); 2352 } 2353 static FORCEINLINE HRESULT IPropertyDescription2_GetRelativeDescriptionType(IPropertyDescription2* This,PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt) { 2354 return This->lpVtbl->GetRelativeDescriptionType(This,prdt); 2355 } 2356 static FORCEINLINE HRESULT IPropertyDescription2_GetRelativeDescription(IPropertyDescription2* This,REFPROPVARIANT propvar1,REFPROPVARIANT propvar2,LPWSTR *ppszDesc1,LPWSTR *ppszDesc2) { 2357 return This->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2); 2358 } 2359 static FORCEINLINE HRESULT IPropertyDescription2_GetSortDescription(IPropertyDescription2* This,PROPDESC_SORTDESCRIPTION *psd) { 2360 return This->lpVtbl->GetSortDescription(This,psd); 2361 } 2362 static FORCEINLINE HRESULT IPropertyDescription2_GetSortDescriptionLabel(IPropertyDescription2* This,WINBOOL fDescending,LPWSTR *ppszDescription) { 2363 return This->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription); 2364 } 2365 static FORCEINLINE HRESULT IPropertyDescription2_GetAggregationType(IPropertyDescription2* This,PROPDESC_AGGREGATION_TYPE *paggtype) { 2366 return This->lpVtbl->GetAggregationType(This,paggtype); 2367 } 2368 static FORCEINLINE HRESULT IPropertyDescription2_GetConditionType(IPropertyDescription2* This,PROPDESC_CONDITION_TYPE *pcontype,CONDITION_OPERATION *popDefault) { 2369 return This->lpVtbl->GetConditionType(This,pcontype,popDefault); 2370 } 2371 static FORCEINLINE HRESULT IPropertyDescription2_GetEnumTypeList(IPropertyDescription2* This,REFIID riid,void **ppv) { 2372 return This->lpVtbl->GetEnumTypeList(This,riid,ppv); 2373 } 2374 static FORCEINLINE HRESULT IPropertyDescription2_CoerceToCanonicalValue(IPropertyDescription2* This,PROPVARIANT *ppropvar) { 2375 return This->lpVtbl->CoerceToCanonicalValue(This,ppropvar); 2376 } 2377 static FORCEINLINE HRESULT IPropertyDescription2_FormatForDisplay(IPropertyDescription2* This,REFPROPVARIANT propvar,PROPDESC_FORMAT_FLAGS pdfFlags,LPWSTR *ppszDisplay) { 2378 return This->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay); 2379 } 2380 static FORCEINLINE HRESULT IPropertyDescription2_IsValueCanonical(IPropertyDescription2* This,REFPROPVARIANT propvar) { 2381 return This->lpVtbl->IsValueCanonical(This,propvar); 2382 } 2383 /*** IPropertyDescription2 methods ***/ 2384 static FORCEINLINE HRESULT IPropertyDescription2_GetImageReferenceForValue(IPropertyDescription2* This,REFPROPVARIANT propvar,LPWSTR *ppszImageRes) { 2385 return This->lpVtbl->GetImageReferenceForValue(This,propvar,ppszImageRes); 2386 } 2387 #endif 2388 #endif 2389 2390 #endif 2391 2392 2393 #endif /* __IPropertyDescription2_INTERFACE_DEFINED__ */ 2394 2395 2396 /***************************************************************************** 2397 * IPropertyDescriptionAliasInfo interface 2398 */ 2399 #ifndef __IPropertyDescriptionAliasInfo_INTERFACE_DEFINED__ 2400 #define __IPropertyDescriptionAliasInfo_INTERFACE_DEFINED__ 2401 2402 DEFINE_GUID(IID_IPropertyDescriptionAliasInfo, 0xf67104fc, 0x2af9, 0x46fd, 0xb3,0x2d, 0x24,0x3c,0x14,0x04,0xf3,0xd1); 2403 #if defined(__cplusplus) && !defined(CINTERFACE) 2404 MIDL_INTERFACE("f67104fc-2af9-46fd-b32d-243c1404f3d1") 2405 IPropertyDescriptionAliasInfo : public IPropertyDescription 2406 { 2407 virtual HRESULT STDMETHODCALLTYPE GetSortByAlias( 2408 REFIID riid, 2409 void **ppv) = 0; 2410 2411 virtual HRESULT STDMETHODCALLTYPE GetAdditionalSortByAliases( 2412 REFIID riid, 2413 void **ppv) = 0; 2414 2415 }; 2416 #ifdef __CRT_UUID_DECL 2417 __CRT_UUID_DECL(IPropertyDescriptionAliasInfo, 0xf67104fc, 0x2af9, 0x46fd, 0xb3,0x2d, 0x24,0x3c,0x14,0x04,0xf3,0xd1) 2418 #endif 2419 #else 2420 typedef struct IPropertyDescriptionAliasInfoVtbl { 2421 BEGIN_INTERFACE 2422 2423 /*** IUnknown methods ***/ 2424 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2425 IPropertyDescriptionAliasInfo *This, 2426 REFIID riid, 2427 void **ppvObject); 2428 2429 ULONG (STDMETHODCALLTYPE *AddRef)( 2430 IPropertyDescriptionAliasInfo *This); 2431 2432 ULONG (STDMETHODCALLTYPE *Release)( 2433 IPropertyDescriptionAliasInfo *This); 2434 2435 /*** IPropertyDescription methods ***/ 2436 HRESULT (STDMETHODCALLTYPE *GetPropertyKey)( 2437 IPropertyDescriptionAliasInfo *This, 2438 PROPERTYKEY *pkey); 2439 2440 HRESULT (STDMETHODCALLTYPE *GetCanonicalName)( 2441 IPropertyDescriptionAliasInfo *This, 2442 LPWSTR *ppszName); 2443 2444 HRESULT (STDMETHODCALLTYPE *GetPropertyType)( 2445 IPropertyDescriptionAliasInfo *This, 2446 VARTYPE *pvartype); 2447 2448 HRESULT (STDMETHODCALLTYPE *GetDisplayName)( 2449 IPropertyDescriptionAliasInfo *This, 2450 LPWSTR *ppszName); 2451 2452 HRESULT (STDMETHODCALLTYPE *GetEditInvitation)( 2453 IPropertyDescriptionAliasInfo *This, 2454 LPWSTR *ppszInvite); 2455 2456 HRESULT (STDMETHODCALLTYPE *GetTypeFlags)( 2457 IPropertyDescriptionAliasInfo *This, 2458 PROPDESC_TYPE_FLAGS mask, 2459 PROPDESC_TYPE_FLAGS *ppdtFlags); 2460 2461 HRESULT (STDMETHODCALLTYPE *GetViewFlags)( 2462 IPropertyDescriptionAliasInfo *This, 2463 PROPDESC_VIEW_FLAGS *ppdvFlags); 2464 2465 HRESULT (STDMETHODCALLTYPE *GetDefaultColumnWidth)( 2466 IPropertyDescriptionAliasInfo *This, 2467 UINT *pcxChars); 2468 2469 HRESULT (STDMETHODCALLTYPE *GetDisplayType)( 2470 IPropertyDescriptionAliasInfo *This, 2471 PROPDESC_DISPLAYTYPE *pdisplaytype); 2472 2473 HRESULT (STDMETHODCALLTYPE *GetColumnState)( 2474 IPropertyDescriptionAliasInfo *This, 2475 SHCOLSTATEF *pcsFlags); 2476 2477 HRESULT (STDMETHODCALLTYPE *GetGroupingRange)( 2478 IPropertyDescriptionAliasInfo *This, 2479 PROPDESC_GROUPING_RANGE *pgr); 2480 2481 HRESULT (STDMETHODCALLTYPE *GetRelativeDescriptionType)( 2482 IPropertyDescriptionAliasInfo *This, 2483 PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt); 2484 2485 HRESULT (STDMETHODCALLTYPE *GetRelativeDescription)( 2486 IPropertyDescriptionAliasInfo *This, 2487 REFPROPVARIANT propvar1, 2488 REFPROPVARIANT propvar2, 2489 LPWSTR *ppszDesc1, 2490 LPWSTR *ppszDesc2); 2491 2492 HRESULT (STDMETHODCALLTYPE *GetSortDescription)( 2493 IPropertyDescriptionAliasInfo *This, 2494 PROPDESC_SORTDESCRIPTION *psd); 2495 2496 HRESULT (STDMETHODCALLTYPE *GetSortDescriptionLabel)( 2497 IPropertyDescriptionAliasInfo *This, 2498 WINBOOL fDescending, 2499 LPWSTR *ppszDescription); 2500 2501 HRESULT (STDMETHODCALLTYPE *GetAggregationType)( 2502 IPropertyDescriptionAliasInfo *This, 2503 PROPDESC_AGGREGATION_TYPE *paggtype); 2504 2505 HRESULT (STDMETHODCALLTYPE *GetConditionType)( 2506 IPropertyDescriptionAliasInfo *This, 2507 PROPDESC_CONDITION_TYPE *pcontype, 2508 CONDITION_OPERATION *popDefault); 2509 2510 HRESULT (STDMETHODCALLTYPE *GetEnumTypeList)( 2511 IPropertyDescriptionAliasInfo *This, 2512 REFIID riid, 2513 void **ppv); 2514 2515 HRESULT (STDMETHODCALLTYPE *CoerceToCanonicalValue)( 2516 IPropertyDescriptionAliasInfo *This, 2517 PROPVARIANT *ppropvar); 2518 2519 HRESULT (STDMETHODCALLTYPE *FormatForDisplay)( 2520 IPropertyDescriptionAliasInfo *This, 2521 REFPROPVARIANT propvar, 2522 PROPDESC_FORMAT_FLAGS pdfFlags, 2523 LPWSTR *ppszDisplay); 2524 2525 HRESULT (STDMETHODCALLTYPE *IsValueCanonical)( 2526 IPropertyDescriptionAliasInfo *This, 2527 REFPROPVARIANT propvar); 2528 2529 /*** IPropertyDescriptionAliasInfo methods ***/ 2530 HRESULT (STDMETHODCALLTYPE *GetSortByAlias)( 2531 IPropertyDescriptionAliasInfo *This, 2532 REFIID riid, 2533 void **ppv); 2534 2535 HRESULT (STDMETHODCALLTYPE *GetAdditionalSortByAliases)( 2536 IPropertyDescriptionAliasInfo *This, 2537 REFIID riid, 2538 void **ppv); 2539 2540 END_INTERFACE 2541 } IPropertyDescriptionAliasInfoVtbl; 2542 2543 interface IPropertyDescriptionAliasInfo { 2544 CONST_VTBL IPropertyDescriptionAliasInfoVtbl* lpVtbl; 2545 }; 2546 2547 #ifdef COBJMACROS 2548 #ifndef WIDL_C_INLINE_WRAPPERS 2549 /*** IUnknown methods ***/ 2550 #define IPropertyDescriptionAliasInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2551 #define IPropertyDescriptionAliasInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 2552 #define IPropertyDescriptionAliasInfo_Release(This) (This)->lpVtbl->Release(This) 2553 /*** IPropertyDescription methods ***/ 2554 #define IPropertyDescriptionAliasInfo_GetPropertyKey(This,pkey) (This)->lpVtbl->GetPropertyKey(This,pkey) 2555 #define IPropertyDescriptionAliasInfo_GetCanonicalName(This,ppszName) (This)->lpVtbl->GetCanonicalName(This,ppszName) 2556 #define IPropertyDescriptionAliasInfo_GetPropertyType(This,pvartype) (This)->lpVtbl->GetPropertyType(This,pvartype) 2557 #define IPropertyDescriptionAliasInfo_GetDisplayName(This,ppszName) (This)->lpVtbl->GetDisplayName(This,ppszName) 2558 #define IPropertyDescriptionAliasInfo_GetEditInvitation(This,ppszInvite) (This)->lpVtbl->GetEditInvitation(This,ppszInvite) 2559 #define IPropertyDescriptionAliasInfo_GetTypeFlags(This,mask,ppdtFlags) (This)->lpVtbl->GetTypeFlags(This,mask,ppdtFlags) 2560 #define IPropertyDescriptionAliasInfo_GetViewFlags(This,ppdvFlags) (This)->lpVtbl->GetViewFlags(This,ppdvFlags) 2561 #define IPropertyDescriptionAliasInfo_GetDefaultColumnWidth(This,pcxChars) (This)->lpVtbl->GetDefaultColumnWidth(This,pcxChars) 2562 #define IPropertyDescriptionAliasInfo_GetDisplayType(This,pdisplaytype) (This)->lpVtbl->GetDisplayType(This,pdisplaytype) 2563 #define IPropertyDescriptionAliasInfo_GetColumnState(This,pcsFlags) (This)->lpVtbl->GetColumnState(This,pcsFlags) 2564 #define IPropertyDescriptionAliasInfo_GetGroupingRange(This,pgr) (This)->lpVtbl->GetGroupingRange(This,pgr) 2565 #define IPropertyDescriptionAliasInfo_GetRelativeDescriptionType(This,prdt) (This)->lpVtbl->GetRelativeDescriptionType(This,prdt) 2566 #define IPropertyDescriptionAliasInfo_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) (This)->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) 2567 #define IPropertyDescriptionAliasInfo_GetSortDescription(This,psd) (This)->lpVtbl->GetSortDescription(This,psd) 2568 #define IPropertyDescriptionAliasInfo_GetSortDescriptionLabel(This,fDescending,ppszDescription) (This)->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription) 2569 #define IPropertyDescriptionAliasInfo_GetAggregationType(This,paggtype) (This)->lpVtbl->GetAggregationType(This,paggtype) 2570 #define IPropertyDescriptionAliasInfo_GetConditionType(This,pcontype,popDefault) (This)->lpVtbl->GetConditionType(This,pcontype,popDefault) 2571 #define IPropertyDescriptionAliasInfo_GetEnumTypeList(This,riid,ppv) (This)->lpVtbl->GetEnumTypeList(This,riid,ppv) 2572 #define IPropertyDescriptionAliasInfo_CoerceToCanonicalValue(This,ppropvar) (This)->lpVtbl->CoerceToCanonicalValue(This,ppropvar) 2573 #define IPropertyDescriptionAliasInfo_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) (This)->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) 2574 #define IPropertyDescriptionAliasInfo_IsValueCanonical(This,propvar) (This)->lpVtbl->IsValueCanonical(This,propvar) 2575 /*** IPropertyDescriptionAliasInfo methods ***/ 2576 #define IPropertyDescriptionAliasInfo_GetSortByAlias(This,riid,ppv) (This)->lpVtbl->GetSortByAlias(This,riid,ppv) 2577 #define IPropertyDescriptionAliasInfo_GetAdditionalSortByAliases(This,riid,ppv) (This)->lpVtbl->GetAdditionalSortByAliases(This,riid,ppv) 2578 #else 2579 /*** IUnknown methods ***/ 2580 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_QueryInterface(IPropertyDescriptionAliasInfo* This,REFIID riid,void **ppvObject) { 2581 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2582 } 2583 static FORCEINLINE ULONG IPropertyDescriptionAliasInfo_AddRef(IPropertyDescriptionAliasInfo* This) { 2584 return This->lpVtbl->AddRef(This); 2585 } 2586 static FORCEINLINE ULONG IPropertyDescriptionAliasInfo_Release(IPropertyDescriptionAliasInfo* This) { 2587 return This->lpVtbl->Release(This); 2588 } 2589 /*** IPropertyDescription methods ***/ 2590 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetPropertyKey(IPropertyDescriptionAliasInfo* This,PROPERTYKEY *pkey) { 2591 return This->lpVtbl->GetPropertyKey(This,pkey); 2592 } 2593 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetCanonicalName(IPropertyDescriptionAliasInfo* This,LPWSTR *ppszName) { 2594 return This->lpVtbl->GetCanonicalName(This,ppszName); 2595 } 2596 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetPropertyType(IPropertyDescriptionAliasInfo* This,VARTYPE *pvartype) { 2597 return This->lpVtbl->GetPropertyType(This,pvartype); 2598 } 2599 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetDisplayName(IPropertyDescriptionAliasInfo* This,LPWSTR *ppszName) { 2600 return This->lpVtbl->GetDisplayName(This,ppszName); 2601 } 2602 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetEditInvitation(IPropertyDescriptionAliasInfo* This,LPWSTR *ppszInvite) { 2603 return This->lpVtbl->GetEditInvitation(This,ppszInvite); 2604 } 2605 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetTypeFlags(IPropertyDescriptionAliasInfo* This,PROPDESC_TYPE_FLAGS mask,PROPDESC_TYPE_FLAGS *ppdtFlags) { 2606 return This->lpVtbl->GetTypeFlags(This,mask,ppdtFlags); 2607 } 2608 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetViewFlags(IPropertyDescriptionAliasInfo* This,PROPDESC_VIEW_FLAGS *ppdvFlags) { 2609 return This->lpVtbl->GetViewFlags(This,ppdvFlags); 2610 } 2611 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetDefaultColumnWidth(IPropertyDescriptionAliasInfo* This,UINT *pcxChars) { 2612 return This->lpVtbl->GetDefaultColumnWidth(This,pcxChars); 2613 } 2614 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetDisplayType(IPropertyDescriptionAliasInfo* This,PROPDESC_DISPLAYTYPE *pdisplaytype) { 2615 return This->lpVtbl->GetDisplayType(This,pdisplaytype); 2616 } 2617 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetColumnState(IPropertyDescriptionAliasInfo* This,SHCOLSTATEF *pcsFlags) { 2618 return This->lpVtbl->GetColumnState(This,pcsFlags); 2619 } 2620 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetGroupingRange(IPropertyDescriptionAliasInfo* This,PROPDESC_GROUPING_RANGE *pgr) { 2621 return This->lpVtbl->GetGroupingRange(This,pgr); 2622 } 2623 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetRelativeDescriptionType(IPropertyDescriptionAliasInfo* This,PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt) { 2624 return This->lpVtbl->GetRelativeDescriptionType(This,prdt); 2625 } 2626 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetRelativeDescription(IPropertyDescriptionAliasInfo* This,REFPROPVARIANT propvar1,REFPROPVARIANT propvar2,LPWSTR *ppszDesc1,LPWSTR *ppszDesc2) { 2627 return This->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2); 2628 } 2629 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetSortDescription(IPropertyDescriptionAliasInfo* This,PROPDESC_SORTDESCRIPTION *psd) { 2630 return This->lpVtbl->GetSortDescription(This,psd); 2631 } 2632 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetSortDescriptionLabel(IPropertyDescriptionAliasInfo* This,WINBOOL fDescending,LPWSTR *ppszDescription) { 2633 return This->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription); 2634 } 2635 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetAggregationType(IPropertyDescriptionAliasInfo* This,PROPDESC_AGGREGATION_TYPE *paggtype) { 2636 return This->lpVtbl->GetAggregationType(This,paggtype); 2637 } 2638 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetConditionType(IPropertyDescriptionAliasInfo* This,PROPDESC_CONDITION_TYPE *pcontype,CONDITION_OPERATION *popDefault) { 2639 return This->lpVtbl->GetConditionType(This,pcontype,popDefault); 2640 } 2641 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetEnumTypeList(IPropertyDescriptionAliasInfo* This,REFIID riid,void **ppv) { 2642 return This->lpVtbl->GetEnumTypeList(This,riid,ppv); 2643 } 2644 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_CoerceToCanonicalValue(IPropertyDescriptionAliasInfo* This,PROPVARIANT *ppropvar) { 2645 return This->lpVtbl->CoerceToCanonicalValue(This,ppropvar); 2646 } 2647 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_FormatForDisplay(IPropertyDescriptionAliasInfo* This,REFPROPVARIANT propvar,PROPDESC_FORMAT_FLAGS pdfFlags,LPWSTR *ppszDisplay) { 2648 return This->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay); 2649 } 2650 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_IsValueCanonical(IPropertyDescriptionAliasInfo* This,REFPROPVARIANT propvar) { 2651 return This->lpVtbl->IsValueCanonical(This,propvar); 2652 } 2653 /*** IPropertyDescriptionAliasInfo methods ***/ 2654 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetSortByAlias(IPropertyDescriptionAliasInfo* This,REFIID riid,void **ppv) { 2655 return This->lpVtbl->GetSortByAlias(This,riid,ppv); 2656 } 2657 static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetAdditionalSortByAliases(IPropertyDescriptionAliasInfo* This,REFIID riid,void **ppv) { 2658 return This->lpVtbl->GetAdditionalSortByAliases(This,riid,ppv); 2659 } 2660 #endif 2661 #endif 2662 2663 #endif 2664 2665 2666 #endif /* __IPropertyDescriptionAliasInfo_INTERFACE_DEFINED__ */ 2667 2668 2669 /***************************************************************************** 2670 * IPropertyDescriptionSearchInfo interface 2671 */ 2672 #ifndef __IPropertyDescriptionSearchInfo_INTERFACE_DEFINED__ 2673 #define __IPropertyDescriptionSearchInfo_INTERFACE_DEFINED__ 2674 2675 typedef enum PROPDESC_SEARCHINFO_FLAGS { 2676 PDSIF_DEFAULT = 0x0, 2677 PDSIF_ININVERTEDINDEX = 0x1, 2678 PDSIF_ISCOLUMN = 0x2, 2679 PDSIF_ISCOLUMNSPARSE = 0x4, 2680 PDSIF_ALWAYSINCLUDE = 0x8, 2681 PDSIF_USEFORTYPEAHEAD = 0x10 2682 } PROPDESC_SEARCHINFO_FLAGS; 2683 2684 DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_SEARCHINFO_FLAGS) 2685 2686 typedef enum PROPDESC_COLUMNINDEX_TYPE { 2687 PDCIT_NONE = 0, 2688 PDCIT_ONDISK = 1, 2689 PDCIT_INMEMORY = 2, 2690 PDCIT_ONDEMAND = 3, 2691 PDCIT_ONDISKALL = 4, 2692 PDCIT_ONDISKVECTOR = 5 2693 } PROPDESC_COLUMNINDEX_TYPE; 2694 2695 DEFINE_GUID(IID_IPropertyDescriptionSearchInfo, 0x078f91bd, 0x29a2, 0x440f, 0x92,0x4e, 0x46,0xa2,0x91,0x52,0x45,0x20); 2696 #if defined(__cplusplus) && !defined(CINTERFACE) 2697 MIDL_INTERFACE("078f91bd-29a2-440f-924e-46a291524520") 2698 IPropertyDescriptionSearchInfo : public IPropertyDescription 2699 { 2700 virtual HRESULT STDMETHODCALLTYPE GetSearchInfoFlags( 2701 PROPDESC_SEARCHINFO_FLAGS *ppdsiFlags) = 0; 2702 2703 virtual HRESULT STDMETHODCALLTYPE GetColumnIndexType( 2704 PROPDESC_COLUMNINDEX_TYPE *ppdciType) = 0; 2705 2706 virtual HRESULT STDMETHODCALLTYPE GetProjectionString( 2707 LPWSTR *ppszProjection) = 0; 2708 2709 virtual HRESULT STDMETHODCALLTYPE GetMaxSize( 2710 UINT *pcbMaxSize) = 0; 2711 2712 }; 2713 #ifdef __CRT_UUID_DECL 2714 __CRT_UUID_DECL(IPropertyDescriptionSearchInfo, 0x078f91bd, 0x29a2, 0x440f, 0x92,0x4e, 0x46,0xa2,0x91,0x52,0x45,0x20) 2715 #endif 2716 #else 2717 typedef struct IPropertyDescriptionSearchInfoVtbl { 2718 BEGIN_INTERFACE 2719 2720 /*** IUnknown methods ***/ 2721 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2722 IPropertyDescriptionSearchInfo *This, 2723 REFIID riid, 2724 void **ppvObject); 2725 2726 ULONG (STDMETHODCALLTYPE *AddRef)( 2727 IPropertyDescriptionSearchInfo *This); 2728 2729 ULONG (STDMETHODCALLTYPE *Release)( 2730 IPropertyDescriptionSearchInfo *This); 2731 2732 /*** IPropertyDescription methods ***/ 2733 HRESULT (STDMETHODCALLTYPE *GetPropertyKey)( 2734 IPropertyDescriptionSearchInfo *This, 2735 PROPERTYKEY *pkey); 2736 2737 HRESULT (STDMETHODCALLTYPE *GetCanonicalName)( 2738 IPropertyDescriptionSearchInfo *This, 2739 LPWSTR *ppszName); 2740 2741 HRESULT (STDMETHODCALLTYPE *GetPropertyType)( 2742 IPropertyDescriptionSearchInfo *This, 2743 VARTYPE *pvartype); 2744 2745 HRESULT (STDMETHODCALLTYPE *GetDisplayName)( 2746 IPropertyDescriptionSearchInfo *This, 2747 LPWSTR *ppszName); 2748 2749 HRESULT (STDMETHODCALLTYPE *GetEditInvitation)( 2750 IPropertyDescriptionSearchInfo *This, 2751 LPWSTR *ppszInvite); 2752 2753 HRESULT (STDMETHODCALLTYPE *GetTypeFlags)( 2754 IPropertyDescriptionSearchInfo *This, 2755 PROPDESC_TYPE_FLAGS mask, 2756 PROPDESC_TYPE_FLAGS *ppdtFlags); 2757 2758 HRESULT (STDMETHODCALLTYPE *GetViewFlags)( 2759 IPropertyDescriptionSearchInfo *This, 2760 PROPDESC_VIEW_FLAGS *ppdvFlags); 2761 2762 HRESULT (STDMETHODCALLTYPE *GetDefaultColumnWidth)( 2763 IPropertyDescriptionSearchInfo *This, 2764 UINT *pcxChars); 2765 2766 HRESULT (STDMETHODCALLTYPE *GetDisplayType)( 2767 IPropertyDescriptionSearchInfo *This, 2768 PROPDESC_DISPLAYTYPE *pdisplaytype); 2769 2770 HRESULT (STDMETHODCALLTYPE *GetColumnState)( 2771 IPropertyDescriptionSearchInfo *This, 2772 SHCOLSTATEF *pcsFlags); 2773 2774 HRESULT (STDMETHODCALLTYPE *GetGroupingRange)( 2775 IPropertyDescriptionSearchInfo *This, 2776 PROPDESC_GROUPING_RANGE *pgr); 2777 2778 HRESULT (STDMETHODCALLTYPE *GetRelativeDescriptionType)( 2779 IPropertyDescriptionSearchInfo *This, 2780 PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt); 2781 2782 HRESULT (STDMETHODCALLTYPE *GetRelativeDescription)( 2783 IPropertyDescriptionSearchInfo *This, 2784 REFPROPVARIANT propvar1, 2785 REFPROPVARIANT propvar2, 2786 LPWSTR *ppszDesc1, 2787 LPWSTR *ppszDesc2); 2788 2789 HRESULT (STDMETHODCALLTYPE *GetSortDescription)( 2790 IPropertyDescriptionSearchInfo *This, 2791 PROPDESC_SORTDESCRIPTION *psd); 2792 2793 HRESULT (STDMETHODCALLTYPE *GetSortDescriptionLabel)( 2794 IPropertyDescriptionSearchInfo *This, 2795 WINBOOL fDescending, 2796 LPWSTR *ppszDescription); 2797 2798 HRESULT (STDMETHODCALLTYPE *GetAggregationType)( 2799 IPropertyDescriptionSearchInfo *This, 2800 PROPDESC_AGGREGATION_TYPE *paggtype); 2801 2802 HRESULT (STDMETHODCALLTYPE *GetConditionType)( 2803 IPropertyDescriptionSearchInfo *This, 2804 PROPDESC_CONDITION_TYPE *pcontype, 2805 CONDITION_OPERATION *popDefault); 2806 2807 HRESULT (STDMETHODCALLTYPE *GetEnumTypeList)( 2808 IPropertyDescriptionSearchInfo *This, 2809 REFIID riid, 2810 void **ppv); 2811 2812 HRESULT (STDMETHODCALLTYPE *CoerceToCanonicalValue)( 2813 IPropertyDescriptionSearchInfo *This, 2814 PROPVARIANT *ppropvar); 2815 2816 HRESULT (STDMETHODCALLTYPE *FormatForDisplay)( 2817 IPropertyDescriptionSearchInfo *This, 2818 REFPROPVARIANT propvar, 2819 PROPDESC_FORMAT_FLAGS pdfFlags, 2820 LPWSTR *ppszDisplay); 2821 2822 HRESULT (STDMETHODCALLTYPE *IsValueCanonical)( 2823 IPropertyDescriptionSearchInfo *This, 2824 REFPROPVARIANT propvar); 2825 2826 /*** IPropertyDescriptionSearchInfo methods ***/ 2827 HRESULT (STDMETHODCALLTYPE *GetSearchInfoFlags)( 2828 IPropertyDescriptionSearchInfo *This, 2829 PROPDESC_SEARCHINFO_FLAGS *ppdsiFlags); 2830 2831 HRESULT (STDMETHODCALLTYPE *GetColumnIndexType)( 2832 IPropertyDescriptionSearchInfo *This, 2833 PROPDESC_COLUMNINDEX_TYPE *ppdciType); 2834 2835 HRESULT (STDMETHODCALLTYPE *GetProjectionString)( 2836 IPropertyDescriptionSearchInfo *This, 2837 LPWSTR *ppszProjection); 2838 2839 HRESULT (STDMETHODCALLTYPE *GetMaxSize)( 2840 IPropertyDescriptionSearchInfo *This, 2841 UINT *pcbMaxSize); 2842 2843 END_INTERFACE 2844 } IPropertyDescriptionSearchInfoVtbl; 2845 2846 interface IPropertyDescriptionSearchInfo { 2847 CONST_VTBL IPropertyDescriptionSearchInfoVtbl* lpVtbl; 2848 }; 2849 2850 #ifdef COBJMACROS 2851 #ifndef WIDL_C_INLINE_WRAPPERS 2852 /*** IUnknown methods ***/ 2853 #define IPropertyDescriptionSearchInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2854 #define IPropertyDescriptionSearchInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 2855 #define IPropertyDescriptionSearchInfo_Release(This) (This)->lpVtbl->Release(This) 2856 /*** IPropertyDescription methods ***/ 2857 #define IPropertyDescriptionSearchInfo_GetPropertyKey(This,pkey) (This)->lpVtbl->GetPropertyKey(This,pkey) 2858 #define IPropertyDescriptionSearchInfo_GetCanonicalName(This,ppszName) (This)->lpVtbl->GetCanonicalName(This,ppszName) 2859 #define IPropertyDescriptionSearchInfo_GetPropertyType(This,pvartype) (This)->lpVtbl->GetPropertyType(This,pvartype) 2860 #define IPropertyDescriptionSearchInfo_GetDisplayName(This,ppszName) (This)->lpVtbl->GetDisplayName(This,ppszName) 2861 #define IPropertyDescriptionSearchInfo_GetEditInvitation(This,ppszInvite) (This)->lpVtbl->GetEditInvitation(This,ppszInvite) 2862 #define IPropertyDescriptionSearchInfo_GetTypeFlags(This,mask,ppdtFlags) (This)->lpVtbl->GetTypeFlags(This,mask,ppdtFlags) 2863 #define IPropertyDescriptionSearchInfo_GetViewFlags(This,ppdvFlags) (This)->lpVtbl->GetViewFlags(This,ppdvFlags) 2864 #define IPropertyDescriptionSearchInfo_GetDefaultColumnWidth(This,pcxChars) (This)->lpVtbl->GetDefaultColumnWidth(This,pcxChars) 2865 #define IPropertyDescriptionSearchInfo_GetDisplayType(This,pdisplaytype) (This)->lpVtbl->GetDisplayType(This,pdisplaytype) 2866 #define IPropertyDescriptionSearchInfo_GetColumnState(This,pcsFlags) (This)->lpVtbl->GetColumnState(This,pcsFlags) 2867 #define IPropertyDescriptionSearchInfo_GetGroupingRange(This,pgr) (This)->lpVtbl->GetGroupingRange(This,pgr) 2868 #define IPropertyDescriptionSearchInfo_GetRelativeDescriptionType(This,prdt) (This)->lpVtbl->GetRelativeDescriptionType(This,prdt) 2869 #define IPropertyDescriptionSearchInfo_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) (This)->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) 2870 #define IPropertyDescriptionSearchInfo_GetSortDescription(This,psd) (This)->lpVtbl->GetSortDescription(This,psd) 2871 #define IPropertyDescriptionSearchInfo_GetSortDescriptionLabel(This,fDescending,ppszDescription) (This)->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription) 2872 #define IPropertyDescriptionSearchInfo_GetAggregationType(This,paggtype) (This)->lpVtbl->GetAggregationType(This,paggtype) 2873 #define IPropertyDescriptionSearchInfo_GetConditionType(This,pcontype,popDefault) (This)->lpVtbl->GetConditionType(This,pcontype,popDefault) 2874 #define IPropertyDescriptionSearchInfo_GetEnumTypeList(This,riid,ppv) (This)->lpVtbl->GetEnumTypeList(This,riid,ppv) 2875 #define IPropertyDescriptionSearchInfo_CoerceToCanonicalValue(This,ppropvar) (This)->lpVtbl->CoerceToCanonicalValue(This,ppropvar) 2876 #define IPropertyDescriptionSearchInfo_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) (This)->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) 2877 #define IPropertyDescriptionSearchInfo_IsValueCanonical(This,propvar) (This)->lpVtbl->IsValueCanonical(This,propvar) 2878 /*** IPropertyDescriptionSearchInfo methods ***/ 2879 #define IPropertyDescriptionSearchInfo_GetSearchInfoFlags(This,ppdsiFlags) (This)->lpVtbl->GetSearchInfoFlags(This,ppdsiFlags) 2880 #define IPropertyDescriptionSearchInfo_GetColumnIndexType(This,ppdciType) (This)->lpVtbl->GetColumnIndexType(This,ppdciType) 2881 #define IPropertyDescriptionSearchInfo_GetProjectionString(This,ppszProjection) (This)->lpVtbl->GetProjectionString(This,ppszProjection) 2882 #define IPropertyDescriptionSearchInfo_GetMaxSize(This,pcbMaxSize) (This)->lpVtbl->GetMaxSize(This,pcbMaxSize) 2883 #else 2884 /*** IUnknown methods ***/ 2885 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_QueryInterface(IPropertyDescriptionSearchInfo* This,REFIID riid,void **ppvObject) { 2886 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2887 } 2888 static FORCEINLINE ULONG IPropertyDescriptionSearchInfo_AddRef(IPropertyDescriptionSearchInfo* This) { 2889 return This->lpVtbl->AddRef(This); 2890 } 2891 static FORCEINLINE ULONG IPropertyDescriptionSearchInfo_Release(IPropertyDescriptionSearchInfo* This) { 2892 return This->lpVtbl->Release(This); 2893 } 2894 /*** IPropertyDescription methods ***/ 2895 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetPropertyKey(IPropertyDescriptionSearchInfo* This,PROPERTYKEY *pkey) { 2896 return This->lpVtbl->GetPropertyKey(This,pkey); 2897 } 2898 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetCanonicalName(IPropertyDescriptionSearchInfo* This,LPWSTR *ppszName) { 2899 return This->lpVtbl->GetCanonicalName(This,ppszName); 2900 } 2901 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetPropertyType(IPropertyDescriptionSearchInfo* This,VARTYPE *pvartype) { 2902 return This->lpVtbl->GetPropertyType(This,pvartype); 2903 } 2904 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetDisplayName(IPropertyDescriptionSearchInfo* This,LPWSTR *ppszName) { 2905 return This->lpVtbl->GetDisplayName(This,ppszName); 2906 } 2907 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetEditInvitation(IPropertyDescriptionSearchInfo* This,LPWSTR *ppszInvite) { 2908 return This->lpVtbl->GetEditInvitation(This,ppszInvite); 2909 } 2910 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetTypeFlags(IPropertyDescriptionSearchInfo* This,PROPDESC_TYPE_FLAGS mask,PROPDESC_TYPE_FLAGS *ppdtFlags) { 2911 return This->lpVtbl->GetTypeFlags(This,mask,ppdtFlags); 2912 } 2913 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetViewFlags(IPropertyDescriptionSearchInfo* This,PROPDESC_VIEW_FLAGS *ppdvFlags) { 2914 return This->lpVtbl->GetViewFlags(This,ppdvFlags); 2915 } 2916 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetDefaultColumnWidth(IPropertyDescriptionSearchInfo* This,UINT *pcxChars) { 2917 return This->lpVtbl->GetDefaultColumnWidth(This,pcxChars); 2918 } 2919 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetDisplayType(IPropertyDescriptionSearchInfo* This,PROPDESC_DISPLAYTYPE *pdisplaytype) { 2920 return This->lpVtbl->GetDisplayType(This,pdisplaytype); 2921 } 2922 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetColumnState(IPropertyDescriptionSearchInfo* This,SHCOLSTATEF *pcsFlags) { 2923 return This->lpVtbl->GetColumnState(This,pcsFlags); 2924 } 2925 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetGroupingRange(IPropertyDescriptionSearchInfo* This,PROPDESC_GROUPING_RANGE *pgr) { 2926 return This->lpVtbl->GetGroupingRange(This,pgr); 2927 } 2928 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetRelativeDescriptionType(IPropertyDescriptionSearchInfo* This,PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt) { 2929 return This->lpVtbl->GetRelativeDescriptionType(This,prdt); 2930 } 2931 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetRelativeDescription(IPropertyDescriptionSearchInfo* This,REFPROPVARIANT propvar1,REFPROPVARIANT propvar2,LPWSTR *ppszDesc1,LPWSTR *ppszDesc2) { 2932 return This->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2); 2933 } 2934 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetSortDescription(IPropertyDescriptionSearchInfo* This,PROPDESC_SORTDESCRIPTION *psd) { 2935 return This->lpVtbl->GetSortDescription(This,psd); 2936 } 2937 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetSortDescriptionLabel(IPropertyDescriptionSearchInfo* This,WINBOOL fDescending,LPWSTR *ppszDescription) { 2938 return This->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription); 2939 } 2940 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetAggregationType(IPropertyDescriptionSearchInfo* This,PROPDESC_AGGREGATION_TYPE *paggtype) { 2941 return This->lpVtbl->GetAggregationType(This,paggtype); 2942 } 2943 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetConditionType(IPropertyDescriptionSearchInfo* This,PROPDESC_CONDITION_TYPE *pcontype,CONDITION_OPERATION *popDefault) { 2944 return This->lpVtbl->GetConditionType(This,pcontype,popDefault); 2945 } 2946 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetEnumTypeList(IPropertyDescriptionSearchInfo* This,REFIID riid,void **ppv) { 2947 return This->lpVtbl->GetEnumTypeList(This,riid,ppv); 2948 } 2949 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_CoerceToCanonicalValue(IPropertyDescriptionSearchInfo* This,PROPVARIANT *ppropvar) { 2950 return This->lpVtbl->CoerceToCanonicalValue(This,ppropvar); 2951 } 2952 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_FormatForDisplay(IPropertyDescriptionSearchInfo* This,REFPROPVARIANT propvar,PROPDESC_FORMAT_FLAGS pdfFlags,LPWSTR *ppszDisplay) { 2953 return This->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay); 2954 } 2955 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_IsValueCanonical(IPropertyDescriptionSearchInfo* This,REFPROPVARIANT propvar) { 2956 return This->lpVtbl->IsValueCanonical(This,propvar); 2957 } 2958 /*** IPropertyDescriptionSearchInfo methods ***/ 2959 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetSearchInfoFlags(IPropertyDescriptionSearchInfo* This,PROPDESC_SEARCHINFO_FLAGS *ppdsiFlags) { 2960 return This->lpVtbl->GetSearchInfoFlags(This,ppdsiFlags); 2961 } 2962 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetColumnIndexType(IPropertyDescriptionSearchInfo* This,PROPDESC_COLUMNINDEX_TYPE *ppdciType) { 2963 return This->lpVtbl->GetColumnIndexType(This,ppdciType); 2964 } 2965 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetProjectionString(IPropertyDescriptionSearchInfo* This,LPWSTR *ppszProjection) { 2966 return This->lpVtbl->GetProjectionString(This,ppszProjection); 2967 } 2968 static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetMaxSize(IPropertyDescriptionSearchInfo* This,UINT *pcbMaxSize) { 2969 return This->lpVtbl->GetMaxSize(This,pcbMaxSize); 2970 } 2971 #endif 2972 #endif 2973 2974 #endif 2975 2976 2977 #endif /* __IPropertyDescriptionSearchInfo_INTERFACE_DEFINED__ */ 2978 2979 2980 /***************************************************************************** 2981 * IPropertyDescriptionRelatedPropertyInfo interface 2982 */ 2983 #ifndef __IPropertyDescriptionRelatedPropertyInfo_INTERFACE_DEFINED__ 2984 #define __IPropertyDescriptionRelatedPropertyInfo_INTERFACE_DEFINED__ 2985 2986 DEFINE_GUID(IID_IPropertyDescriptionRelatedPropertyInfo, 0x507393f4, 0x2a3d, 0x4a60, 0xb5,0x9e, 0xd9,0xc7,0x57,0x16,0xc2,0xdd); 2987 #if defined(__cplusplus) && !defined(CINTERFACE) 2988 MIDL_INTERFACE("507393f4-2a3d-4a60-b59e-d9c75716c2dd") 2989 IPropertyDescriptionRelatedPropertyInfo : public IPropertyDescription 2990 { 2991 virtual HRESULT STDMETHODCALLTYPE GetRelatedProperty( 2992 LPCWSTR pszRelationshipName, 2993 REFIID riid, 2994 void **ppv) = 0; 2995 2996 }; 2997 #ifdef __CRT_UUID_DECL 2998 __CRT_UUID_DECL(IPropertyDescriptionRelatedPropertyInfo, 0x507393f4, 0x2a3d, 0x4a60, 0xb5,0x9e, 0xd9,0xc7,0x57,0x16,0xc2,0xdd) 2999 #endif 3000 #else 3001 typedef struct IPropertyDescriptionRelatedPropertyInfoVtbl { 3002 BEGIN_INTERFACE 3003 3004 /*** IUnknown methods ***/ 3005 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3006 IPropertyDescriptionRelatedPropertyInfo *This, 3007 REFIID riid, 3008 void **ppvObject); 3009 3010 ULONG (STDMETHODCALLTYPE *AddRef)( 3011 IPropertyDescriptionRelatedPropertyInfo *This); 3012 3013 ULONG (STDMETHODCALLTYPE *Release)( 3014 IPropertyDescriptionRelatedPropertyInfo *This); 3015 3016 /*** IPropertyDescription methods ***/ 3017 HRESULT (STDMETHODCALLTYPE *GetPropertyKey)( 3018 IPropertyDescriptionRelatedPropertyInfo *This, 3019 PROPERTYKEY *pkey); 3020 3021 HRESULT (STDMETHODCALLTYPE *GetCanonicalName)( 3022 IPropertyDescriptionRelatedPropertyInfo *This, 3023 LPWSTR *ppszName); 3024 3025 HRESULT (STDMETHODCALLTYPE *GetPropertyType)( 3026 IPropertyDescriptionRelatedPropertyInfo *This, 3027 VARTYPE *pvartype); 3028 3029 HRESULT (STDMETHODCALLTYPE *GetDisplayName)( 3030 IPropertyDescriptionRelatedPropertyInfo *This, 3031 LPWSTR *ppszName); 3032 3033 HRESULT (STDMETHODCALLTYPE *GetEditInvitation)( 3034 IPropertyDescriptionRelatedPropertyInfo *This, 3035 LPWSTR *ppszInvite); 3036 3037 HRESULT (STDMETHODCALLTYPE *GetTypeFlags)( 3038 IPropertyDescriptionRelatedPropertyInfo *This, 3039 PROPDESC_TYPE_FLAGS mask, 3040 PROPDESC_TYPE_FLAGS *ppdtFlags); 3041 3042 HRESULT (STDMETHODCALLTYPE *GetViewFlags)( 3043 IPropertyDescriptionRelatedPropertyInfo *This, 3044 PROPDESC_VIEW_FLAGS *ppdvFlags); 3045 3046 HRESULT (STDMETHODCALLTYPE *GetDefaultColumnWidth)( 3047 IPropertyDescriptionRelatedPropertyInfo *This, 3048 UINT *pcxChars); 3049 3050 HRESULT (STDMETHODCALLTYPE *GetDisplayType)( 3051 IPropertyDescriptionRelatedPropertyInfo *This, 3052 PROPDESC_DISPLAYTYPE *pdisplaytype); 3053 3054 HRESULT (STDMETHODCALLTYPE *GetColumnState)( 3055 IPropertyDescriptionRelatedPropertyInfo *This, 3056 SHCOLSTATEF *pcsFlags); 3057 3058 HRESULT (STDMETHODCALLTYPE *GetGroupingRange)( 3059 IPropertyDescriptionRelatedPropertyInfo *This, 3060 PROPDESC_GROUPING_RANGE *pgr); 3061 3062 HRESULT (STDMETHODCALLTYPE *GetRelativeDescriptionType)( 3063 IPropertyDescriptionRelatedPropertyInfo *This, 3064 PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt); 3065 3066 HRESULT (STDMETHODCALLTYPE *GetRelativeDescription)( 3067 IPropertyDescriptionRelatedPropertyInfo *This, 3068 REFPROPVARIANT propvar1, 3069 REFPROPVARIANT propvar2, 3070 LPWSTR *ppszDesc1, 3071 LPWSTR *ppszDesc2); 3072 3073 HRESULT (STDMETHODCALLTYPE *GetSortDescription)( 3074 IPropertyDescriptionRelatedPropertyInfo *This, 3075 PROPDESC_SORTDESCRIPTION *psd); 3076 3077 HRESULT (STDMETHODCALLTYPE *GetSortDescriptionLabel)( 3078 IPropertyDescriptionRelatedPropertyInfo *This, 3079 WINBOOL fDescending, 3080 LPWSTR *ppszDescription); 3081 3082 HRESULT (STDMETHODCALLTYPE *GetAggregationType)( 3083 IPropertyDescriptionRelatedPropertyInfo *This, 3084 PROPDESC_AGGREGATION_TYPE *paggtype); 3085 3086 HRESULT (STDMETHODCALLTYPE *GetConditionType)( 3087 IPropertyDescriptionRelatedPropertyInfo *This, 3088 PROPDESC_CONDITION_TYPE *pcontype, 3089 CONDITION_OPERATION *popDefault); 3090 3091 HRESULT (STDMETHODCALLTYPE *GetEnumTypeList)( 3092 IPropertyDescriptionRelatedPropertyInfo *This, 3093 REFIID riid, 3094 void **ppv); 3095 3096 HRESULT (STDMETHODCALLTYPE *CoerceToCanonicalValue)( 3097 IPropertyDescriptionRelatedPropertyInfo *This, 3098 PROPVARIANT *ppropvar); 3099 3100 HRESULT (STDMETHODCALLTYPE *FormatForDisplay)( 3101 IPropertyDescriptionRelatedPropertyInfo *This, 3102 REFPROPVARIANT propvar, 3103 PROPDESC_FORMAT_FLAGS pdfFlags, 3104 LPWSTR *ppszDisplay); 3105 3106 HRESULT (STDMETHODCALLTYPE *IsValueCanonical)( 3107 IPropertyDescriptionRelatedPropertyInfo *This, 3108 REFPROPVARIANT propvar); 3109 3110 /*** IPropertyDescriptionRelatedPropertyInfo methods ***/ 3111 HRESULT (STDMETHODCALLTYPE *GetRelatedProperty)( 3112 IPropertyDescriptionRelatedPropertyInfo *This, 3113 LPCWSTR pszRelationshipName, 3114 REFIID riid, 3115 void **ppv); 3116 3117 END_INTERFACE 3118 } IPropertyDescriptionRelatedPropertyInfoVtbl; 3119 3120 interface IPropertyDescriptionRelatedPropertyInfo { 3121 CONST_VTBL IPropertyDescriptionRelatedPropertyInfoVtbl* lpVtbl; 3122 }; 3123 3124 #ifdef COBJMACROS 3125 #ifndef WIDL_C_INLINE_WRAPPERS 3126 /*** IUnknown methods ***/ 3127 #define IPropertyDescriptionRelatedPropertyInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3128 #define IPropertyDescriptionRelatedPropertyInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 3129 #define IPropertyDescriptionRelatedPropertyInfo_Release(This) (This)->lpVtbl->Release(This) 3130 /*** IPropertyDescription methods ***/ 3131 #define IPropertyDescriptionRelatedPropertyInfo_GetPropertyKey(This,pkey) (This)->lpVtbl->GetPropertyKey(This,pkey) 3132 #define IPropertyDescriptionRelatedPropertyInfo_GetCanonicalName(This,ppszName) (This)->lpVtbl->GetCanonicalName(This,ppszName) 3133 #define IPropertyDescriptionRelatedPropertyInfo_GetPropertyType(This,pvartype) (This)->lpVtbl->GetPropertyType(This,pvartype) 3134 #define IPropertyDescriptionRelatedPropertyInfo_GetDisplayName(This,ppszName) (This)->lpVtbl->GetDisplayName(This,ppszName) 3135 #define IPropertyDescriptionRelatedPropertyInfo_GetEditInvitation(This,ppszInvite) (This)->lpVtbl->GetEditInvitation(This,ppszInvite) 3136 #define IPropertyDescriptionRelatedPropertyInfo_GetTypeFlags(This,mask,ppdtFlags) (This)->lpVtbl->GetTypeFlags(This,mask,ppdtFlags) 3137 #define IPropertyDescriptionRelatedPropertyInfo_GetViewFlags(This,ppdvFlags) (This)->lpVtbl->GetViewFlags(This,ppdvFlags) 3138 #define IPropertyDescriptionRelatedPropertyInfo_GetDefaultColumnWidth(This,pcxChars) (This)->lpVtbl->GetDefaultColumnWidth(This,pcxChars) 3139 #define IPropertyDescriptionRelatedPropertyInfo_GetDisplayType(This,pdisplaytype) (This)->lpVtbl->GetDisplayType(This,pdisplaytype) 3140 #define IPropertyDescriptionRelatedPropertyInfo_GetColumnState(This,pcsFlags) (This)->lpVtbl->GetColumnState(This,pcsFlags) 3141 #define IPropertyDescriptionRelatedPropertyInfo_GetGroupingRange(This,pgr) (This)->lpVtbl->GetGroupingRange(This,pgr) 3142 #define IPropertyDescriptionRelatedPropertyInfo_GetRelativeDescriptionType(This,prdt) (This)->lpVtbl->GetRelativeDescriptionType(This,prdt) 3143 #define IPropertyDescriptionRelatedPropertyInfo_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) (This)->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) 3144 #define IPropertyDescriptionRelatedPropertyInfo_GetSortDescription(This,psd) (This)->lpVtbl->GetSortDescription(This,psd) 3145 #define IPropertyDescriptionRelatedPropertyInfo_GetSortDescriptionLabel(This,fDescending,ppszDescription) (This)->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription) 3146 #define IPropertyDescriptionRelatedPropertyInfo_GetAggregationType(This,paggtype) (This)->lpVtbl->GetAggregationType(This,paggtype) 3147 #define IPropertyDescriptionRelatedPropertyInfo_GetConditionType(This,pcontype,popDefault) (This)->lpVtbl->GetConditionType(This,pcontype,popDefault) 3148 #define IPropertyDescriptionRelatedPropertyInfo_GetEnumTypeList(This,riid,ppv) (This)->lpVtbl->GetEnumTypeList(This,riid,ppv) 3149 #define IPropertyDescriptionRelatedPropertyInfo_CoerceToCanonicalValue(This,ppropvar) (This)->lpVtbl->CoerceToCanonicalValue(This,ppropvar) 3150 #define IPropertyDescriptionRelatedPropertyInfo_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) (This)->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) 3151 #define IPropertyDescriptionRelatedPropertyInfo_IsValueCanonical(This,propvar) (This)->lpVtbl->IsValueCanonical(This,propvar) 3152 /*** IPropertyDescriptionRelatedPropertyInfo methods ***/ 3153 #define IPropertyDescriptionRelatedPropertyInfo_GetRelatedProperty(This,pszRelationshipName,riid,ppv) (This)->lpVtbl->GetRelatedProperty(This,pszRelationshipName,riid,ppv) 3154 #else 3155 /*** IUnknown methods ***/ 3156 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_QueryInterface(IPropertyDescriptionRelatedPropertyInfo* This,REFIID riid,void **ppvObject) { 3157 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3158 } 3159 static FORCEINLINE ULONG IPropertyDescriptionRelatedPropertyInfo_AddRef(IPropertyDescriptionRelatedPropertyInfo* This) { 3160 return This->lpVtbl->AddRef(This); 3161 } 3162 static FORCEINLINE ULONG IPropertyDescriptionRelatedPropertyInfo_Release(IPropertyDescriptionRelatedPropertyInfo* This) { 3163 return This->lpVtbl->Release(This); 3164 } 3165 /*** IPropertyDescription methods ***/ 3166 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetPropertyKey(IPropertyDescriptionRelatedPropertyInfo* This,PROPERTYKEY *pkey) { 3167 return This->lpVtbl->GetPropertyKey(This,pkey); 3168 } 3169 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetCanonicalName(IPropertyDescriptionRelatedPropertyInfo* This,LPWSTR *ppszName) { 3170 return This->lpVtbl->GetCanonicalName(This,ppszName); 3171 } 3172 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetPropertyType(IPropertyDescriptionRelatedPropertyInfo* This,VARTYPE *pvartype) { 3173 return This->lpVtbl->GetPropertyType(This,pvartype); 3174 } 3175 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetDisplayName(IPropertyDescriptionRelatedPropertyInfo* This,LPWSTR *ppszName) { 3176 return This->lpVtbl->GetDisplayName(This,ppszName); 3177 } 3178 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetEditInvitation(IPropertyDescriptionRelatedPropertyInfo* This,LPWSTR *ppszInvite) { 3179 return This->lpVtbl->GetEditInvitation(This,ppszInvite); 3180 } 3181 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetTypeFlags(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_TYPE_FLAGS mask,PROPDESC_TYPE_FLAGS *ppdtFlags) { 3182 return This->lpVtbl->GetTypeFlags(This,mask,ppdtFlags); 3183 } 3184 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetViewFlags(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_VIEW_FLAGS *ppdvFlags) { 3185 return This->lpVtbl->GetViewFlags(This,ppdvFlags); 3186 } 3187 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetDefaultColumnWidth(IPropertyDescriptionRelatedPropertyInfo* This,UINT *pcxChars) { 3188 return This->lpVtbl->GetDefaultColumnWidth(This,pcxChars); 3189 } 3190 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetDisplayType(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_DISPLAYTYPE *pdisplaytype) { 3191 return This->lpVtbl->GetDisplayType(This,pdisplaytype); 3192 } 3193 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetColumnState(IPropertyDescriptionRelatedPropertyInfo* This,SHCOLSTATEF *pcsFlags) { 3194 return This->lpVtbl->GetColumnState(This,pcsFlags); 3195 } 3196 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetGroupingRange(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_GROUPING_RANGE *pgr) { 3197 return This->lpVtbl->GetGroupingRange(This,pgr); 3198 } 3199 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetRelativeDescriptionType(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt) { 3200 return This->lpVtbl->GetRelativeDescriptionType(This,prdt); 3201 } 3202 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetRelativeDescription(IPropertyDescriptionRelatedPropertyInfo* This,REFPROPVARIANT propvar1,REFPROPVARIANT propvar2,LPWSTR *ppszDesc1,LPWSTR *ppszDesc2) { 3203 return This->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2); 3204 } 3205 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetSortDescription(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_SORTDESCRIPTION *psd) { 3206 return This->lpVtbl->GetSortDescription(This,psd); 3207 } 3208 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetSortDescriptionLabel(IPropertyDescriptionRelatedPropertyInfo* This,WINBOOL fDescending,LPWSTR *ppszDescription) { 3209 return This->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription); 3210 } 3211 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetAggregationType(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_AGGREGATION_TYPE *paggtype) { 3212 return This->lpVtbl->GetAggregationType(This,paggtype); 3213 } 3214 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetConditionType(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_CONDITION_TYPE *pcontype,CONDITION_OPERATION *popDefault) { 3215 return This->lpVtbl->GetConditionType(This,pcontype,popDefault); 3216 } 3217 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetEnumTypeList(IPropertyDescriptionRelatedPropertyInfo* This,REFIID riid,void **ppv) { 3218 return This->lpVtbl->GetEnumTypeList(This,riid,ppv); 3219 } 3220 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_CoerceToCanonicalValue(IPropertyDescriptionRelatedPropertyInfo* This,PROPVARIANT *ppropvar) { 3221 return This->lpVtbl->CoerceToCanonicalValue(This,ppropvar); 3222 } 3223 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_FormatForDisplay(IPropertyDescriptionRelatedPropertyInfo* This,REFPROPVARIANT propvar,PROPDESC_FORMAT_FLAGS pdfFlags,LPWSTR *ppszDisplay) { 3224 return This->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay); 3225 } 3226 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_IsValueCanonical(IPropertyDescriptionRelatedPropertyInfo* This,REFPROPVARIANT propvar) { 3227 return This->lpVtbl->IsValueCanonical(This,propvar); 3228 } 3229 /*** IPropertyDescriptionRelatedPropertyInfo methods ***/ 3230 static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetRelatedProperty(IPropertyDescriptionRelatedPropertyInfo* This,LPCWSTR pszRelationshipName,REFIID riid,void **ppv) { 3231 return This->lpVtbl->GetRelatedProperty(This,pszRelationshipName,riid,ppv); 3232 } 3233 #endif 3234 #endif 3235 3236 #endif 3237 3238 3239 #endif /* __IPropertyDescriptionRelatedPropertyInfo_INTERFACE_DEFINED__ */ 3240 3241 3242 typedef enum PROPDESC_ENUMFILTER { 3243 PDEF_ALL = 0, 3244 PDEF_SYSTEM = 1, 3245 PDEF_NONSYSTEM = 2, 3246 PDEF_VIEWABLE = 3, 3247 PDEF_QUERYABLE = 4, 3248 PDEF_INFULLTEXTQUERY = 5, 3249 PDEF_COLUMN = 6 3250 } PROPDESC_ENUMFILTER; 3251 3252 /***************************************************************************** 3253 * IPropertySystem interface 3254 */ 3255 #ifndef __IPropertySystem_INTERFACE_DEFINED__ 3256 #define __IPropertySystem_INTERFACE_DEFINED__ 3257 3258 DEFINE_GUID(IID_IPropertySystem, 0xca724e8a, 0xc3e6, 0x442b, 0x88,0xa4, 0x6f,0xb0,0xdb,0x80,0x35,0xa3); 3259 #if defined(__cplusplus) && !defined(CINTERFACE) 3260 MIDL_INTERFACE("ca724e8a-c3e6-442b-88a4-6fb0db8035a3") 3261 IPropertySystem : public IUnknown 3262 { 3263 virtual HRESULT STDMETHODCALLTYPE GetPropertyDescription( 3264 REFPROPERTYKEY propkey, 3265 REFIID riid, 3266 void **ppv) = 0; 3267 3268 virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionByName( 3269 LPCWSTR pszCanonicalName, 3270 REFIID riid, 3271 void **ppv) = 0; 3272 3273 virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionListFromString( 3274 LPCWSTR pszPropList, 3275 REFIID riid, 3276 void **ppv) = 0; 3277 3278 virtual HRESULT STDMETHODCALLTYPE EnumeratePropertyDescriptions( 3279 PROPDESC_ENUMFILTER filterOn, 3280 REFIID riid, 3281 void **ppv) = 0; 3282 3283 virtual HRESULT STDMETHODCALLTYPE FormatForDisplay( 3284 REFPROPERTYKEY key, 3285 REFPROPVARIANT propvar, 3286 PROPDESC_FORMAT_FLAGS pdff, 3287 LPWSTR pszText, 3288 DWORD cchText) = 0; 3289 3290 virtual HRESULT STDMETHODCALLTYPE FormatForDisplayAlloc( 3291 REFPROPERTYKEY key, 3292 REFPROPVARIANT propvar, 3293 PROPDESC_FORMAT_FLAGS pdff, 3294 LPWSTR *ppszDisplay) = 0; 3295 3296 virtual HRESULT STDMETHODCALLTYPE RegisterPropertySchema( 3297 LPCWSTR pszPath) = 0; 3298 3299 virtual HRESULT STDMETHODCALLTYPE UnregisterPropertySchema( 3300 LPCWSTR pszPath) = 0; 3301 3302 virtual HRESULT STDMETHODCALLTYPE RefreshPropertySchema( 3303 ) = 0; 3304 3305 }; 3306 #ifdef __CRT_UUID_DECL 3307 __CRT_UUID_DECL(IPropertySystem, 0xca724e8a, 0xc3e6, 0x442b, 0x88,0xa4, 0x6f,0xb0,0xdb,0x80,0x35,0xa3) 3308 #endif 3309 #else 3310 typedef struct IPropertySystemVtbl { 3311 BEGIN_INTERFACE 3312 3313 /*** IUnknown methods ***/ 3314 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3315 IPropertySystem *This, 3316 REFIID riid, 3317 void **ppvObject); 3318 3319 ULONG (STDMETHODCALLTYPE *AddRef)( 3320 IPropertySystem *This); 3321 3322 ULONG (STDMETHODCALLTYPE *Release)( 3323 IPropertySystem *This); 3324 3325 /*** IPropertySystem methods ***/ 3326 HRESULT (STDMETHODCALLTYPE *GetPropertyDescription)( 3327 IPropertySystem *This, 3328 REFPROPERTYKEY propkey, 3329 REFIID riid, 3330 void **ppv); 3331 3332 HRESULT (STDMETHODCALLTYPE *GetPropertyDescriptionByName)( 3333 IPropertySystem *This, 3334 LPCWSTR pszCanonicalName, 3335 REFIID riid, 3336 void **ppv); 3337 3338 HRESULT (STDMETHODCALLTYPE *GetPropertyDescriptionListFromString)( 3339 IPropertySystem *This, 3340 LPCWSTR pszPropList, 3341 REFIID riid, 3342 void **ppv); 3343 3344 HRESULT (STDMETHODCALLTYPE *EnumeratePropertyDescriptions)( 3345 IPropertySystem *This, 3346 PROPDESC_ENUMFILTER filterOn, 3347 REFIID riid, 3348 void **ppv); 3349 3350 HRESULT (STDMETHODCALLTYPE *FormatForDisplay)( 3351 IPropertySystem *This, 3352 REFPROPERTYKEY key, 3353 REFPROPVARIANT propvar, 3354 PROPDESC_FORMAT_FLAGS pdff, 3355 LPWSTR pszText, 3356 DWORD cchText); 3357 3358 HRESULT (STDMETHODCALLTYPE *FormatForDisplayAlloc)( 3359 IPropertySystem *This, 3360 REFPROPERTYKEY key, 3361 REFPROPVARIANT propvar, 3362 PROPDESC_FORMAT_FLAGS pdff, 3363 LPWSTR *ppszDisplay); 3364 3365 HRESULT (STDMETHODCALLTYPE *RegisterPropertySchema)( 3366 IPropertySystem *This, 3367 LPCWSTR pszPath); 3368 3369 HRESULT (STDMETHODCALLTYPE *UnregisterPropertySchema)( 3370 IPropertySystem *This, 3371 LPCWSTR pszPath); 3372 3373 HRESULT (STDMETHODCALLTYPE *RefreshPropertySchema)( 3374 IPropertySystem *This); 3375 3376 END_INTERFACE 3377 } IPropertySystemVtbl; 3378 3379 interface IPropertySystem { 3380 CONST_VTBL IPropertySystemVtbl* lpVtbl; 3381 }; 3382 3383 #ifdef COBJMACROS 3384 #ifndef WIDL_C_INLINE_WRAPPERS 3385 /*** IUnknown methods ***/ 3386 #define IPropertySystem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3387 #define IPropertySystem_AddRef(This) (This)->lpVtbl->AddRef(This) 3388 #define IPropertySystem_Release(This) (This)->lpVtbl->Release(This) 3389 /*** IPropertySystem methods ***/ 3390 #define IPropertySystem_GetPropertyDescription(This,propkey,riid,ppv) (This)->lpVtbl->GetPropertyDescription(This,propkey,riid,ppv) 3391 #define IPropertySystem_GetPropertyDescriptionByName(This,pszCanonicalName,riid,ppv) (This)->lpVtbl->GetPropertyDescriptionByName(This,pszCanonicalName,riid,ppv) 3392 #define IPropertySystem_GetPropertyDescriptionListFromString(This,pszPropList,riid,ppv) (This)->lpVtbl->GetPropertyDescriptionListFromString(This,pszPropList,riid,ppv) 3393 #define IPropertySystem_EnumeratePropertyDescriptions(This,filterOn,riid,ppv) (This)->lpVtbl->EnumeratePropertyDescriptions(This,filterOn,riid,ppv) 3394 #define IPropertySystem_FormatForDisplay(This,key,propvar,pdff,pszText,cchText) (This)->lpVtbl->FormatForDisplay(This,key,propvar,pdff,pszText,cchText) 3395 #define IPropertySystem_FormatForDisplayAlloc(This,key,propvar,pdff,ppszDisplay) (This)->lpVtbl->FormatForDisplayAlloc(This,key,propvar,pdff,ppszDisplay) 3396 #define IPropertySystem_RegisterPropertySchema(This,pszPath) (This)->lpVtbl->RegisterPropertySchema(This,pszPath) 3397 #define IPropertySystem_UnregisterPropertySchema(This,pszPath) (This)->lpVtbl->UnregisterPropertySchema(This,pszPath) 3398 #define IPropertySystem_RefreshPropertySchema(This) (This)->lpVtbl->RefreshPropertySchema(This) 3399 #else 3400 /*** IUnknown methods ***/ 3401 static FORCEINLINE HRESULT IPropertySystem_QueryInterface(IPropertySystem* This,REFIID riid,void **ppvObject) { 3402 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3403 } 3404 static FORCEINLINE ULONG IPropertySystem_AddRef(IPropertySystem* This) { 3405 return This->lpVtbl->AddRef(This); 3406 } 3407 static FORCEINLINE ULONG IPropertySystem_Release(IPropertySystem* This) { 3408 return This->lpVtbl->Release(This); 3409 } 3410 /*** IPropertySystem methods ***/ 3411 static FORCEINLINE HRESULT IPropertySystem_GetPropertyDescription(IPropertySystem* This,REFPROPERTYKEY propkey,REFIID riid,void **ppv) { 3412 return This->lpVtbl->GetPropertyDescription(This,propkey,riid,ppv); 3413 } 3414 static FORCEINLINE HRESULT IPropertySystem_GetPropertyDescriptionByName(IPropertySystem* This,LPCWSTR pszCanonicalName,REFIID riid,void **ppv) { 3415 return This->lpVtbl->GetPropertyDescriptionByName(This,pszCanonicalName,riid,ppv); 3416 } 3417 static FORCEINLINE HRESULT IPropertySystem_GetPropertyDescriptionListFromString(IPropertySystem* This,LPCWSTR pszPropList,REFIID riid,void **ppv) { 3418 return This->lpVtbl->GetPropertyDescriptionListFromString(This,pszPropList,riid,ppv); 3419 } 3420 static FORCEINLINE HRESULT IPropertySystem_EnumeratePropertyDescriptions(IPropertySystem* This,PROPDESC_ENUMFILTER filterOn,REFIID riid,void **ppv) { 3421 return This->lpVtbl->EnumeratePropertyDescriptions(This,filterOn,riid,ppv); 3422 } 3423 static FORCEINLINE HRESULT IPropertySystem_FormatForDisplay(IPropertySystem* This,REFPROPERTYKEY key,REFPROPVARIANT propvar,PROPDESC_FORMAT_FLAGS pdff,LPWSTR pszText,DWORD cchText) { 3424 return This->lpVtbl->FormatForDisplay(This,key,propvar,pdff,pszText,cchText); 3425 } 3426 static FORCEINLINE HRESULT IPropertySystem_FormatForDisplayAlloc(IPropertySystem* This,REFPROPERTYKEY key,REFPROPVARIANT propvar,PROPDESC_FORMAT_FLAGS pdff,LPWSTR *ppszDisplay) { 3427 return This->lpVtbl->FormatForDisplayAlloc(This,key,propvar,pdff,ppszDisplay); 3428 } 3429 static FORCEINLINE HRESULT IPropertySystem_RegisterPropertySchema(IPropertySystem* This,LPCWSTR pszPath) { 3430 return This->lpVtbl->RegisterPropertySchema(This,pszPath); 3431 } 3432 static FORCEINLINE HRESULT IPropertySystem_UnregisterPropertySchema(IPropertySystem* This,LPCWSTR pszPath) { 3433 return This->lpVtbl->UnregisterPropertySchema(This,pszPath); 3434 } 3435 static FORCEINLINE HRESULT IPropertySystem_RefreshPropertySchema(IPropertySystem* This) { 3436 return This->lpVtbl->RefreshPropertySchema(This); 3437 } 3438 #endif 3439 #endif 3440 3441 #endif 3442 3443 3444 #endif /* __IPropertySystem_INTERFACE_DEFINED__ */ 3445 3446 3447 /***************************************************************************** 3448 * IPropertyDescriptionList interface 3449 */ 3450 #ifndef __IPropertyDescriptionList_INTERFACE_DEFINED__ 3451 #define __IPropertyDescriptionList_INTERFACE_DEFINED__ 3452 3453 DEFINE_GUID(IID_IPropertyDescriptionList, 0x1f9fc1d0, 0xc39b, 0x4b26, 0x81,0x7f, 0x01,0x19,0x67,0xd3,0x44,0x0e); 3454 #if defined(__cplusplus) && !defined(CINTERFACE) 3455 MIDL_INTERFACE("1f9fc1d0-c39b-4b26-817f-011967d3440e") 3456 IPropertyDescriptionList : public IUnknown 3457 { 3458 virtual HRESULT STDMETHODCALLTYPE GetCount( 3459 UINT *pcElem) = 0; 3460 3461 virtual HRESULT STDMETHODCALLTYPE GetAt( 3462 UINT iElem, 3463 REFIID riid, 3464 void **ppv) = 0; 3465 3466 }; 3467 #ifdef __CRT_UUID_DECL 3468 __CRT_UUID_DECL(IPropertyDescriptionList, 0x1f9fc1d0, 0xc39b, 0x4b26, 0x81,0x7f, 0x01,0x19,0x67,0xd3,0x44,0x0e) 3469 #endif 3470 #else 3471 typedef struct IPropertyDescriptionListVtbl { 3472 BEGIN_INTERFACE 3473 3474 /*** IUnknown methods ***/ 3475 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3476 IPropertyDescriptionList *This, 3477 REFIID riid, 3478 void **ppvObject); 3479 3480 ULONG (STDMETHODCALLTYPE *AddRef)( 3481 IPropertyDescriptionList *This); 3482 3483 ULONG (STDMETHODCALLTYPE *Release)( 3484 IPropertyDescriptionList *This); 3485 3486 /*** IPropertyDescriptionList methods ***/ 3487 HRESULT (STDMETHODCALLTYPE *GetCount)( 3488 IPropertyDescriptionList *This, 3489 UINT *pcElem); 3490 3491 HRESULT (STDMETHODCALLTYPE *GetAt)( 3492 IPropertyDescriptionList *This, 3493 UINT iElem, 3494 REFIID riid, 3495 void **ppv); 3496 3497 END_INTERFACE 3498 } IPropertyDescriptionListVtbl; 3499 3500 interface IPropertyDescriptionList { 3501 CONST_VTBL IPropertyDescriptionListVtbl* lpVtbl; 3502 }; 3503 3504 #ifdef COBJMACROS 3505 #ifndef WIDL_C_INLINE_WRAPPERS 3506 /*** IUnknown methods ***/ 3507 #define IPropertyDescriptionList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3508 #define IPropertyDescriptionList_AddRef(This) (This)->lpVtbl->AddRef(This) 3509 #define IPropertyDescriptionList_Release(This) (This)->lpVtbl->Release(This) 3510 /*** IPropertyDescriptionList methods ***/ 3511 #define IPropertyDescriptionList_GetCount(This,pcElem) (This)->lpVtbl->GetCount(This,pcElem) 3512 #define IPropertyDescriptionList_GetAt(This,iElem,riid,ppv) (This)->lpVtbl->GetAt(This,iElem,riid,ppv) 3513 #else 3514 /*** IUnknown methods ***/ 3515 static FORCEINLINE HRESULT IPropertyDescriptionList_QueryInterface(IPropertyDescriptionList* This,REFIID riid,void **ppvObject) { 3516 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3517 } 3518 static FORCEINLINE ULONG IPropertyDescriptionList_AddRef(IPropertyDescriptionList* This) { 3519 return This->lpVtbl->AddRef(This); 3520 } 3521 static FORCEINLINE ULONG IPropertyDescriptionList_Release(IPropertyDescriptionList* This) { 3522 return This->lpVtbl->Release(This); 3523 } 3524 /*** IPropertyDescriptionList methods ***/ 3525 static FORCEINLINE HRESULT IPropertyDescriptionList_GetCount(IPropertyDescriptionList* This,UINT *pcElem) { 3526 return This->lpVtbl->GetCount(This,pcElem); 3527 } 3528 static FORCEINLINE HRESULT IPropertyDescriptionList_GetAt(IPropertyDescriptionList* This,UINT iElem,REFIID riid,void **ppv) { 3529 return This->lpVtbl->GetAt(This,iElem,riid,ppv); 3530 } 3531 #endif 3532 #endif 3533 3534 #endif 3535 3536 3537 #endif /* __IPropertyDescriptionList_INTERFACE_DEFINED__ */ 3538 3539 3540 /***************************************************************************** 3541 * IPropertyStoreFactory interface 3542 */ 3543 #ifndef __IPropertyStoreFactory_INTERFACE_DEFINED__ 3544 #define __IPropertyStoreFactory_INTERFACE_DEFINED__ 3545 3546 DEFINE_GUID(IID_IPropertyStoreFactory, 0xbc110b6d, 0x57e8, 0x4148, 0xa9,0xc6, 0x91,0x01,0x5a,0xb2,0xf3,0xa5); 3547 #if defined(__cplusplus) && !defined(CINTERFACE) 3548 MIDL_INTERFACE("bc110b6d-57e8-4148-a9c6-91015ab2f3a5") 3549 IPropertyStoreFactory : public IUnknown 3550 { 3551 virtual HRESULT STDMETHODCALLTYPE GetPropertyStore( 3552 GETPROPERTYSTOREFLAGS flags, 3553 IUnknown *pUnkFactory, 3554 REFIID riid, 3555 void **ppv) = 0; 3556 3557 virtual HRESULT STDMETHODCALLTYPE GetPropertyStoreForKeys( 3558 const PROPERTYKEY *rgKeys, 3559 UINT cKeys, 3560 GETPROPERTYSTOREFLAGS flags, 3561 REFIID riid, 3562 void **ppv) = 0; 3563 3564 }; 3565 #ifdef __CRT_UUID_DECL 3566 __CRT_UUID_DECL(IPropertyStoreFactory, 0xbc110b6d, 0x57e8, 0x4148, 0xa9,0xc6, 0x91,0x01,0x5a,0xb2,0xf3,0xa5) 3567 #endif 3568 #else 3569 typedef struct IPropertyStoreFactoryVtbl { 3570 BEGIN_INTERFACE 3571 3572 /*** IUnknown methods ***/ 3573 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3574 IPropertyStoreFactory *This, 3575 REFIID riid, 3576 void **ppvObject); 3577 3578 ULONG (STDMETHODCALLTYPE *AddRef)( 3579 IPropertyStoreFactory *This); 3580 3581 ULONG (STDMETHODCALLTYPE *Release)( 3582 IPropertyStoreFactory *This); 3583 3584 /*** IPropertyStoreFactory methods ***/ 3585 HRESULT (STDMETHODCALLTYPE *GetPropertyStore)( 3586 IPropertyStoreFactory *This, 3587 GETPROPERTYSTOREFLAGS flags, 3588 IUnknown *pUnkFactory, 3589 REFIID riid, 3590 void **ppv); 3591 3592 HRESULT (STDMETHODCALLTYPE *GetPropertyStoreForKeys)( 3593 IPropertyStoreFactory *This, 3594 const PROPERTYKEY *rgKeys, 3595 UINT cKeys, 3596 GETPROPERTYSTOREFLAGS flags, 3597 REFIID riid, 3598 void **ppv); 3599 3600 END_INTERFACE 3601 } IPropertyStoreFactoryVtbl; 3602 3603 interface IPropertyStoreFactory { 3604 CONST_VTBL IPropertyStoreFactoryVtbl* lpVtbl; 3605 }; 3606 3607 #ifdef COBJMACROS 3608 #ifndef WIDL_C_INLINE_WRAPPERS 3609 /*** IUnknown methods ***/ 3610 #define IPropertyStoreFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3611 #define IPropertyStoreFactory_AddRef(This) (This)->lpVtbl->AddRef(This) 3612 #define IPropertyStoreFactory_Release(This) (This)->lpVtbl->Release(This) 3613 /*** IPropertyStoreFactory methods ***/ 3614 #define IPropertyStoreFactory_GetPropertyStore(This,flags,pUnkFactory,riid,ppv) (This)->lpVtbl->GetPropertyStore(This,flags,pUnkFactory,riid,ppv) 3615 #define IPropertyStoreFactory_GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) (This)->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) 3616 #else 3617 /*** IUnknown methods ***/ 3618 static FORCEINLINE HRESULT IPropertyStoreFactory_QueryInterface(IPropertyStoreFactory* This,REFIID riid,void **ppvObject) { 3619 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3620 } 3621 static FORCEINLINE ULONG IPropertyStoreFactory_AddRef(IPropertyStoreFactory* This) { 3622 return This->lpVtbl->AddRef(This); 3623 } 3624 static FORCEINLINE ULONG IPropertyStoreFactory_Release(IPropertyStoreFactory* This) { 3625 return This->lpVtbl->Release(This); 3626 } 3627 /*** IPropertyStoreFactory methods ***/ 3628 static FORCEINLINE HRESULT IPropertyStoreFactory_GetPropertyStore(IPropertyStoreFactory* This,GETPROPERTYSTOREFLAGS flags,IUnknown *pUnkFactory,REFIID riid,void **ppv) { 3629 return This->lpVtbl->GetPropertyStore(This,flags,pUnkFactory,riid,ppv); 3630 } 3631 static FORCEINLINE HRESULT IPropertyStoreFactory_GetPropertyStoreForKeys(IPropertyStoreFactory* This,const PROPERTYKEY *rgKeys,UINT cKeys,GETPROPERTYSTOREFLAGS flags,REFIID riid,void **ppv) { 3632 return This->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv); 3633 } 3634 #endif 3635 #endif 3636 3637 #endif 3638 3639 3640 #endif /* __IPropertyStoreFactory_INTERFACE_DEFINED__ */ 3641 3642 3643 /***************************************************************************** 3644 * IDelayedPropertyStoreFactory interface 3645 */ 3646 #ifndef __IDelayedPropertyStoreFactory_INTERFACE_DEFINED__ 3647 #define __IDelayedPropertyStoreFactory_INTERFACE_DEFINED__ 3648 3649 DEFINE_GUID(IID_IDelayedPropertyStoreFactory, 0x40d4577f, 0xe237, 0x4bdb, 0xbd,0x69, 0x58,0xf0,0x89,0x43,0x1b,0x6a); 3650 #if defined(__cplusplus) && !defined(CINTERFACE) 3651 MIDL_INTERFACE("40d4577f-e237-4bdb-bd69-58f089431b6a") 3652 IDelayedPropertyStoreFactory : public IPropertyStoreFactory 3653 { 3654 virtual HRESULT STDMETHODCALLTYPE GetDelayedPropertyStore( 3655 GETPROPERTYSTOREFLAGS flags, 3656 DWORD dwStoreId, 3657 REFIID riid, 3658 void **ppv) = 0; 3659 3660 }; 3661 #ifdef __CRT_UUID_DECL 3662 __CRT_UUID_DECL(IDelayedPropertyStoreFactory, 0x40d4577f, 0xe237, 0x4bdb, 0xbd,0x69, 0x58,0xf0,0x89,0x43,0x1b,0x6a) 3663 #endif 3664 #else 3665 typedef struct IDelayedPropertyStoreFactoryVtbl { 3666 BEGIN_INTERFACE 3667 3668 /*** IUnknown methods ***/ 3669 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3670 IDelayedPropertyStoreFactory *This, 3671 REFIID riid, 3672 void **ppvObject); 3673 3674 ULONG (STDMETHODCALLTYPE *AddRef)( 3675 IDelayedPropertyStoreFactory *This); 3676 3677 ULONG (STDMETHODCALLTYPE *Release)( 3678 IDelayedPropertyStoreFactory *This); 3679 3680 /*** IPropertyStoreFactory methods ***/ 3681 HRESULT (STDMETHODCALLTYPE *GetPropertyStore)( 3682 IDelayedPropertyStoreFactory *This, 3683 GETPROPERTYSTOREFLAGS flags, 3684 IUnknown *pUnkFactory, 3685 REFIID riid, 3686 void **ppv); 3687 3688 HRESULT (STDMETHODCALLTYPE *GetPropertyStoreForKeys)( 3689 IDelayedPropertyStoreFactory *This, 3690 const PROPERTYKEY *rgKeys, 3691 UINT cKeys, 3692 GETPROPERTYSTOREFLAGS flags, 3693 REFIID riid, 3694 void **ppv); 3695 3696 /*** IDelayedPropertyStoreFactory methods ***/ 3697 HRESULT (STDMETHODCALLTYPE *GetDelayedPropertyStore)( 3698 IDelayedPropertyStoreFactory *This, 3699 GETPROPERTYSTOREFLAGS flags, 3700 DWORD dwStoreId, 3701 REFIID riid, 3702 void **ppv); 3703 3704 END_INTERFACE 3705 } IDelayedPropertyStoreFactoryVtbl; 3706 3707 interface IDelayedPropertyStoreFactory { 3708 CONST_VTBL IDelayedPropertyStoreFactoryVtbl* lpVtbl; 3709 }; 3710 3711 #ifdef COBJMACROS 3712 #ifndef WIDL_C_INLINE_WRAPPERS 3713 /*** IUnknown methods ***/ 3714 #define IDelayedPropertyStoreFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3715 #define IDelayedPropertyStoreFactory_AddRef(This) (This)->lpVtbl->AddRef(This) 3716 #define IDelayedPropertyStoreFactory_Release(This) (This)->lpVtbl->Release(This) 3717 /*** IPropertyStoreFactory methods ***/ 3718 #define IDelayedPropertyStoreFactory_GetPropertyStore(This,flags,pUnkFactory,riid,ppv) (This)->lpVtbl->GetPropertyStore(This,flags,pUnkFactory,riid,ppv) 3719 #define IDelayedPropertyStoreFactory_GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) (This)->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) 3720 /*** IDelayedPropertyStoreFactory methods ***/ 3721 #define IDelayedPropertyStoreFactory_GetDelayedPropertyStore(This,flags,dwStoreId,riid,ppv) (This)->lpVtbl->GetDelayedPropertyStore(This,flags,dwStoreId,riid,ppv) 3722 #else 3723 /*** IUnknown methods ***/ 3724 static FORCEINLINE HRESULT IDelayedPropertyStoreFactory_QueryInterface(IDelayedPropertyStoreFactory* This,REFIID riid,void **ppvObject) { 3725 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3726 } 3727 static FORCEINLINE ULONG IDelayedPropertyStoreFactory_AddRef(IDelayedPropertyStoreFactory* This) { 3728 return This->lpVtbl->AddRef(This); 3729 } 3730 static FORCEINLINE ULONG IDelayedPropertyStoreFactory_Release(IDelayedPropertyStoreFactory* This) { 3731 return This->lpVtbl->Release(This); 3732 } 3733 /*** IPropertyStoreFactory methods ***/ 3734 static FORCEINLINE HRESULT IDelayedPropertyStoreFactory_GetPropertyStore(IDelayedPropertyStoreFactory* This,GETPROPERTYSTOREFLAGS flags,IUnknown *pUnkFactory,REFIID riid,void **ppv) { 3735 return This->lpVtbl->GetPropertyStore(This,flags,pUnkFactory,riid,ppv); 3736 } 3737 static FORCEINLINE HRESULT IDelayedPropertyStoreFactory_GetPropertyStoreForKeys(IDelayedPropertyStoreFactory* This,const PROPERTYKEY *rgKeys,UINT cKeys,GETPROPERTYSTOREFLAGS flags,REFIID riid,void **ppv) { 3738 return This->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv); 3739 } 3740 /*** IDelayedPropertyStoreFactory methods ***/ 3741 static FORCEINLINE HRESULT IDelayedPropertyStoreFactory_GetDelayedPropertyStore(IDelayedPropertyStoreFactory* This,GETPROPERTYSTOREFLAGS flags,DWORD dwStoreId,REFIID riid,void **ppv) { 3742 return This->lpVtbl->GetDelayedPropertyStore(This,flags,dwStoreId,riid,ppv); 3743 } 3744 #endif 3745 #endif 3746 3747 #endif 3748 3749 3750 #endif /* __IDelayedPropertyStoreFactory_INTERFACE_DEFINED__ */ 3751 3752 3753 enum _PERSIST_SPROPSTORE_FLAGS { 3754 FPSPS_DEFAULT = 0x0, 3755 FPSPS_READONLY = 0x1, 3756 FPSPS_TREAT_NEW_VALUES_AS_DIRTY = 0x2 3757 }; 3758 3759 typedef int PERSIST_SPROPSTORE_FLAGS; 3760 typedef struct tagSERIALIZEDPROPSTORAGE SERIALIZEDPROPSTORAGE; 3761 typedef SERIALIZEDPROPSTORAGE *PUSERIALIZEDPROPSTORAGE; 3762 typedef const SERIALIZEDPROPSTORAGE *PCUSERIALIZEDPROPSTORAGE; 3763 3764 /***************************************************************************** 3765 * IPersistSerializedPropStorage interface 3766 */ 3767 #ifndef __IPersistSerializedPropStorage_INTERFACE_DEFINED__ 3768 #define __IPersistSerializedPropStorage_INTERFACE_DEFINED__ 3769 3770 DEFINE_GUID(IID_IPersistSerializedPropStorage, 0xe318ad57, 0x0aa0, 0x450f, 0xac,0xa5, 0x6f,0xab,0x71,0x03,0xd9,0x17); 3771 #if defined(__cplusplus) && !defined(CINTERFACE) 3772 MIDL_INTERFACE("e318ad57-0aa0-450f-aca5-6fab7103d917") 3773 IPersistSerializedPropStorage : public IUnknown 3774 { 3775 virtual HRESULT STDMETHODCALLTYPE SetFlags( 3776 PERSIST_SPROPSTORE_FLAGS flags) = 0; 3777 3778 virtual HRESULT STDMETHODCALLTYPE SetPropertyStorage( 3779 PCUSERIALIZEDPROPSTORAGE psps, 3780 DWORD cb) = 0; 3781 3782 virtual HRESULT STDMETHODCALLTYPE GetPropertyStorage( 3783 SERIALIZEDPROPSTORAGE **ppsps, 3784 DWORD *pcb) = 0; 3785 3786 }; 3787 #ifdef __CRT_UUID_DECL 3788 __CRT_UUID_DECL(IPersistSerializedPropStorage, 0xe318ad57, 0x0aa0, 0x450f, 0xac,0xa5, 0x6f,0xab,0x71,0x03,0xd9,0x17) 3789 #endif 3790 #else 3791 typedef struct IPersistSerializedPropStorageVtbl { 3792 BEGIN_INTERFACE 3793 3794 /*** IUnknown methods ***/ 3795 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3796 IPersistSerializedPropStorage *This, 3797 REFIID riid, 3798 void **ppvObject); 3799 3800 ULONG (STDMETHODCALLTYPE *AddRef)( 3801 IPersistSerializedPropStorage *This); 3802 3803 ULONG (STDMETHODCALLTYPE *Release)( 3804 IPersistSerializedPropStorage *This); 3805 3806 /*** IPersistSerializedPropStorage methods ***/ 3807 HRESULT (STDMETHODCALLTYPE *SetFlags)( 3808 IPersistSerializedPropStorage *This, 3809 PERSIST_SPROPSTORE_FLAGS flags); 3810 3811 HRESULT (STDMETHODCALLTYPE *SetPropertyStorage)( 3812 IPersistSerializedPropStorage *This, 3813 PCUSERIALIZEDPROPSTORAGE psps, 3814 DWORD cb); 3815 3816 HRESULT (STDMETHODCALLTYPE *GetPropertyStorage)( 3817 IPersistSerializedPropStorage *This, 3818 SERIALIZEDPROPSTORAGE **ppsps, 3819 DWORD *pcb); 3820 3821 END_INTERFACE 3822 } IPersistSerializedPropStorageVtbl; 3823 3824 interface IPersistSerializedPropStorage { 3825 CONST_VTBL IPersistSerializedPropStorageVtbl* lpVtbl; 3826 }; 3827 3828 #ifdef COBJMACROS 3829 #ifndef WIDL_C_INLINE_WRAPPERS 3830 /*** IUnknown methods ***/ 3831 #define IPersistSerializedPropStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3832 #define IPersistSerializedPropStorage_AddRef(This) (This)->lpVtbl->AddRef(This) 3833 #define IPersistSerializedPropStorage_Release(This) (This)->lpVtbl->Release(This) 3834 /*** IPersistSerializedPropStorage methods ***/ 3835 #define IPersistSerializedPropStorage_SetFlags(This,flags) (This)->lpVtbl->SetFlags(This,flags) 3836 #define IPersistSerializedPropStorage_SetPropertyStorage(This,psps,cb) (This)->lpVtbl->SetPropertyStorage(This,psps,cb) 3837 #define IPersistSerializedPropStorage_GetPropertyStorage(This,ppsps,pcb) (This)->lpVtbl->GetPropertyStorage(This,ppsps,pcb) 3838 #else 3839 /*** IUnknown methods ***/ 3840 static FORCEINLINE HRESULT IPersistSerializedPropStorage_QueryInterface(IPersistSerializedPropStorage* This,REFIID riid,void **ppvObject) { 3841 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3842 } 3843 static FORCEINLINE ULONG IPersistSerializedPropStorage_AddRef(IPersistSerializedPropStorage* This) { 3844 return This->lpVtbl->AddRef(This); 3845 } 3846 static FORCEINLINE ULONG IPersistSerializedPropStorage_Release(IPersistSerializedPropStorage* This) { 3847 return This->lpVtbl->Release(This); 3848 } 3849 /*** IPersistSerializedPropStorage methods ***/ 3850 static FORCEINLINE HRESULT IPersistSerializedPropStorage_SetFlags(IPersistSerializedPropStorage* This,PERSIST_SPROPSTORE_FLAGS flags) { 3851 return This->lpVtbl->SetFlags(This,flags); 3852 } 3853 static FORCEINLINE HRESULT IPersistSerializedPropStorage_SetPropertyStorage(IPersistSerializedPropStorage* This,PCUSERIALIZEDPROPSTORAGE psps,DWORD cb) { 3854 return This->lpVtbl->SetPropertyStorage(This,psps,cb); 3855 } 3856 static FORCEINLINE HRESULT IPersistSerializedPropStorage_GetPropertyStorage(IPersistSerializedPropStorage* This,SERIALIZEDPROPSTORAGE **ppsps,DWORD *pcb) { 3857 return This->lpVtbl->GetPropertyStorage(This,ppsps,pcb); 3858 } 3859 #endif 3860 #endif 3861 3862 #endif 3863 3864 3865 #endif /* __IPersistSerializedPropStorage_INTERFACE_DEFINED__ */ 3866 3867 3868 /***************************************************************************** 3869 * IPersistSerializedPropStorage2 interface 3870 */ 3871 #ifndef __IPersistSerializedPropStorage2_INTERFACE_DEFINED__ 3872 #define __IPersistSerializedPropStorage2_INTERFACE_DEFINED__ 3873 3874 DEFINE_GUID(IID_IPersistSerializedPropStorage2, 0x77effa68, 0x4f98, 0x4366, 0xba,0x72, 0x57,0x3b,0x3d,0x88,0x05,0x71); 3875 #if defined(__cplusplus) && !defined(CINTERFACE) 3876 MIDL_INTERFACE("77effa68-4f98-4366-ba72-573b3d880571") 3877 IPersistSerializedPropStorage2 : public IPersistSerializedPropStorage 3878 { 3879 virtual HRESULT STDMETHODCALLTYPE GetPropertyStorageSize( 3880 DWORD *pcb) = 0; 3881 3882 virtual HRESULT STDMETHODCALLTYPE GetPropertyStorageBuffer( 3883 SERIALIZEDPROPSTORAGE *psps, 3884 DWORD cb, 3885 DWORD *pcbWritten) = 0; 3886 3887 }; 3888 #ifdef __CRT_UUID_DECL 3889 __CRT_UUID_DECL(IPersistSerializedPropStorage2, 0x77effa68, 0x4f98, 0x4366, 0xba,0x72, 0x57,0x3b,0x3d,0x88,0x05,0x71) 3890 #endif 3891 #else 3892 typedef struct IPersistSerializedPropStorage2Vtbl { 3893 BEGIN_INTERFACE 3894 3895 /*** IUnknown methods ***/ 3896 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3897 IPersistSerializedPropStorage2 *This, 3898 REFIID riid, 3899 void **ppvObject); 3900 3901 ULONG (STDMETHODCALLTYPE *AddRef)( 3902 IPersistSerializedPropStorage2 *This); 3903 3904 ULONG (STDMETHODCALLTYPE *Release)( 3905 IPersistSerializedPropStorage2 *This); 3906 3907 /*** IPersistSerializedPropStorage methods ***/ 3908 HRESULT (STDMETHODCALLTYPE *SetFlags)( 3909 IPersistSerializedPropStorage2 *This, 3910 PERSIST_SPROPSTORE_FLAGS flags); 3911 3912 HRESULT (STDMETHODCALLTYPE *SetPropertyStorage)( 3913 IPersistSerializedPropStorage2 *This, 3914 PCUSERIALIZEDPROPSTORAGE psps, 3915 DWORD cb); 3916 3917 HRESULT (STDMETHODCALLTYPE *GetPropertyStorage)( 3918 IPersistSerializedPropStorage2 *This, 3919 SERIALIZEDPROPSTORAGE **ppsps, 3920 DWORD *pcb); 3921 3922 /*** IPersistSerializedPropStorage2 methods ***/ 3923 HRESULT (STDMETHODCALLTYPE *GetPropertyStorageSize)( 3924 IPersistSerializedPropStorage2 *This, 3925 DWORD *pcb); 3926 3927 HRESULT (STDMETHODCALLTYPE *GetPropertyStorageBuffer)( 3928 IPersistSerializedPropStorage2 *This, 3929 SERIALIZEDPROPSTORAGE *psps, 3930 DWORD cb, 3931 DWORD *pcbWritten); 3932 3933 END_INTERFACE 3934 } IPersistSerializedPropStorage2Vtbl; 3935 3936 interface IPersistSerializedPropStorage2 { 3937 CONST_VTBL IPersistSerializedPropStorage2Vtbl* lpVtbl; 3938 }; 3939 3940 #ifdef COBJMACROS 3941 #ifndef WIDL_C_INLINE_WRAPPERS 3942 /*** IUnknown methods ***/ 3943 #define IPersistSerializedPropStorage2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3944 #define IPersistSerializedPropStorage2_AddRef(This) (This)->lpVtbl->AddRef(This) 3945 #define IPersistSerializedPropStorage2_Release(This) (This)->lpVtbl->Release(This) 3946 /*** IPersistSerializedPropStorage methods ***/ 3947 #define IPersistSerializedPropStorage2_SetFlags(This,flags) (This)->lpVtbl->SetFlags(This,flags) 3948 #define IPersistSerializedPropStorage2_SetPropertyStorage(This,psps,cb) (This)->lpVtbl->SetPropertyStorage(This,psps,cb) 3949 #define IPersistSerializedPropStorage2_GetPropertyStorage(This,ppsps,pcb) (This)->lpVtbl->GetPropertyStorage(This,ppsps,pcb) 3950 /*** IPersistSerializedPropStorage2 methods ***/ 3951 #define IPersistSerializedPropStorage2_GetPropertyStorageSize(This,pcb) (This)->lpVtbl->GetPropertyStorageSize(This,pcb) 3952 #define IPersistSerializedPropStorage2_GetPropertyStorageBuffer(This,psps,cb,pcbWritten) (This)->lpVtbl->GetPropertyStorageBuffer(This,psps,cb,pcbWritten) 3953 #else 3954 /*** IUnknown methods ***/ 3955 static FORCEINLINE HRESULT IPersistSerializedPropStorage2_QueryInterface(IPersistSerializedPropStorage2* This,REFIID riid,void **ppvObject) { 3956 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3957 } 3958 static FORCEINLINE ULONG IPersistSerializedPropStorage2_AddRef(IPersistSerializedPropStorage2* This) { 3959 return This->lpVtbl->AddRef(This); 3960 } 3961 static FORCEINLINE ULONG IPersistSerializedPropStorage2_Release(IPersistSerializedPropStorage2* This) { 3962 return This->lpVtbl->Release(This); 3963 } 3964 /*** IPersistSerializedPropStorage methods ***/ 3965 static FORCEINLINE HRESULT IPersistSerializedPropStorage2_SetFlags(IPersistSerializedPropStorage2* This,PERSIST_SPROPSTORE_FLAGS flags) { 3966 return This->lpVtbl->SetFlags(This,flags); 3967 } 3968 static FORCEINLINE HRESULT IPersistSerializedPropStorage2_SetPropertyStorage(IPersistSerializedPropStorage2* This,PCUSERIALIZEDPROPSTORAGE psps,DWORD cb) { 3969 return This->lpVtbl->SetPropertyStorage(This,psps,cb); 3970 } 3971 static FORCEINLINE HRESULT IPersistSerializedPropStorage2_GetPropertyStorage(IPersistSerializedPropStorage2* This,SERIALIZEDPROPSTORAGE **ppsps,DWORD *pcb) { 3972 return This->lpVtbl->GetPropertyStorage(This,ppsps,pcb); 3973 } 3974 /*** IPersistSerializedPropStorage2 methods ***/ 3975 static FORCEINLINE HRESULT IPersistSerializedPropStorage2_GetPropertyStorageSize(IPersistSerializedPropStorage2* This,DWORD *pcb) { 3976 return This->lpVtbl->GetPropertyStorageSize(This,pcb); 3977 } 3978 static FORCEINLINE HRESULT IPersistSerializedPropStorage2_GetPropertyStorageBuffer(IPersistSerializedPropStorage2* This,SERIALIZEDPROPSTORAGE *psps,DWORD cb,DWORD *pcbWritten) { 3979 return This->lpVtbl->GetPropertyStorageBuffer(This,psps,cb,pcbWritten); 3980 } 3981 #endif 3982 #endif 3983 3984 #endif 3985 3986 3987 #endif /* __IPersistSerializedPropStorage2_INTERFACE_DEFINED__ */ 3988 3989 3990 /***************************************************************************** 3991 * IPropertySystemChangeNotify interface 3992 */ 3993 #ifndef __IPropertySystemChangeNotify_INTERFACE_DEFINED__ 3994 #define __IPropertySystemChangeNotify_INTERFACE_DEFINED__ 3995 3996 DEFINE_GUID(IID_IPropertySystemChangeNotify, 0xfa955fd9, 0x38be, 0x4879, 0xa6,0xce, 0x82,0x4c,0xf5,0x2d,0x60,0x9f); 3997 #if defined(__cplusplus) && !defined(CINTERFACE) 3998 MIDL_INTERFACE("fa955fd9-38be-4879-a6ce-824cf52d609f") 3999 IPropertySystemChangeNotify : public IUnknown 4000 { 4001 virtual HRESULT STDMETHODCALLTYPE SchemaRefreshed( 4002 ) = 0; 4003 4004 }; 4005 #ifdef __CRT_UUID_DECL 4006 __CRT_UUID_DECL(IPropertySystemChangeNotify, 0xfa955fd9, 0x38be, 0x4879, 0xa6,0xce, 0x82,0x4c,0xf5,0x2d,0x60,0x9f) 4007 #endif 4008 #else 4009 typedef struct IPropertySystemChangeNotifyVtbl { 4010 BEGIN_INTERFACE 4011 4012 /*** IUnknown methods ***/ 4013 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4014 IPropertySystemChangeNotify *This, 4015 REFIID riid, 4016 void **ppvObject); 4017 4018 ULONG (STDMETHODCALLTYPE *AddRef)( 4019 IPropertySystemChangeNotify *This); 4020 4021 ULONG (STDMETHODCALLTYPE *Release)( 4022 IPropertySystemChangeNotify *This); 4023 4024 /*** IPropertySystemChangeNotify methods ***/ 4025 HRESULT (STDMETHODCALLTYPE *SchemaRefreshed)( 4026 IPropertySystemChangeNotify *This); 4027 4028 END_INTERFACE 4029 } IPropertySystemChangeNotifyVtbl; 4030 4031 interface IPropertySystemChangeNotify { 4032 CONST_VTBL IPropertySystemChangeNotifyVtbl* lpVtbl; 4033 }; 4034 4035 #ifdef COBJMACROS 4036 #ifndef WIDL_C_INLINE_WRAPPERS 4037 /*** IUnknown methods ***/ 4038 #define IPropertySystemChangeNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4039 #define IPropertySystemChangeNotify_AddRef(This) (This)->lpVtbl->AddRef(This) 4040 #define IPropertySystemChangeNotify_Release(This) (This)->lpVtbl->Release(This) 4041 /*** IPropertySystemChangeNotify methods ***/ 4042 #define IPropertySystemChangeNotify_SchemaRefreshed(This) (This)->lpVtbl->SchemaRefreshed(This) 4043 #else 4044 /*** IUnknown methods ***/ 4045 static FORCEINLINE HRESULT IPropertySystemChangeNotify_QueryInterface(IPropertySystemChangeNotify* This,REFIID riid,void **ppvObject) { 4046 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4047 } 4048 static FORCEINLINE ULONG IPropertySystemChangeNotify_AddRef(IPropertySystemChangeNotify* This) { 4049 return This->lpVtbl->AddRef(This); 4050 } 4051 static FORCEINLINE ULONG IPropertySystemChangeNotify_Release(IPropertySystemChangeNotify* This) { 4052 return This->lpVtbl->Release(This); 4053 } 4054 /*** IPropertySystemChangeNotify methods ***/ 4055 static FORCEINLINE HRESULT IPropertySystemChangeNotify_SchemaRefreshed(IPropertySystemChangeNotify* This) { 4056 return This->lpVtbl->SchemaRefreshed(This); 4057 } 4058 #endif 4059 #endif 4060 4061 #endif 4062 4063 4064 #endif /* __IPropertySystemChangeNotify_INTERFACE_DEFINED__ */ 4065 4066 4067 /***************************************************************************** 4068 * ICreateObject interface 4069 */ 4070 #ifndef __ICreateObject_INTERFACE_DEFINED__ 4071 #define __ICreateObject_INTERFACE_DEFINED__ 4072 4073 DEFINE_GUID(IID_ICreateObject, 0x75121952, 0xe0d0, 0x43e5, 0x93,0x80, 0x1d,0x80,0x48,0x3a,0xcf,0x72); 4074 #if defined(__cplusplus) && !defined(CINTERFACE) 4075 MIDL_INTERFACE("75121952-e0d0-43e5-9380-1d80483acf72") 4076 ICreateObject : public IUnknown 4077 { 4078 virtual HRESULT STDMETHODCALLTYPE CreateObject( 4079 REFCLSID clsid, 4080 IUnknown *pUnkOuter, 4081 REFIID riid, 4082 void **ppv) = 0; 4083 4084 }; 4085 #ifdef __CRT_UUID_DECL 4086 __CRT_UUID_DECL(ICreateObject, 0x75121952, 0xe0d0, 0x43e5, 0x93,0x80, 0x1d,0x80,0x48,0x3a,0xcf,0x72) 4087 #endif 4088 #else 4089 typedef struct ICreateObjectVtbl { 4090 BEGIN_INTERFACE 4091 4092 /*** IUnknown methods ***/ 4093 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4094 ICreateObject *This, 4095 REFIID riid, 4096 void **ppvObject); 4097 4098 ULONG (STDMETHODCALLTYPE *AddRef)( 4099 ICreateObject *This); 4100 4101 ULONG (STDMETHODCALLTYPE *Release)( 4102 ICreateObject *This); 4103 4104 /*** ICreateObject methods ***/ 4105 HRESULT (STDMETHODCALLTYPE *CreateObject)( 4106 ICreateObject *This, 4107 REFCLSID clsid, 4108 IUnknown *pUnkOuter, 4109 REFIID riid, 4110 void **ppv); 4111 4112 END_INTERFACE 4113 } ICreateObjectVtbl; 4114 4115 interface ICreateObject { 4116 CONST_VTBL ICreateObjectVtbl* lpVtbl; 4117 }; 4118 4119 #ifdef COBJMACROS 4120 #ifndef WIDL_C_INLINE_WRAPPERS 4121 /*** IUnknown methods ***/ 4122 #define ICreateObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4123 #define ICreateObject_AddRef(This) (This)->lpVtbl->AddRef(This) 4124 #define ICreateObject_Release(This) (This)->lpVtbl->Release(This) 4125 /*** ICreateObject methods ***/ 4126 #define ICreateObject_CreateObject(This,clsid,pUnkOuter,riid,ppv) (This)->lpVtbl->CreateObject(This,clsid,pUnkOuter,riid,ppv) 4127 #else 4128 /*** IUnknown methods ***/ 4129 static FORCEINLINE HRESULT ICreateObject_QueryInterface(ICreateObject* This,REFIID riid,void **ppvObject) { 4130 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4131 } 4132 static FORCEINLINE ULONG ICreateObject_AddRef(ICreateObject* This) { 4133 return This->lpVtbl->AddRef(This); 4134 } 4135 static FORCEINLINE ULONG ICreateObject_Release(ICreateObject* This) { 4136 return This->lpVtbl->Release(This); 4137 } 4138 /*** ICreateObject methods ***/ 4139 static FORCEINLINE HRESULT ICreateObject_CreateObject(ICreateObject* This,REFCLSID clsid,IUnknown *pUnkOuter,REFIID riid,void **ppv) { 4140 return This->lpVtbl->CreateObject(This,clsid,pUnkOuter,riid,ppv); 4141 } 4142 #endif 4143 #endif 4144 4145 #endif 4146 4147 4148 #endif /* __ICreateObject_INTERFACE_DEFINED__ */ 4149 4150 4151 #define PKEY_PIDSTR_MAX 10 4152 #define GUIDSTRING_MAX (39) 4153 #define PKEYSTR_MAX (GUIDSTRING_MAX + 1 + PKEY_PIDSTR_MAX) 4154 4155 PSSTDAPI PSCoerceToCanonicalValue(REFPROPERTYKEY key, PROPVARIANT *ppropvar); 4156 PSSTDAPI PSCreateAdapterFromPropertyStore(IPropertyStore *pps, REFIID riid, void **ppv); 4157 PSSTDAPI PSCreateDelayedMultiplexPropertyStore(GETPROPERTYSTOREFLAGS flags, IDelayedPropertyStoreFactory *pdpsf, const DWORD *rgStoreIds, DWORD cStores, REFIID riid, void **ppv); 4158 PSSTDAPI PSCreateMemoryPropertyStore(REFIID riid, void **ppv); 4159 PSSTDAPI PSCreateMultiplexPropertyStore(IUnknown **prgpunkStores, DWORD cStores, REFIID riid, void **ppv); 4160 PSSTDAPI PSCreatePropertyChangeArray(const PROPERTYKEY *rgpropkey, const PKA_FLAGS *rgflags, const PROPVARIANT *rgpropvar, UINT cChanges, REFIID riid, void **ppv); 4161 PSSTDAPI PSCreatePropertyStoreFromObject(IUnknown *punk, DWORD grfMode, REFIID riid, void **ppv); 4162 PSSTDAPI PSCreatePropertyStoreFromPropertySetStorage(IPropertySetStorage *ppss, DWORD grfMode, REFIID riid, void **ppv); 4163 PSSTDAPI PSCreateSimplePropertyChange(PKA_FLAGS flags, REFPROPERTYKEY key, REFPROPVARIANT propvar, REFIID riid, void **ppv); 4164 PSSTDAPI PSEnumeratePropertyDescriptions(PROPDESC_ENUMFILTER filterOn, REFIID riid, void **ppv); 4165 PSSTDAPI PSFormatForDisplay(REFPROPERTYKEY propkey, REFPROPVARIANT propvar, PROPDESC_FORMAT_FLAGS pdfFlags, LPWSTR pwszText, DWORD cchText); 4166 PSSTDAPI PSFormatForDisplayAlloc(REFPROPERTYKEY key, REFPROPVARIANT propvar, PROPDESC_FORMAT_FLAGS pdff, PWSTR *ppszDisplay); 4167 PSSTDAPI PSFormatPropertyValue(IPropertyStore *pps, IPropertyDescription *ppd, PROPDESC_FORMAT_FLAGS pdff, LPWSTR *ppszDisplay); 4168 PSSTDAPI PSGetImageReferenceForValue(REFPROPERTYKEY propkey, REFPROPVARIANT propvar, PWSTR *ppszImageRes); 4169 PSSTDAPI PSGetItemPropertyHandler(IUnknown *punkItem, BOOL fReadWrite, REFIID riid, void **ppv); 4170 PSSTDAPI PSGetItemPropertyHandlerWithCreateObject(IUnknown *punkItem, BOOL fReadWrite, IUnknown *punkCreateObject, REFIID riid, void **ppv); 4171 PSSTDAPI PSGetNamedPropertyFromPropertyStorage(PCUSERIALIZEDPROPSTORAGE psps, DWORD cb, LPCWSTR pszName, PROPVARIANT *ppropvar); 4172 PSSTDAPI PSGetNameFromPropertyKey(REFPROPERTYKEY propkey, PWSTR *ppszCanonicalName); 4173 PSSTDAPI PSGetPropertyDescription(REFPROPERTYKEY propkey, REFIID riid, void **ppv); 4174 PSSTDAPI PSGetPropertyDescriptionByName(LPCWSTR pszCanonicalName, REFIID riid, void **ppv); 4175 PSSTDAPI PSGetPropertyDescriptionListFromString(LPCWSTR pszPropList, REFIID riid, void **ppv); 4176 PSSTDAPI PSGetPropertyFromPropertyStorage(PCUSERIALIZEDPROPSTORAGE psps, DWORD cb, REFPROPERTYKEY rpkey, PROPVARIANT *ppropvar); 4177 PSSTDAPI PSGetPropertyKeyFromName(PCWSTR pszName, PROPERTYKEY *ppropkey); 4178 PSSTDAPI PSGetPropertySystem(REFIID riid, void **ppv); 4179 PSSTDAPI PSGetPropertyValue(IPropertyStore *pps, IPropertyDescription *ppd, PROPVARIANT *ppropvar); 4180 PSSTDAPI PSLookupPropertyHandlerCLSID(PCWSTR pszFilePath, CLSID *pclsid); 4181 PSSTDAPI PSPropertyBag_Delete(IPropertyBag *propBag, LPCWSTR propName); 4182 PSSTDAPI PSPropertyBag_ReadBOOL(IPropertyBag *propBag, LPCWSTR propName, BOOL *value); 4183 PSSTDAPI PSPropertyBag_ReadBSTR(IPropertyBag *propBag, LPCWSTR propName, BSTR *value); 4184 PSSTDAPI PSPropertyBag_ReadDWORD(IPropertyBag *propBag, LPCWSTR propName, DWORD *value); 4185 PSSTDAPI PSPropertyBag_ReadGUID(IPropertyBag *propBag, LPCWSTR propName, GUID *value); 4186 PSSTDAPI PSPropertyBag_ReadInt(IPropertyBag *propBag, LPCWSTR propName, INT *value); 4187 PSSTDAPI PSPropertyBag_ReadLONG(IPropertyBag *propBag, LPCWSTR propName, LONG *value); 4188 PSSTDAPI PSPropertyBag_ReadPOINTL(IPropertyBag *propBag, LPCWSTR propName, POINTL *value); 4189 PSSTDAPI PSPropertyBag_ReadPOINTS(IPropertyBag *propBag, LPCWSTR propName, POINTS *value); 4190 PSSTDAPI PSPropertyBag_ReadPropertyKey(IPropertyBag *propBag, LPCWSTR propName, PROPERTYKEY *value); 4191 PSSTDAPI PSPropertyBag_ReadRECTL(IPropertyBag *propBag, LPCWSTR propName, RECTL *value); 4192 PSSTDAPI PSPropertyBag_ReadSHORT(IPropertyBag *propBag, LPCWSTR propName, SHORT *value); 4193 PSSTDAPI PSPropertyBag_ReadStr(IPropertyBag *propBag, LPCWSTR propName, LPWSTR value, int characterCount); 4194 PSSTDAPI PSPropertyBag_ReadStrAlloc(IPropertyBag *propBag, LPCWSTR propName, PWSTR *value); 4195 PSSTDAPI PSPropertyBag_ReadStream(IPropertyBag *propBag, LPCWSTR propName, IStream **value); 4196 PSSTDAPI PSPropertyBag_ReadType(IPropertyBag *propBag, LPCWSTR propName, VARIANT *var, VARTYPE type); 4197 PSSTDAPI PSPropertyBag_ReadULONGLONG(IPropertyBag *propBag, LPCWSTR propName, ULONGLONG *value); 4198 PSSTDAPI PSPropertyBag_ReadUnknown(IPropertyBag *propBag, LPCWSTR propName, REFIID riid, void **ppv); 4199 PSSTDAPI PSPropertyBag_WriteBOOL(IPropertyBag *propBag, LPCWSTR propName, BOOL value); 4200 PSSTDAPI PSPropertyBag_WriteBSTR(IPropertyBag *propBag, LPCWSTR propName, BSTR value); 4201 PSSTDAPI PSPropertyBag_WriteDWORD(IPropertyBag *propBag, LPCWSTR propName, DWORD value); 4202 PSSTDAPI PSPropertyBag_WriteGUID(IPropertyBag *propBag, LPCWSTR propName, const GUID *value); 4203 PSSTDAPI PSPropertyBag_WriteInt(IPropertyBag *propBag, LPCWSTR propName, INT value); 4204 PSSTDAPI PSPropertyBag_WriteLONG(IPropertyBag *propBag, LPCWSTR propName, LONG value); 4205 PSSTDAPI PSPropertyBag_WritePOINTL(IPropertyBag *propBag, LPCWSTR propName, const POINTL *value); 4206 PSSTDAPI PSPropertyBag_WritePOINTS(IPropertyBag *propBag, LPCWSTR propName, const POINTS *value); 4207 PSSTDAPI PSPropertyBag_WritePropertyKey(IPropertyBag *propBag, LPCWSTR propName, REFPROPERTYKEY value); 4208 PSSTDAPI PSPropertyBag_WriteRECTL(IPropertyBag *propBag, LPCWSTR propName, const RECTL *value); 4209 PSSTDAPI PSPropertyBag_WriteSHORT(IPropertyBag *propBag, LPCWSTR propName, SHORT value); 4210 PSSTDAPI PSPropertyBag_WriteStr(IPropertyBag *propBag, LPCWSTR propName, LPCWSTR value); 4211 PSSTDAPI PSPropertyBag_WriteStream(IPropertyBag *propBag, LPCWSTR propName, IStream *value); 4212 PSSTDAPI PSPropertyBag_WriteULONGLONG(IPropertyBag *propBag, LPCWSTR propName, ULONGLONG value); 4213 PSSTDAPI PSPropertyBag_WriteUnknown(IPropertyBag *propBag, LPCWSTR propName, IUnknown *punk); 4214 PSSTDAPI PSPropertyKeyFromString(LPCWSTR pszString, PROPERTYKEY *pkey); 4215 PSSTDAPI PSRefreshPropertySchema(void); 4216 PSSTDAPI PSRegisterPropertySchema(PCWSTR pszPath); 4217 PSSTDAPI PSSetPropertyValue(IPropertyStore *pps, IPropertyDescription *ppd, REFPROPVARIANT propvar); 4218 PSSTDAPI PSStringFromPropertyKey(REFPROPERTYKEY pkey, LPWSTR psz, UINT cch); 4219 PSSTDAPI PSUnregisterPropertySchema(PCWSTR pszPath); 4220 4221 #ifndef __PropSysObjects_LIBRARY_DEFINED__ 4222 #define __PropSysObjects_LIBRARY_DEFINED__ 4223 4224 DEFINE_GUID(LIBID_PropSysObjects, 0x2cda3294, 0x6c4f, 0x4020, 0xb1,0x61, 0x27,0xc5,0x30,0xc8,0x1f,0xa6); 4225 4226 /***************************************************************************** 4227 * InMemoryPropertyStore coclass 4228 */ 4229 4230 DEFINE_GUID(CLSID_InMemoryPropertyStore, 0x9a02e012, 0x6303, 0x4e1e, 0xb9,0xa1, 0x63,0x0f,0x80,0x25,0x92,0xc5); 4231 4232 #ifdef __cplusplus 4233 class DECLSPEC_UUID("9a02e012-6303-4e1e-b9a1-630f802592c5") InMemoryPropertyStore; 4234 #ifdef __CRT_UUID_DECL 4235 __CRT_UUID_DECL(InMemoryPropertyStore, 0x9a02e012, 0x6303, 0x4e1e, 0xb9,0xa1, 0x63,0x0f,0x80,0x25,0x92,0xc5) 4236 #endif 4237 #endif 4238 4239 /***************************************************************************** 4240 * PropertySystem coclass 4241 */ 4242 4243 DEFINE_GUID(CLSID_PropertySystem, 0xb8967f85, 0x58ae, 0x4f46, 0x9f,0xb2, 0x5d,0x79,0x04,0x79,0x8f,0x4b); 4244 4245 #ifdef __cplusplus 4246 class DECLSPEC_UUID("b8967f85-58ae-4f46-9fb2-5d7904798f4b") PropertySystem; 4247 #ifdef __CRT_UUID_DECL 4248 __CRT_UUID_DECL(PropertySystem, 0xb8967f85, 0x58ae, 0x4f46, 0x9f,0xb2, 0x5d,0x79,0x04,0x79,0x8f,0x4b) 4249 #endif 4250 #endif 4251 4252 #endif /* __PropSysObjects_LIBRARY_DEFINED__ */ 4253 #endif 4254 /* Begin additional prototypes for all interfaces */ 4255 4256 ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); 4257 unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); 4258 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); 4259 void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); 4260 ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *); 4261 unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *); 4262 unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *); 4263 void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *); 4264 4265 /* End additional prototypes */ 4266 4267 #ifdef __cplusplus 4268 } 4269 #endif 4270 4271 #endif /* __propsys_h__ */ 4272