Home | History | Annotate | Download | only in include
      1 /*** Autogenerated by WIDL 1.6 from include/portabledevicetypes.idl - Do not edit ***/
      2 
      3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      5 #endif
      6 
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 
     10 #ifndef COM_NO_WINDOWS_H
     11 #include <windows.h>
     12 #include <ole2.h>
     13 #endif
     14 
     15 #ifndef __portabledevicetypes_h__
     16 #define __portabledevicetypes_h__
     17 
     18 /* Forward declarations */
     19 
     20 #ifndef __IPortableDeviceValues_FWD_DEFINED__
     21 #define __IPortableDeviceValues_FWD_DEFINED__
     22 typedef interface IPortableDeviceValues IPortableDeviceValues;
     23 #endif
     24 
     25 #ifndef __IPortableDeviceKeyCollection_FWD_DEFINED__
     26 #define __IPortableDeviceKeyCollection_FWD_DEFINED__
     27 typedef interface IPortableDeviceKeyCollection IPortableDeviceKeyCollection;
     28 #endif
     29 
     30 #ifndef __IPortableDevicePropVariantCollection_FWD_DEFINED__
     31 #define __IPortableDevicePropVariantCollection_FWD_DEFINED__
     32 typedef interface IPortableDevicePropVariantCollection IPortableDevicePropVariantCollection;
     33 #endif
     34 
     35 #ifndef __IPortableDeviceValuesCollection_FWD_DEFINED__
     36 #define __IPortableDeviceValuesCollection_FWD_DEFINED__
     37 typedef interface IPortableDeviceValuesCollection IPortableDeviceValuesCollection;
     38 #endif
     39 
     40 #ifndef __PortableDeviceValues_FWD_DEFINED__
     41 #define __PortableDeviceValues_FWD_DEFINED__
     42 #ifdef __cplusplus
     43 typedef class PortableDeviceValues PortableDeviceValues;
     44 #else
     45 typedef struct PortableDeviceValues PortableDeviceValues;
     46 #endif /* defined __cplusplus */
     47 #endif /* defined __PortableDeviceValues_FWD_DEFINED__ */
     48 
     49 /* Headers for imported files */
     50 
     51 #include <oaidl.h>
     52 #include <ocidl.h>
     53 #include <propsys.h>
     54 
     55 #ifdef __cplusplus
     56 extern "C" {
     57 #endif
     58 
     59 #ifndef __IPortableDeviceKeyCollection_FWD_DEFINED__
     60 #define __IPortableDeviceKeyCollection_FWD_DEFINED__
     61 typedef interface IPortableDeviceKeyCollection IPortableDeviceKeyCollection;
     62 #endif
     63 
     64 #ifndef __IPortableDevicePropVariantCollection_FWD_DEFINED__
     65 #define __IPortableDevicePropVariantCollection_FWD_DEFINED__
     66 typedef interface IPortableDevicePropVariantCollection IPortableDevicePropVariantCollection;
     67 #endif
     68 
     69 #ifndef __IPortableDeviceValuesCollection_FWD_DEFINED__
     70 #define __IPortableDeviceValuesCollection_FWD_DEFINED__
     71 typedef interface IPortableDeviceValuesCollection IPortableDeviceValuesCollection;
     72 #endif
     73 
     74 /*****************************************************************************
     75  * IPortableDeviceValues interface
     76  */
     77 #ifndef __IPortableDeviceValues_INTERFACE_DEFINED__
     78 #define __IPortableDeviceValues_INTERFACE_DEFINED__
     79 
     80 DEFINE_GUID(IID_IPortableDeviceValues, 0x6848f6f2, 0x3155, 0x4f86, 0xb6,0xf5, 0x26,0x3e,0xee,0xab,0x31,0x43);
     81 #if defined(__cplusplus) && !defined(CINTERFACE)
     82 MIDL_INTERFACE("6848f6f2-3155-4f86-b6f5-263eeeab3143")
     83 IPortableDeviceValues : public IUnknown
     84 {
     85     virtual HRESULT STDMETHODCALLTYPE GetCount(
     86         DWORD *pcelt) = 0;
     87 
     88     virtual HRESULT STDMETHODCALLTYPE GetAt(
     89         const DWORD index,
     90         PROPERTYKEY *pKey,
     91         PROPVARIANT *pValue) = 0;
     92 
     93     virtual HRESULT STDMETHODCALLTYPE SetValue(
     94         REFPROPERTYKEY key,
     95         const PROPVARIANT *pValue) = 0;
     96 
     97     virtual HRESULT STDMETHODCALLTYPE GetValue(
     98         REFPROPERTYKEY key,
     99         PROPVARIANT *pValue) = 0;
    100 
    101     virtual HRESULT STDMETHODCALLTYPE SetStringValue(
    102         REFPROPERTYKEY key,
    103         LPCWSTR Value) = 0;
    104 
    105     virtual HRESULT STDMETHODCALLTYPE GetStringValue(
    106         REFPROPERTYKEY key,
    107         LPWSTR *pValue) = 0;
    108 
    109     virtual HRESULT STDMETHODCALLTYPE SetUnsignedIntegerValue(
    110         REFPROPERTYKEY key,
    111         const ULONG Value) = 0;
    112 
    113     virtual HRESULT STDMETHODCALLTYPE GetUnsignedIntegerValue(
    114         REFPROPERTYKEY key,
    115         ULONG *pValue) = 0;
    116 
    117     virtual HRESULT STDMETHODCALLTYPE SetSignedIntegerValue(
    118         REFPROPERTYKEY key,
    119         const LONG Value) = 0;
    120 
    121     virtual HRESULT STDMETHODCALLTYPE GetSignedIntegerValue(
    122         REFPROPERTYKEY key,
    123         LONG *pValue) = 0;
    124 
    125     virtual HRESULT STDMETHODCALLTYPE SetUnsignedLargeIntegerValue(
    126         REFPROPERTYKEY key,
    127         const ULONGLONG Value) = 0;
    128 
    129     virtual HRESULT STDMETHODCALLTYPE GetUnsignedLargeIntegerValue(
    130         REFPROPERTYKEY key,
    131         ULONGLONG *pValue) = 0;
    132 
    133     virtual HRESULT STDMETHODCALLTYPE SetSignedLargeIntegerValue(
    134         REFPROPERTYKEY key,
    135         const LONGLONG Value) = 0;
    136 
    137     virtual HRESULT STDMETHODCALLTYPE GetSignedLargeIntegerValue(
    138         REFPROPERTYKEY key,
    139         LONGLONG *pValue) = 0;
    140 
    141     virtual HRESULT STDMETHODCALLTYPE SetFloatValue(
    142         REFPROPERTYKEY key,
    143         const FLOAT Value) = 0;
    144 
    145     virtual HRESULT STDMETHODCALLTYPE GetFloatValue(
    146         REFPROPERTYKEY key,
    147         FLOAT *pValue) = 0;
    148 
    149     virtual HRESULT STDMETHODCALLTYPE SetErrorValue(
    150         REFPROPERTYKEY key,
    151         const HRESULT Value) = 0;
    152 
    153     virtual HRESULT STDMETHODCALLTYPE GetErrorValue(
    154         REFPROPERTYKEY key,
    155         HRESULT *pValue) = 0;
    156 
    157     virtual HRESULT STDMETHODCALLTYPE SetKeyValue(
    158         REFPROPERTYKEY key,
    159         REFPROPERTYKEY Value) = 0;
    160 
    161     virtual HRESULT STDMETHODCALLTYPE GetKeyValue(
    162         REFPROPERTYKEY key,
    163         PROPERTYKEY *pValue) = 0;
    164 
    165     virtual HRESULT STDMETHODCALLTYPE SetBoolValue(
    166         REFPROPERTYKEY key,
    167         const WINBOOL Value) = 0;
    168 
    169     virtual HRESULT STDMETHODCALLTYPE GetBoolValue(
    170         REFPROPERTYKEY key,
    171         WINBOOL *pValue) = 0;
    172 
    173     virtual HRESULT STDMETHODCALLTYPE SetIUnknownValue(
    174         REFPROPERTYKEY key,
    175         IUnknown *pValue) = 0;
    176 
    177     virtual HRESULT STDMETHODCALLTYPE GetIUnknownValue(
    178         REFPROPERTYKEY key,
    179         IUnknown **ppValue) = 0;
    180 
    181     virtual HRESULT STDMETHODCALLTYPE SetGuidValue(
    182         REFPROPERTYKEY key,
    183         REFGUID Value) = 0;
    184 
    185     virtual HRESULT STDMETHODCALLTYPE GetGuidValue(
    186         REFPROPERTYKEY key,
    187         GUID *pValue) = 0;
    188 
    189     virtual HRESULT STDMETHODCALLTYPE SetBufferValue(
    190         REFPROPERTYKEY key,
    191         BYTE *pValue,
    192         DWORD cbValue) = 0;
    193 
    194     virtual HRESULT STDMETHODCALLTYPE GetBufferValue(
    195         REFPROPERTYKEY key,
    196         BYTE **ppValue,
    197         DWORD *pcbValue) = 0;
    198 
    199     virtual HRESULT STDMETHODCALLTYPE SetIPortableDeviceValuesValue(
    200         REFPROPERTYKEY key,
    201         IPortableDeviceValues *pValue) = 0;
    202 
    203     virtual HRESULT STDMETHODCALLTYPE GetIPortableDeviceValuesValue(
    204         REFPROPERTYKEY key,
    205         IPortableDeviceValues **ppValue) = 0;
    206 
    207     virtual HRESULT STDMETHODCALLTYPE SetIPortableDevicePropVariantCollectionValue(
    208         REFPROPERTYKEY key,
    209         IPortableDevicePropVariantCollection *pValue) = 0;
    210 
    211     virtual HRESULT STDMETHODCALLTYPE GetIPortableDevicePropVariantCollectionValue(
    212         REFPROPERTYKEY key,
    213         IPortableDevicePropVariantCollection **ppValue) = 0;
    214 
    215     virtual HRESULT STDMETHODCALLTYPE SetIPortableDeviceKeyCollectionValue(
    216         REFPROPERTYKEY key,
    217         IPortableDeviceKeyCollection *pValue) = 0;
    218 
    219     virtual HRESULT STDMETHODCALLTYPE GetIPortableDeviceKeyCollectionValue(
    220         REFPROPERTYKEY key,
    221         IPortableDeviceKeyCollection **ppValue) = 0;
    222 
    223     virtual HRESULT STDMETHODCALLTYPE SetIPortableDeviceValuesCollectionValue(
    224         REFPROPERTYKEY key,
    225         IPortableDeviceValuesCollection *pValue) = 0;
    226 
    227     virtual HRESULT STDMETHODCALLTYPE GetIPortableDeviceValuesCollectionValue(
    228         REFPROPERTYKEY key,
    229         IPortableDeviceValuesCollection **ppValue) = 0;
    230 
    231     virtual HRESULT STDMETHODCALLTYPE RemoveValue(
    232         REFPROPERTYKEY key) = 0;
    233 
    234     virtual HRESULT STDMETHODCALLTYPE CopyValuesFromPropertyStore(
    235         IPropertyStore *pStore) = 0;
    236 
    237     virtual HRESULT STDMETHODCALLTYPE CopyValuesToPropertyStore(
    238         IPropertyStore *pStore) = 0;
    239 
    240     virtual HRESULT STDMETHODCALLTYPE Clear(
    241         ) = 0;
    242 
    243 };
    244 #ifdef __CRT_UUID_DECL
    245 __CRT_UUID_DECL(IPortableDeviceValues, 0x6848f6f2, 0x3155, 0x4f86, 0xb6,0xf5, 0x26,0x3e,0xee,0xab,0x31,0x43)
    246 #endif
    247 #else
    248 typedef struct IPortableDeviceValuesVtbl {
    249     BEGIN_INTERFACE
    250 
    251     /*** IUnknown methods ***/
    252     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    253         IPortableDeviceValues* This,
    254         REFIID riid,
    255         void **ppvObject);
    256 
    257     ULONG (STDMETHODCALLTYPE *AddRef)(
    258         IPortableDeviceValues* This);
    259 
    260     ULONG (STDMETHODCALLTYPE *Release)(
    261         IPortableDeviceValues* This);
    262 
    263     /*** IPortableDeviceValues methods ***/
    264     HRESULT (STDMETHODCALLTYPE *GetCount)(
    265         IPortableDeviceValues* This,
    266         DWORD *pcelt);
    267 
    268     HRESULT (STDMETHODCALLTYPE *GetAt)(
    269         IPortableDeviceValues* This,
    270         const DWORD index,
    271         PROPERTYKEY *pKey,
    272         PROPVARIANT *pValue);
    273 
    274     HRESULT (STDMETHODCALLTYPE *SetValue)(
    275         IPortableDeviceValues* This,
    276         REFPROPERTYKEY key,
    277         const PROPVARIANT *pValue);
    278 
    279     HRESULT (STDMETHODCALLTYPE *GetValue)(
    280         IPortableDeviceValues* This,
    281         REFPROPERTYKEY key,
    282         PROPVARIANT *pValue);
    283 
    284     HRESULT (STDMETHODCALLTYPE *SetStringValue)(
    285         IPortableDeviceValues* This,
    286         REFPROPERTYKEY key,
    287         LPCWSTR Value);
    288 
    289     HRESULT (STDMETHODCALLTYPE *GetStringValue)(
    290         IPortableDeviceValues* This,
    291         REFPROPERTYKEY key,
    292         LPWSTR *pValue);
    293 
    294     HRESULT (STDMETHODCALLTYPE *SetUnsignedIntegerValue)(
    295         IPortableDeviceValues* This,
    296         REFPROPERTYKEY key,
    297         const ULONG Value);
    298 
    299     HRESULT (STDMETHODCALLTYPE *GetUnsignedIntegerValue)(
    300         IPortableDeviceValues* This,
    301         REFPROPERTYKEY key,
    302         ULONG *pValue);
    303 
    304     HRESULT (STDMETHODCALLTYPE *SetSignedIntegerValue)(
    305         IPortableDeviceValues* This,
    306         REFPROPERTYKEY key,
    307         const LONG Value);
    308 
    309     HRESULT (STDMETHODCALLTYPE *GetSignedIntegerValue)(
    310         IPortableDeviceValues* This,
    311         REFPROPERTYKEY key,
    312         LONG *pValue);
    313 
    314     HRESULT (STDMETHODCALLTYPE *SetUnsignedLargeIntegerValue)(
    315         IPortableDeviceValues* This,
    316         REFPROPERTYKEY key,
    317         const ULONGLONG Value);
    318 
    319     HRESULT (STDMETHODCALLTYPE *GetUnsignedLargeIntegerValue)(
    320         IPortableDeviceValues* This,
    321         REFPROPERTYKEY key,
    322         ULONGLONG *pValue);
    323 
    324     HRESULT (STDMETHODCALLTYPE *SetSignedLargeIntegerValue)(
    325         IPortableDeviceValues* This,
    326         REFPROPERTYKEY key,
    327         const LONGLONG Value);
    328 
    329     HRESULT (STDMETHODCALLTYPE *GetSignedLargeIntegerValue)(
    330         IPortableDeviceValues* This,
    331         REFPROPERTYKEY key,
    332         LONGLONG *pValue);
    333 
    334     HRESULT (STDMETHODCALLTYPE *SetFloatValue)(
    335         IPortableDeviceValues* This,
    336         REFPROPERTYKEY key,
    337         const FLOAT Value);
    338 
    339     HRESULT (STDMETHODCALLTYPE *GetFloatValue)(
    340         IPortableDeviceValues* This,
    341         REFPROPERTYKEY key,
    342         FLOAT *pValue);
    343 
    344     HRESULT (STDMETHODCALLTYPE *SetErrorValue)(
    345         IPortableDeviceValues* This,
    346         REFPROPERTYKEY key,
    347         const HRESULT Value);
    348 
    349     HRESULT (STDMETHODCALLTYPE *GetErrorValue)(
    350         IPortableDeviceValues* This,
    351         REFPROPERTYKEY key,
    352         HRESULT *pValue);
    353 
    354     HRESULT (STDMETHODCALLTYPE *SetKeyValue)(
    355         IPortableDeviceValues* This,
    356         REFPROPERTYKEY key,
    357         REFPROPERTYKEY Value);
    358 
    359     HRESULT (STDMETHODCALLTYPE *GetKeyValue)(
    360         IPortableDeviceValues* This,
    361         REFPROPERTYKEY key,
    362         PROPERTYKEY *pValue);
    363 
    364     HRESULT (STDMETHODCALLTYPE *SetBoolValue)(
    365         IPortableDeviceValues* This,
    366         REFPROPERTYKEY key,
    367         const WINBOOL Value);
    368 
    369     HRESULT (STDMETHODCALLTYPE *GetBoolValue)(
    370         IPortableDeviceValues* This,
    371         REFPROPERTYKEY key,
    372         WINBOOL *pValue);
    373 
    374     HRESULT (STDMETHODCALLTYPE *SetIUnknownValue)(
    375         IPortableDeviceValues* This,
    376         REFPROPERTYKEY key,
    377         IUnknown *pValue);
    378 
    379     HRESULT (STDMETHODCALLTYPE *GetIUnknownValue)(
    380         IPortableDeviceValues* This,
    381         REFPROPERTYKEY key,
    382         IUnknown **ppValue);
    383 
    384     HRESULT (STDMETHODCALLTYPE *SetGuidValue)(
    385         IPortableDeviceValues* This,
    386         REFPROPERTYKEY key,
    387         REFGUID Value);
    388 
    389     HRESULT (STDMETHODCALLTYPE *GetGuidValue)(
    390         IPortableDeviceValues* This,
    391         REFPROPERTYKEY key,
    392         GUID *pValue);
    393 
    394     HRESULT (STDMETHODCALLTYPE *SetBufferValue)(
    395         IPortableDeviceValues* This,
    396         REFPROPERTYKEY key,
    397         BYTE *pValue,
    398         DWORD cbValue);
    399 
    400     HRESULT (STDMETHODCALLTYPE *GetBufferValue)(
    401         IPortableDeviceValues* This,
    402         REFPROPERTYKEY key,
    403         BYTE **ppValue,
    404         DWORD *pcbValue);
    405 
    406     HRESULT (STDMETHODCALLTYPE *SetIPortableDeviceValuesValue)(
    407         IPortableDeviceValues* This,
    408         REFPROPERTYKEY key,
    409         IPortableDeviceValues *pValue);
    410 
    411     HRESULT (STDMETHODCALLTYPE *GetIPortableDeviceValuesValue)(
    412         IPortableDeviceValues* This,
    413         REFPROPERTYKEY key,
    414         IPortableDeviceValues **ppValue);
    415 
    416     HRESULT (STDMETHODCALLTYPE *SetIPortableDevicePropVariantCollectionValue)(
    417         IPortableDeviceValues* This,
    418         REFPROPERTYKEY key,
    419         IPortableDevicePropVariantCollection *pValue);
    420 
    421     HRESULT (STDMETHODCALLTYPE *GetIPortableDevicePropVariantCollectionValue)(
    422         IPortableDeviceValues* This,
    423         REFPROPERTYKEY key,
    424         IPortableDevicePropVariantCollection **ppValue);
    425 
    426     HRESULT (STDMETHODCALLTYPE *SetIPortableDeviceKeyCollectionValue)(
    427         IPortableDeviceValues* This,
    428         REFPROPERTYKEY key,
    429         IPortableDeviceKeyCollection *pValue);
    430 
    431     HRESULT (STDMETHODCALLTYPE *GetIPortableDeviceKeyCollectionValue)(
    432         IPortableDeviceValues* This,
    433         REFPROPERTYKEY key,
    434         IPortableDeviceKeyCollection **ppValue);
    435 
    436     HRESULT (STDMETHODCALLTYPE *SetIPortableDeviceValuesCollectionValue)(
    437         IPortableDeviceValues* This,
    438         REFPROPERTYKEY key,
    439         IPortableDeviceValuesCollection *pValue);
    440 
    441     HRESULT (STDMETHODCALLTYPE *GetIPortableDeviceValuesCollectionValue)(
    442         IPortableDeviceValues* This,
    443         REFPROPERTYKEY key,
    444         IPortableDeviceValuesCollection **ppValue);
    445 
    446     HRESULT (STDMETHODCALLTYPE *RemoveValue)(
    447         IPortableDeviceValues* This,
    448         REFPROPERTYKEY key);
    449 
    450     HRESULT (STDMETHODCALLTYPE *CopyValuesFromPropertyStore)(
    451         IPortableDeviceValues* This,
    452         IPropertyStore *pStore);
    453 
    454     HRESULT (STDMETHODCALLTYPE *CopyValuesToPropertyStore)(
    455         IPortableDeviceValues* This,
    456         IPropertyStore *pStore);
    457 
    458     HRESULT (STDMETHODCALLTYPE *Clear)(
    459         IPortableDeviceValues* This);
    460 
    461     END_INTERFACE
    462 } IPortableDeviceValuesVtbl;
    463 interface IPortableDeviceValues {
    464     CONST_VTBL IPortableDeviceValuesVtbl* lpVtbl;
    465 };
    466 
    467 #ifdef COBJMACROS
    468 #ifndef WIDL_C_INLINE_WRAPPERS
    469 /*** IUnknown methods ***/
    470 #define IPortableDeviceValues_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    471 #define IPortableDeviceValues_AddRef(This) (This)->lpVtbl->AddRef(This)
    472 #define IPortableDeviceValues_Release(This) (This)->lpVtbl->Release(This)
    473 /*** IPortableDeviceValues methods ***/
    474 #define IPortableDeviceValues_GetCount(This,pcelt) (This)->lpVtbl->GetCount(This,pcelt)
    475 #define IPortableDeviceValues_GetAt(This,index,pKey,pValue) (This)->lpVtbl->GetAt(This,index,pKey,pValue)
    476 #define IPortableDeviceValues_SetValue(This,key,pValue) (This)->lpVtbl->SetValue(This,key,pValue)
    477 #define IPortableDeviceValues_GetValue(This,key,pValue) (This)->lpVtbl->GetValue(This,key,pValue)
    478 #define IPortableDeviceValues_SetStringValue(This,key,Value) (This)->lpVtbl->SetStringValue(This,key,Value)
    479 #define IPortableDeviceValues_GetStringValue(This,key,pValue) (This)->lpVtbl->GetStringValue(This,key,pValue)
    480 #define IPortableDeviceValues_SetUnsignedIntegerValue(This,key,Value) (This)->lpVtbl->SetUnsignedIntegerValue(This,key,Value)
    481 #define IPortableDeviceValues_GetUnsignedIntegerValue(This,key,pValue) (This)->lpVtbl->GetUnsignedIntegerValue(This,key,pValue)
    482 #define IPortableDeviceValues_SetSignedIntegerValue(This,key,Value) (This)->lpVtbl->SetSignedIntegerValue(This,key,Value)
    483 #define IPortableDeviceValues_GetSignedIntegerValue(This,key,pValue) (This)->lpVtbl->GetSignedIntegerValue(This,key,pValue)
    484 #define IPortableDeviceValues_SetUnsignedLargeIntegerValue(This,key,Value) (This)->lpVtbl->SetUnsignedLargeIntegerValue(This,key,Value)
    485 #define IPortableDeviceValues_GetUnsignedLargeIntegerValue(This,key,pValue) (This)->lpVtbl->GetUnsignedLargeIntegerValue(This,key,pValue)
    486 #define IPortableDeviceValues_SetSignedLargeIntegerValue(This,key,Value) (This)->lpVtbl->SetSignedLargeIntegerValue(This,key,Value)
    487 #define IPortableDeviceValues_GetSignedLargeIntegerValue(This,key,pValue) (This)->lpVtbl->GetSignedLargeIntegerValue(This,key,pValue)
    488 #define IPortableDeviceValues_SetFloatValue(This,key,Value) (This)->lpVtbl->SetFloatValue(This,key,Value)
    489 #define IPortableDeviceValues_GetFloatValue(This,key,pValue) (This)->lpVtbl->GetFloatValue(This,key,pValue)
    490 #define IPortableDeviceValues_SetErrorValue(This,key,Value) (This)->lpVtbl->SetErrorValue(This,key,Value)
    491 #define IPortableDeviceValues_GetErrorValue(This,key,pValue) (This)->lpVtbl->GetErrorValue(This,key,pValue)
    492 #define IPortableDeviceValues_SetKeyValue(This,key,Value) (This)->lpVtbl->SetKeyValue(This,key,Value)
    493 #define IPortableDeviceValues_GetKeyValue(This,key,pValue) (This)->lpVtbl->GetKeyValue(This,key,pValue)
    494 #define IPortableDeviceValues_SetBoolValue(This,key,Value) (This)->lpVtbl->SetBoolValue(This,key,Value)
    495 #define IPortableDeviceValues_GetBoolValue(This,key,pValue) (This)->lpVtbl->GetBoolValue(This,key,pValue)
    496 #define IPortableDeviceValues_SetIUnknownValue(This,key,pValue) (This)->lpVtbl->SetIUnknownValue(This,key,pValue)
    497 #define IPortableDeviceValues_GetIUnknownValue(This,key,ppValue) (This)->lpVtbl->GetIUnknownValue(This,key,ppValue)
    498 #define IPortableDeviceValues_SetGuidValue(This,key,Value) (This)->lpVtbl->SetGuidValue(This,key,Value)
    499 #define IPortableDeviceValues_GetGuidValue(This,key,pValue) (This)->lpVtbl->GetGuidValue(This,key,pValue)
    500 #define IPortableDeviceValues_SetBufferValue(This,key,pValue,cbValue) (This)->lpVtbl->SetBufferValue(This,key,pValue,cbValue)
    501 #define IPortableDeviceValues_GetBufferValue(This,key,ppValue,pcbValue) (This)->lpVtbl->GetBufferValue(This,key,ppValue,pcbValue)
    502 #define IPortableDeviceValues_SetIPortableDeviceValuesValue(This,key,pValue) (This)->lpVtbl->SetIPortableDeviceValuesValue(This,key,pValue)
    503 #define IPortableDeviceValues_GetIPortableDeviceValuesValue(This,key,ppValue) (This)->lpVtbl->GetIPortableDeviceValuesValue(This,key,ppValue)
    504 #define IPortableDeviceValues_SetIPortableDevicePropVariantCollectionValue(This,key,pValue) (This)->lpVtbl->SetIPortableDevicePropVariantCollectionValue(This,key,pValue)
    505 #define IPortableDeviceValues_GetIPortableDevicePropVariantCollectionValue(This,key,ppValue) (This)->lpVtbl->GetIPortableDevicePropVariantCollectionValue(This,key,ppValue)
    506 #define IPortableDeviceValues_SetIPortableDeviceKeyCollectionValue(This,key,pValue) (This)->lpVtbl->SetIPortableDeviceKeyCollectionValue(This,key,pValue)
    507 #define IPortableDeviceValues_GetIPortableDeviceKeyCollectionValue(This,key,ppValue) (This)->lpVtbl->GetIPortableDeviceKeyCollectionValue(This,key,ppValue)
    508 #define IPortableDeviceValues_SetIPortableDeviceValuesCollectionValue(This,key,pValue) (This)->lpVtbl->SetIPortableDeviceValuesCollectionValue(This,key,pValue)
    509 #define IPortableDeviceValues_GetIPortableDeviceValuesCollectionValue(This,key,ppValue) (This)->lpVtbl->GetIPortableDeviceValuesCollectionValue(This,key,ppValue)
    510 #define IPortableDeviceValues_RemoveValue(This,key) (This)->lpVtbl->RemoveValue(This,key)
    511 #define IPortableDeviceValues_CopyValuesFromPropertyStore(This,pStore) (This)->lpVtbl->CopyValuesFromPropertyStore(This,pStore)
    512 #define IPortableDeviceValues_CopyValuesToPropertyStore(This,pStore) (This)->lpVtbl->CopyValuesToPropertyStore(This,pStore)
    513 #define IPortableDeviceValues_Clear(This) (This)->lpVtbl->Clear(This)
    514 #else
    515 /*** IUnknown methods ***/
    516 static FORCEINLINE HRESULT IPortableDeviceValues_QueryInterface(IPortableDeviceValues* This,REFIID riid,void **ppvObject) {
    517     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    518 }
    519 static FORCEINLINE ULONG IPortableDeviceValues_AddRef(IPortableDeviceValues* This) {
    520     return This->lpVtbl->AddRef(This);
    521 }
    522 static FORCEINLINE ULONG IPortableDeviceValues_Release(IPortableDeviceValues* This) {
    523     return This->lpVtbl->Release(This);
    524 }
    525 /*** IPortableDeviceValues methods ***/
    526 static FORCEINLINE HRESULT IPortableDeviceValues_GetCount(IPortableDeviceValues* This,DWORD *pcelt) {
    527     return This->lpVtbl->GetCount(This,pcelt);
    528 }
    529 static FORCEINLINE HRESULT IPortableDeviceValues_GetAt(IPortableDeviceValues* This,const DWORD index,PROPERTYKEY *pKey,PROPVARIANT *pValue) {
    530     return This->lpVtbl->GetAt(This,index,pKey,pValue);
    531 }
    532 static FORCEINLINE HRESULT IPortableDeviceValues_SetValue(IPortableDeviceValues* This,REFPROPERTYKEY key,const PROPVARIANT *pValue) {
    533     return This->lpVtbl->SetValue(This,key,pValue);
    534 }
    535 static FORCEINLINE HRESULT IPortableDeviceValues_GetValue(IPortableDeviceValues* This,REFPROPERTYKEY key,PROPVARIANT *pValue) {
    536     return This->lpVtbl->GetValue(This,key,pValue);
    537 }
    538 static FORCEINLINE HRESULT IPortableDeviceValues_SetStringValue(IPortableDeviceValues* This,REFPROPERTYKEY key,LPCWSTR Value) {
    539     return This->lpVtbl->SetStringValue(This,key,Value);
    540 }
    541 static FORCEINLINE HRESULT IPortableDeviceValues_GetStringValue(IPortableDeviceValues* This,REFPROPERTYKEY key,LPWSTR *pValue) {
    542     return This->lpVtbl->GetStringValue(This,key,pValue);
    543 }
    544 static FORCEINLINE HRESULT IPortableDeviceValues_SetUnsignedIntegerValue(IPortableDeviceValues* This,REFPROPERTYKEY key,const ULONG Value) {
    545     return This->lpVtbl->SetUnsignedIntegerValue(This,key,Value);
    546 }
    547 static FORCEINLINE HRESULT IPortableDeviceValues_GetUnsignedIntegerValue(IPortableDeviceValues* This,REFPROPERTYKEY key,ULONG *pValue) {
    548     return This->lpVtbl->GetUnsignedIntegerValue(This,key,pValue);
    549 }
    550 static FORCEINLINE HRESULT IPortableDeviceValues_SetSignedIntegerValue(IPortableDeviceValues* This,REFPROPERTYKEY key,const LONG Value) {
    551     return This->lpVtbl->SetSignedIntegerValue(This,key,Value);
    552 }
    553 static FORCEINLINE HRESULT IPortableDeviceValues_GetSignedIntegerValue(IPortableDeviceValues* This,REFPROPERTYKEY key,LONG *pValue) {
    554     return This->lpVtbl->GetSignedIntegerValue(This,key,pValue);
    555 }
    556 static FORCEINLINE HRESULT IPortableDeviceValues_SetUnsignedLargeIntegerValue(IPortableDeviceValues* This,REFPROPERTYKEY key,const ULONGLONG Value) {
    557     return This->lpVtbl->SetUnsignedLargeIntegerValue(This,key,Value);
    558 }
    559 static FORCEINLINE HRESULT IPortableDeviceValues_GetUnsignedLargeIntegerValue(IPortableDeviceValues* This,REFPROPERTYKEY key,ULONGLONG *pValue) {
    560     return This->lpVtbl->GetUnsignedLargeIntegerValue(This,key,pValue);
    561 }
    562 static FORCEINLINE HRESULT IPortableDeviceValues_SetSignedLargeIntegerValue(IPortableDeviceValues* This,REFPROPERTYKEY key,const LONGLONG Value) {
    563     return This->lpVtbl->SetSignedLargeIntegerValue(This,key,Value);
    564 }
    565 static FORCEINLINE HRESULT IPortableDeviceValues_GetSignedLargeIntegerValue(IPortableDeviceValues* This,REFPROPERTYKEY key,LONGLONG *pValue) {
    566     return This->lpVtbl->GetSignedLargeIntegerValue(This,key,pValue);
    567 }
    568 static FORCEINLINE HRESULT IPortableDeviceValues_SetFloatValue(IPortableDeviceValues* This,REFPROPERTYKEY key,const FLOAT Value) {
    569     return This->lpVtbl->SetFloatValue(This,key,Value);
    570 }
    571 static FORCEINLINE HRESULT IPortableDeviceValues_GetFloatValue(IPortableDeviceValues* This,REFPROPERTYKEY key,FLOAT *pValue) {
    572     return This->lpVtbl->GetFloatValue(This,key,pValue);
    573 }
    574 static FORCEINLINE HRESULT IPortableDeviceValues_SetErrorValue(IPortableDeviceValues* This,REFPROPERTYKEY key,const HRESULT Value) {
    575     return This->lpVtbl->SetErrorValue(This,key,Value);
    576 }
    577 static FORCEINLINE HRESULT IPortableDeviceValues_GetErrorValue(IPortableDeviceValues* This,REFPROPERTYKEY key,HRESULT *pValue) {
    578     return This->lpVtbl->GetErrorValue(This,key,pValue);
    579 }
    580 static FORCEINLINE HRESULT IPortableDeviceValues_SetKeyValue(IPortableDeviceValues* This,REFPROPERTYKEY key,REFPROPERTYKEY Value) {
    581     return This->lpVtbl->SetKeyValue(This,key,Value);
    582 }
    583 static FORCEINLINE HRESULT IPortableDeviceValues_GetKeyValue(IPortableDeviceValues* This,REFPROPERTYKEY key,PROPERTYKEY *pValue) {
    584     return This->lpVtbl->GetKeyValue(This,key,pValue);
    585 }
    586 static FORCEINLINE HRESULT IPortableDeviceValues_SetBoolValue(IPortableDeviceValues* This,REFPROPERTYKEY key,const WINBOOL Value) {
    587     return This->lpVtbl->SetBoolValue(This,key,Value);
    588 }
    589 static FORCEINLINE HRESULT IPortableDeviceValues_GetBoolValue(IPortableDeviceValues* This,REFPROPERTYKEY key,WINBOOL *pValue) {
    590     return This->lpVtbl->GetBoolValue(This,key,pValue);
    591 }
    592 static FORCEINLINE HRESULT IPortableDeviceValues_SetIUnknownValue(IPortableDeviceValues* This,REFPROPERTYKEY key,IUnknown *pValue) {
    593     return This->lpVtbl->SetIUnknownValue(This,key,pValue);
    594 }
    595 static FORCEINLINE HRESULT IPortableDeviceValues_GetIUnknownValue(IPortableDeviceValues* This,REFPROPERTYKEY key,IUnknown **ppValue) {
    596     return This->lpVtbl->GetIUnknownValue(This,key,ppValue);
    597 }
    598 static FORCEINLINE HRESULT IPortableDeviceValues_SetGuidValue(IPortableDeviceValues* This,REFPROPERTYKEY key,REFGUID Value) {
    599     return This->lpVtbl->SetGuidValue(This,key,Value);
    600 }
    601 static FORCEINLINE HRESULT IPortableDeviceValues_GetGuidValue(IPortableDeviceValues* This,REFPROPERTYKEY key,GUID *pValue) {
    602     return This->lpVtbl->GetGuidValue(This,key,pValue);
    603 }
    604 static FORCEINLINE HRESULT IPortableDeviceValues_SetBufferValue(IPortableDeviceValues* This,REFPROPERTYKEY key,BYTE *pValue,DWORD cbValue) {
    605     return This->lpVtbl->SetBufferValue(This,key,pValue,cbValue);
    606 }
    607 static FORCEINLINE HRESULT IPortableDeviceValues_GetBufferValue(IPortableDeviceValues* This,REFPROPERTYKEY key,BYTE **ppValue,DWORD *pcbValue) {
    608     return This->lpVtbl->GetBufferValue(This,key,ppValue,pcbValue);
    609 }
    610 static FORCEINLINE HRESULT IPortableDeviceValues_SetIPortableDeviceValuesValue(IPortableDeviceValues* This,REFPROPERTYKEY key,IPortableDeviceValues *pValue) {
    611     return This->lpVtbl->SetIPortableDeviceValuesValue(This,key,pValue);
    612 }
    613 static FORCEINLINE HRESULT IPortableDeviceValues_GetIPortableDeviceValuesValue(IPortableDeviceValues* This,REFPROPERTYKEY key,IPortableDeviceValues **ppValue) {
    614     return This->lpVtbl->GetIPortableDeviceValuesValue(This,key,ppValue);
    615 }
    616 static FORCEINLINE HRESULT IPortableDeviceValues_SetIPortableDevicePropVariantCollectionValue(IPortableDeviceValues* This,REFPROPERTYKEY key,IPortableDevicePropVariantCollection *pValue) {
    617     return This->lpVtbl->SetIPortableDevicePropVariantCollectionValue(This,key,pValue);
    618 }
    619 static FORCEINLINE HRESULT IPortableDeviceValues_GetIPortableDevicePropVariantCollectionValue(IPortableDeviceValues* This,REFPROPERTYKEY key,IPortableDevicePropVariantCollection **ppValue) {
    620     return This->lpVtbl->GetIPortableDevicePropVariantCollectionValue(This,key,ppValue);
    621 }
    622 static FORCEINLINE HRESULT IPortableDeviceValues_SetIPortableDeviceKeyCollectionValue(IPortableDeviceValues* This,REFPROPERTYKEY key,IPortableDeviceKeyCollection *pValue) {
    623     return This->lpVtbl->SetIPortableDeviceKeyCollectionValue(This,key,pValue);
    624 }
    625 static FORCEINLINE HRESULT IPortableDeviceValues_GetIPortableDeviceKeyCollectionValue(IPortableDeviceValues* This,REFPROPERTYKEY key,IPortableDeviceKeyCollection **ppValue) {
    626     return This->lpVtbl->GetIPortableDeviceKeyCollectionValue(This,key,ppValue);
    627 }
    628 static FORCEINLINE HRESULT IPortableDeviceValues_SetIPortableDeviceValuesCollectionValue(IPortableDeviceValues* This,REFPROPERTYKEY key,IPortableDeviceValuesCollection *pValue) {
    629     return This->lpVtbl->SetIPortableDeviceValuesCollectionValue(This,key,pValue);
    630 }
    631 static FORCEINLINE HRESULT IPortableDeviceValues_GetIPortableDeviceValuesCollectionValue(IPortableDeviceValues* This,REFPROPERTYKEY key,IPortableDeviceValuesCollection **ppValue) {
    632     return This->lpVtbl->GetIPortableDeviceValuesCollectionValue(This,key,ppValue);
    633 }
    634 static FORCEINLINE HRESULT IPortableDeviceValues_RemoveValue(IPortableDeviceValues* This,REFPROPERTYKEY key) {
    635     return This->lpVtbl->RemoveValue(This,key);
    636 }
    637 static FORCEINLINE HRESULT IPortableDeviceValues_CopyValuesFromPropertyStore(IPortableDeviceValues* This,IPropertyStore *pStore) {
    638     return This->lpVtbl->CopyValuesFromPropertyStore(This,pStore);
    639 }
    640 static FORCEINLINE HRESULT IPortableDeviceValues_CopyValuesToPropertyStore(IPortableDeviceValues* This,IPropertyStore *pStore) {
    641     return This->lpVtbl->CopyValuesToPropertyStore(This,pStore);
    642 }
    643 static FORCEINLINE HRESULT IPortableDeviceValues_Clear(IPortableDeviceValues* This) {
    644     return This->lpVtbl->Clear(This);
    645 }
    646 #endif
    647 #endif
    648 
    649 #endif
    650 
    651 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetCount_Proxy(
    652     IPortableDeviceValues* This,
    653     DWORD *pcelt);
    654 void __RPC_STUB IPortableDeviceValues_GetCount_Stub(
    655     IRpcStubBuffer* This,
    656     IRpcChannelBuffer* pRpcChannelBuffer,
    657     PRPC_MESSAGE pRpcMessage,
    658     DWORD* pdwStubPhase);
    659 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetAt_Proxy(
    660     IPortableDeviceValues* This,
    661     const DWORD index,
    662     PROPERTYKEY *pKey,
    663     PROPVARIANT *pValue);
    664 void __RPC_STUB IPortableDeviceValues_GetAt_Stub(
    665     IRpcStubBuffer* This,
    666     IRpcChannelBuffer* pRpcChannelBuffer,
    667     PRPC_MESSAGE pRpcMessage,
    668     DWORD* pdwStubPhase);
    669 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetValue_Proxy(
    670     IPortableDeviceValues* This,
    671     REFPROPERTYKEY key,
    672     const PROPVARIANT *pValue);
    673 void __RPC_STUB IPortableDeviceValues_SetValue_Stub(
    674     IRpcStubBuffer* This,
    675     IRpcChannelBuffer* pRpcChannelBuffer,
    676     PRPC_MESSAGE pRpcMessage,
    677     DWORD* pdwStubPhase);
    678 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetValue_Proxy(
    679     IPortableDeviceValues* This,
    680     REFPROPERTYKEY key,
    681     PROPVARIANT *pValue);
    682 void __RPC_STUB IPortableDeviceValues_GetValue_Stub(
    683     IRpcStubBuffer* This,
    684     IRpcChannelBuffer* pRpcChannelBuffer,
    685     PRPC_MESSAGE pRpcMessage,
    686     DWORD* pdwStubPhase);
    687 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetStringValue_Proxy(
    688     IPortableDeviceValues* This,
    689     REFPROPERTYKEY key,
    690     LPCWSTR Value);
    691 void __RPC_STUB IPortableDeviceValues_SetStringValue_Stub(
    692     IRpcStubBuffer* This,
    693     IRpcChannelBuffer* pRpcChannelBuffer,
    694     PRPC_MESSAGE pRpcMessage,
    695     DWORD* pdwStubPhase);
    696 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetStringValue_Proxy(
    697     IPortableDeviceValues* This,
    698     REFPROPERTYKEY key,
    699     LPWSTR *pValue);
    700 void __RPC_STUB IPortableDeviceValues_GetStringValue_Stub(
    701     IRpcStubBuffer* This,
    702     IRpcChannelBuffer* pRpcChannelBuffer,
    703     PRPC_MESSAGE pRpcMessage,
    704     DWORD* pdwStubPhase);
    705 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetUnsignedIntegerValue_Proxy(
    706     IPortableDeviceValues* This,
    707     REFPROPERTYKEY key,
    708     const ULONG Value);
    709 void __RPC_STUB IPortableDeviceValues_SetUnsignedIntegerValue_Stub(
    710     IRpcStubBuffer* This,
    711     IRpcChannelBuffer* pRpcChannelBuffer,
    712     PRPC_MESSAGE pRpcMessage,
    713     DWORD* pdwStubPhase);
    714 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetUnsignedIntegerValue_Proxy(
    715     IPortableDeviceValues* This,
    716     REFPROPERTYKEY key,
    717     ULONG *pValue);
    718 void __RPC_STUB IPortableDeviceValues_GetUnsignedIntegerValue_Stub(
    719     IRpcStubBuffer* This,
    720     IRpcChannelBuffer* pRpcChannelBuffer,
    721     PRPC_MESSAGE pRpcMessage,
    722     DWORD* pdwStubPhase);
    723 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetSignedIntegerValue_Proxy(
    724     IPortableDeviceValues* This,
    725     REFPROPERTYKEY key,
    726     const LONG Value);
    727 void __RPC_STUB IPortableDeviceValues_SetSignedIntegerValue_Stub(
    728     IRpcStubBuffer* This,
    729     IRpcChannelBuffer* pRpcChannelBuffer,
    730     PRPC_MESSAGE pRpcMessage,
    731     DWORD* pdwStubPhase);
    732 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetSignedIntegerValue_Proxy(
    733     IPortableDeviceValues* This,
    734     REFPROPERTYKEY key,
    735     LONG *pValue);
    736 void __RPC_STUB IPortableDeviceValues_GetSignedIntegerValue_Stub(
    737     IRpcStubBuffer* This,
    738     IRpcChannelBuffer* pRpcChannelBuffer,
    739     PRPC_MESSAGE pRpcMessage,
    740     DWORD* pdwStubPhase);
    741 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetUnsignedLargeIntegerValue_Proxy(
    742     IPortableDeviceValues* This,
    743     REFPROPERTYKEY key,
    744     const ULONGLONG Value);
    745 void __RPC_STUB IPortableDeviceValues_SetUnsignedLargeIntegerValue_Stub(
    746     IRpcStubBuffer* This,
    747     IRpcChannelBuffer* pRpcChannelBuffer,
    748     PRPC_MESSAGE pRpcMessage,
    749     DWORD* pdwStubPhase);
    750 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetUnsignedLargeIntegerValue_Proxy(
    751     IPortableDeviceValues* This,
    752     REFPROPERTYKEY key,
    753     ULONGLONG *pValue);
    754 void __RPC_STUB IPortableDeviceValues_GetUnsignedLargeIntegerValue_Stub(
    755     IRpcStubBuffer* This,
    756     IRpcChannelBuffer* pRpcChannelBuffer,
    757     PRPC_MESSAGE pRpcMessage,
    758     DWORD* pdwStubPhase);
    759 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetSignedLargeIntegerValue_Proxy(
    760     IPortableDeviceValues* This,
    761     REFPROPERTYKEY key,
    762     const LONGLONG Value);
    763 void __RPC_STUB IPortableDeviceValues_SetSignedLargeIntegerValue_Stub(
    764     IRpcStubBuffer* This,
    765     IRpcChannelBuffer* pRpcChannelBuffer,
    766     PRPC_MESSAGE pRpcMessage,
    767     DWORD* pdwStubPhase);
    768 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetSignedLargeIntegerValue_Proxy(
    769     IPortableDeviceValues* This,
    770     REFPROPERTYKEY key,
    771     LONGLONG *pValue);
    772 void __RPC_STUB IPortableDeviceValues_GetSignedLargeIntegerValue_Stub(
    773     IRpcStubBuffer* This,
    774     IRpcChannelBuffer* pRpcChannelBuffer,
    775     PRPC_MESSAGE pRpcMessage,
    776     DWORD* pdwStubPhase);
    777 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetFloatValue_Proxy(
    778     IPortableDeviceValues* This,
    779     REFPROPERTYKEY key,
    780     const FLOAT Value);
    781 void __RPC_STUB IPortableDeviceValues_SetFloatValue_Stub(
    782     IRpcStubBuffer* This,
    783     IRpcChannelBuffer* pRpcChannelBuffer,
    784     PRPC_MESSAGE pRpcMessage,
    785     DWORD* pdwStubPhase);
    786 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetFloatValue_Proxy(
    787     IPortableDeviceValues* This,
    788     REFPROPERTYKEY key,
    789     FLOAT *pValue);
    790 void __RPC_STUB IPortableDeviceValues_GetFloatValue_Stub(
    791     IRpcStubBuffer* This,
    792     IRpcChannelBuffer* pRpcChannelBuffer,
    793     PRPC_MESSAGE pRpcMessage,
    794     DWORD* pdwStubPhase);
    795 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetErrorValue_Proxy(
    796     IPortableDeviceValues* This,
    797     REFPROPERTYKEY key,
    798     const HRESULT Value);
    799 void __RPC_STUB IPortableDeviceValues_SetErrorValue_Stub(
    800     IRpcStubBuffer* This,
    801     IRpcChannelBuffer* pRpcChannelBuffer,
    802     PRPC_MESSAGE pRpcMessage,
    803     DWORD* pdwStubPhase);
    804 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetErrorValue_Proxy(
    805     IPortableDeviceValues* This,
    806     REFPROPERTYKEY key,
    807     HRESULT *pValue);
    808 void __RPC_STUB IPortableDeviceValues_GetErrorValue_Stub(
    809     IRpcStubBuffer* This,
    810     IRpcChannelBuffer* pRpcChannelBuffer,
    811     PRPC_MESSAGE pRpcMessage,
    812     DWORD* pdwStubPhase);
    813 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetKeyValue_Proxy(
    814     IPortableDeviceValues* This,
    815     REFPROPERTYKEY key,
    816     REFPROPERTYKEY Value);
    817 void __RPC_STUB IPortableDeviceValues_SetKeyValue_Stub(
    818     IRpcStubBuffer* This,
    819     IRpcChannelBuffer* pRpcChannelBuffer,
    820     PRPC_MESSAGE pRpcMessage,
    821     DWORD* pdwStubPhase);
    822 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetKeyValue_Proxy(
    823     IPortableDeviceValues* This,
    824     REFPROPERTYKEY key,
    825     PROPERTYKEY *pValue);
    826 void __RPC_STUB IPortableDeviceValues_GetKeyValue_Stub(
    827     IRpcStubBuffer* This,
    828     IRpcChannelBuffer* pRpcChannelBuffer,
    829     PRPC_MESSAGE pRpcMessage,
    830     DWORD* pdwStubPhase);
    831 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetBoolValue_Proxy(
    832     IPortableDeviceValues* This,
    833     REFPROPERTYKEY key,
    834     const WINBOOL Value);
    835 void __RPC_STUB IPortableDeviceValues_SetBoolValue_Stub(
    836     IRpcStubBuffer* This,
    837     IRpcChannelBuffer* pRpcChannelBuffer,
    838     PRPC_MESSAGE pRpcMessage,
    839     DWORD* pdwStubPhase);
    840 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetBoolValue_Proxy(
    841     IPortableDeviceValues* This,
    842     REFPROPERTYKEY key,
    843     WINBOOL *pValue);
    844 void __RPC_STUB IPortableDeviceValues_GetBoolValue_Stub(
    845     IRpcStubBuffer* This,
    846     IRpcChannelBuffer* pRpcChannelBuffer,
    847     PRPC_MESSAGE pRpcMessage,
    848     DWORD* pdwStubPhase);
    849 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetIUnknownValue_Proxy(
    850     IPortableDeviceValues* This,
    851     REFPROPERTYKEY key,
    852     IUnknown *pValue);
    853 void __RPC_STUB IPortableDeviceValues_SetIUnknownValue_Stub(
    854     IRpcStubBuffer* This,
    855     IRpcChannelBuffer* pRpcChannelBuffer,
    856     PRPC_MESSAGE pRpcMessage,
    857     DWORD* pdwStubPhase);
    858 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetIUnknownValue_Proxy(
    859     IPortableDeviceValues* This,
    860     REFPROPERTYKEY key,
    861     IUnknown **ppValue);
    862 void __RPC_STUB IPortableDeviceValues_GetIUnknownValue_Stub(
    863     IRpcStubBuffer* This,
    864     IRpcChannelBuffer* pRpcChannelBuffer,
    865     PRPC_MESSAGE pRpcMessage,
    866     DWORD* pdwStubPhase);
    867 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetGuidValue_Proxy(
    868     IPortableDeviceValues* This,
    869     REFPROPERTYKEY key,
    870     REFGUID Value);
    871 void __RPC_STUB IPortableDeviceValues_SetGuidValue_Stub(
    872     IRpcStubBuffer* This,
    873     IRpcChannelBuffer* pRpcChannelBuffer,
    874     PRPC_MESSAGE pRpcMessage,
    875     DWORD* pdwStubPhase);
    876 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetGuidValue_Proxy(
    877     IPortableDeviceValues* This,
    878     REFPROPERTYKEY key,
    879     GUID *pValue);
    880 void __RPC_STUB IPortableDeviceValues_GetGuidValue_Stub(
    881     IRpcStubBuffer* This,
    882     IRpcChannelBuffer* pRpcChannelBuffer,
    883     PRPC_MESSAGE pRpcMessage,
    884     DWORD* pdwStubPhase);
    885 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetBufferValue_Proxy(
    886     IPortableDeviceValues* This,
    887     REFPROPERTYKEY key,
    888     BYTE *pValue,
    889     DWORD cbValue);
    890 void __RPC_STUB IPortableDeviceValues_SetBufferValue_Stub(
    891     IRpcStubBuffer* This,
    892     IRpcChannelBuffer* pRpcChannelBuffer,
    893     PRPC_MESSAGE pRpcMessage,
    894     DWORD* pdwStubPhase);
    895 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetBufferValue_Proxy(
    896     IPortableDeviceValues* This,
    897     REFPROPERTYKEY key,
    898     BYTE **ppValue,
    899     DWORD *pcbValue);
    900 void __RPC_STUB IPortableDeviceValues_GetBufferValue_Stub(
    901     IRpcStubBuffer* This,
    902     IRpcChannelBuffer* pRpcChannelBuffer,
    903     PRPC_MESSAGE pRpcMessage,
    904     DWORD* pdwStubPhase);
    905 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetIPortableDeviceValuesValue_Proxy(
    906     IPortableDeviceValues* This,
    907     REFPROPERTYKEY key,
    908     IPortableDeviceValues *pValue);
    909 void __RPC_STUB IPortableDeviceValues_SetIPortableDeviceValuesValue_Stub(
    910     IRpcStubBuffer* This,
    911     IRpcChannelBuffer* pRpcChannelBuffer,
    912     PRPC_MESSAGE pRpcMessage,
    913     DWORD* pdwStubPhase);
    914 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetIPortableDeviceValuesValue_Proxy(
    915     IPortableDeviceValues* This,
    916     REFPROPERTYKEY key,
    917     IPortableDeviceValues **ppValue);
    918 void __RPC_STUB IPortableDeviceValues_GetIPortableDeviceValuesValue_Stub(
    919     IRpcStubBuffer* This,
    920     IRpcChannelBuffer* pRpcChannelBuffer,
    921     PRPC_MESSAGE pRpcMessage,
    922     DWORD* pdwStubPhase);
    923 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetIPortableDevicePropVariantCollectionValue_Proxy(
    924     IPortableDeviceValues* This,
    925     REFPROPERTYKEY key,
    926     IPortableDevicePropVariantCollection *pValue);
    927 void __RPC_STUB IPortableDeviceValues_SetIPortableDevicePropVariantCollectionValue_Stub(
    928     IRpcStubBuffer* This,
    929     IRpcChannelBuffer* pRpcChannelBuffer,
    930     PRPC_MESSAGE pRpcMessage,
    931     DWORD* pdwStubPhase);
    932 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetIPortableDevicePropVariantCollectionValue_Proxy(
    933     IPortableDeviceValues* This,
    934     REFPROPERTYKEY key,
    935     IPortableDevicePropVariantCollection **ppValue);
    936 void __RPC_STUB IPortableDeviceValues_GetIPortableDevicePropVariantCollectionValue_Stub(
    937     IRpcStubBuffer* This,
    938     IRpcChannelBuffer* pRpcChannelBuffer,
    939     PRPC_MESSAGE pRpcMessage,
    940     DWORD* pdwStubPhase);
    941 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetIPortableDeviceKeyCollectionValue_Proxy(
    942     IPortableDeviceValues* This,
    943     REFPROPERTYKEY key,
    944     IPortableDeviceKeyCollection *pValue);
    945 void __RPC_STUB IPortableDeviceValues_SetIPortableDeviceKeyCollectionValue_Stub(
    946     IRpcStubBuffer* This,
    947     IRpcChannelBuffer* pRpcChannelBuffer,
    948     PRPC_MESSAGE pRpcMessage,
    949     DWORD* pdwStubPhase);
    950 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetIPortableDeviceKeyCollectionValue_Proxy(
    951     IPortableDeviceValues* This,
    952     REFPROPERTYKEY key,
    953     IPortableDeviceKeyCollection **ppValue);
    954 void __RPC_STUB IPortableDeviceValues_GetIPortableDeviceKeyCollectionValue_Stub(
    955     IRpcStubBuffer* This,
    956     IRpcChannelBuffer* pRpcChannelBuffer,
    957     PRPC_MESSAGE pRpcMessage,
    958     DWORD* pdwStubPhase);
    959 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_SetIPortableDeviceValuesCollectionValue_Proxy(
    960     IPortableDeviceValues* This,
    961     REFPROPERTYKEY key,
    962     IPortableDeviceValuesCollection *pValue);
    963 void __RPC_STUB IPortableDeviceValues_SetIPortableDeviceValuesCollectionValue_Stub(
    964     IRpcStubBuffer* This,
    965     IRpcChannelBuffer* pRpcChannelBuffer,
    966     PRPC_MESSAGE pRpcMessage,
    967     DWORD* pdwStubPhase);
    968 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_GetIPortableDeviceValuesCollectionValue_Proxy(
    969     IPortableDeviceValues* This,
    970     REFPROPERTYKEY key,
    971     IPortableDeviceValuesCollection **ppValue);
    972 void __RPC_STUB IPortableDeviceValues_GetIPortableDeviceValuesCollectionValue_Stub(
    973     IRpcStubBuffer* This,
    974     IRpcChannelBuffer* pRpcChannelBuffer,
    975     PRPC_MESSAGE pRpcMessage,
    976     DWORD* pdwStubPhase);
    977 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_RemoveValue_Proxy(
    978     IPortableDeviceValues* This,
    979     REFPROPERTYKEY key);
    980 void __RPC_STUB IPortableDeviceValues_RemoveValue_Stub(
    981     IRpcStubBuffer* This,
    982     IRpcChannelBuffer* pRpcChannelBuffer,
    983     PRPC_MESSAGE pRpcMessage,
    984     DWORD* pdwStubPhase);
    985 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_CopyValuesFromPropertyStore_Proxy(
    986     IPortableDeviceValues* This,
    987     IPropertyStore *pStore);
    988 void __RPC_STUB IPortableDeviceValues_CopyValuesFromPropertyStore_Stub(
    989     IRpcStubBuffer* This,
    990     IRpcChannelBuffer* pRpcChannelBuffer,
    991     PRPC_MESSAGE pRpcMessage,
    992     DWORD* pdwStubPhase);
    993 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_CopyValuesToPropertyStore_Proxy(
    994     IPortableDeviceValues* This,
    995     IPropertyStore *pStore);
    996 void __RPC_STUB IPortableDeviceValues_CopyValuesToPropertyStore_Stub(
    997     IRpcStubBuffer* This,
    998     IRpcChannelBuffer* pRpcChannelBuffer,
    999     PRPC_MESSAGE pRpcMessage,
   1000     DWORD* pdwStubPhase);
   1001 HRESULT STDMETHODCALLTYPE IPortableDeviceValues_Clear_Proxy(
   1002     IPortableDeviceValues* This);
   1003 void __RPC_STUB IPortableDeviceValues_Clear_Stub(
   1004     IRpcStubBuffer* This,
   1005     IRpcChannelBuffer* pRpcChannelBuffer,
   1006     PRPC_MESSAGE pRpcMessage,
   1007     DWORD* pdwStubPhase);
   1008 
   1009 #endif  /* __IPortableDeviceValues_INTERFACE_DEFINED__ */
   1010 
   1011 /*****************************************************************************
   1012  * IPortableDeviceKeyCollection interface
   1013  */
   1014 #ifndef __IPortableDeviceKeyCollection_INTERFACE_DEFINED__
   1015 #define __IPortableDeviceKeyCollection_INTERFACE_DEFINED__
   1016 
   1017 DEFINE_GUID(IID_IPortableDeviceKeyCollection, 0xdada2357, 0xe0ad, 0x492e, 0x98,0xdb, 0xdd,0x61,0xc5,0x3b,0xa3,0x53);
   1018 #if defined(__cplusplus) && !defined(CINTERFACE)
   1019 MIDL_INTERFACE("dada2357-e0ad-492e-98db-dd61c53ba353")
   1020 IPortableDeviceKeyCollection : public IUnknown
   1021 {
   1022     virtual HRESULT STDMETHODCALLTYPE GetCount(
   1023         DWORD *pcElems) = 0;
   1024 
   1025     virtual HRESULT STDMETHODCALLTYPE GetAt(
   1026         const DWORD dwIndex,
   1027         PROPERTYKEY *pKey) = 0;
   1028 
   1029     virtual HRESULT STDMETHODCALLTYPE Add(
   1030         REFPROPERTYKEY Key) = 0;
   1031 
   1032     virtual HRESULT STDMETHODCALLTYPE Clear(
   1033         ) = 0;
   1034 
   1035     virtual HRESULT STDMETHODCALLTYPE RemoveAt(
   1036         const DWORD dwIndex) = 0;
   1037 
   1038 };
   1039 #ifdef __CRT_UUID_DECL
   1040 __CRT_UUID_DECL(IPortableDeviceKeyCollection, 0xdada2357, 0xe0ad, 0x492e, 0x98,0xdb, 0xdd,0x61,0xc5,0x3b,0xa3,0x53)
   1041 #endif
   1042 #else
   1043 typedef struct IPortableDeviceKeyCollectionVtbl {
   1044     BEGIN_INTERFACE
   1045 
   1046     /*** IUnknown methods ***/
   1047     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1048         IPortableDeviceKeyCollection* This,
   1049         REFIID riid,
   1050         void **ppvObject);
   1051 
   1052     ULONG (STDMETHODCALLTYPE *AddRef)(
   1053         IPortableDeviceKeyCollection* This);
   1054 
   1055     ULONG (STDMETHODCALLTYPE *Release)(
   1056         IPortableDeviceKeyCollection* This);
   1057 
   1058     /*** IPortableDeviceKeyCollection methods ***/
   1059     HRESULT (STDMETHODCALLTYPE *GetCount)(
   1060         IPortableDeviceKeyCollection* This,
   1061         DWORD *pcElems);
   1062 
   1063     HRESULT (STDMETHODCALLTYPE *GetAt)(
   1064         IPortableDeviceKeyCollection* This,
   1065         const DWORD dwIndex,
   1066         PROPERTYKEY *pKey);
   1067 
   1068     HRESULT (STDMETHODCALLTYPE *Add)(
   1069         IPortableDeviceKeyCollection* This,
   1070         REFPROPERTYKEY Key);
   1071 
   1072     HRESULT (STDMETHODCALLTYPE *Clear)(
   1073         IPortableDeviceKeyCollection* This);
   1074 
   1075     HRESULT (STDMETHODCALLTYPE *RemoveAt)(
   1076         IPortableDeviceKeyCollection* This,
   1077         const DWORD dwIndex);
   1078 
   1079     END_INTERFACE
   1080 } IPortableDeviceKeyCollectionVtbl;
   1081 interface IPortableDeviceKeyCollection {
   1082     CONST_VTBL IPortableDeviceKeyCollectionVtbl* lpVtbl;
   1083 };
   1084 
   1085 #ifdef COBJMACROS
   1086 #ifndef WIDL_C_INLINE_WRAPPERS
   1087 /*** IUnknown methods ***/
   1088 #define IPortableDeviceKeyCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1089 #define IPortableDeviceKeyCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   1090 #define IPortableDeviceKeyCollection_Release(This) (This)->lpVtbl->Release(This)
   1091 /*** IPortableDeviceKeyCollection methods ***/
   1092 #define IPortableDeviceKeyCollection_GetCount(This,pcElems) (This)->lpVtbl->GetCount(This,pcElems)
   1093 #define IPortableDeviceKeyCollection_GetAt(This,dwIndex,pKey) (This)->lpVtbl->GetAt(This,dwIndex,pKey)
   1094 #define IPortableDeviceKeyCollection_Add(This,Key) (This)->lpVtbl->Add(This,Key)
   1095 #define IPortableDeviceKeyCollection_Clear(This) (This)->lpVtbl->Clear(This)
   1096 #define IPortableDeviceKeyCollection_RemoveAt(This,dwIndex) (This)->lpVtbl->RemoveAt(This,dwIndex)
   1097 #else
   1098 /*** IUnknown methods ***/
   1099 static FORCEINLINE HRESULT IPortableDeviceKeyCollection_QueryInterface(IPortableDeviceKeyCollection* This,REFIID riid,void **ppvObject) {
   1100     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1101 }
   1102 static FORCEINLINE ULONG IPortableDeviceKeyCollection_AddRef(IPortableDeviceKeyCollection* This) {
   1103     return This->lpVtbl->AddRef(This);
   1104 }
   1105 static FORCEINLINE ULONG IPortableDeviceKeyCollection_Release(IPortableDeviceKeyCollection* This) {
   1106     return This->lpVtbl->Release(This);
   1107 }
   1108 /*** IPortableDeviceKeyCollection methods ***/
   1109 static FORCEINLINE HRESULT IPortableDeviceKeyCollection_GetCount(IPortableDeviceKeyCollection* This,DWORD *pcElems) {
   1110     return This->lpVtbl->GetCount(This,pcElems);
   1111 }
   1112 static FORCEINLINE HRESULT IPortableDeviceKeyCollection_GetAt(IPortableDeviceKeyCollection* This,const DWORD dwIndex,PROPERTYKEY *pKey) {
   1113     return This->lpVtbl->GetAt(This,dwIndex,pKey);
   1114 }
   1115 static FORCEINLINE HRESULT IPortableDeviceKeyCollection_Add(IPortableDeviceKeyCollection* This,REFPROPERTYKEY Key) {
   1116     return This->lpVtbl->Add(This,Key);
   1117 }
   1118 static FORCEINLINE HRESULT IPortableDeviceKeyCollection_Clear(IPortableDeviceKeyCollection* This) {
   1119     return This->lpVtbl->Clear(This);
   1120 }
   1121 static FORCEINLINE HRESULT IPortableDeviceKeyCollection_RemoveAt(IPortableDeviceKeyCollection* This,const DWORD dwIndex) {
   1122     return This->lpVtbl->RemoveAt(This,dwIndex);
   1123 }
   1124 #endif
   1125 #endif
   1126 
   1127 #endif
   1128 
   1129 HRESULT STDMETHODCALLTYPE IPortableDeviceKeyCollection_GetCount_Proxy(
   1130     IPortableDeviceKeyCollection* This,
   1131     DWORD *pcElems);
   1132 void __RPC_STUB IPortableDeviceKeyCollection_GetCount_Stub(
   1133     IRpcStubBuffer* This,
   1134     IRpcChannelBuffer* pRpcChannelBuffer,
   1135     PRPC_MESSAGE pRpcMessage,
   1136     DWORD* pdwStubPhase);
   1137 HRESULT STDMETHODCALLTYPE IPortableDeviceKeyCollection_GetAt_Proxy(
   1138     IPortableDeviceKeyCollection* This,
   1139     const DWORD dwIndex,
   1140     PROPERTYKEY *pKey);
   1141 void __RPC_STUB IPortableDeviceKeyCollection_GetAt_Stub(
   1142     IRpcStubBuffer* This,
   1143     IRpcChannelBuffer* pRpcChannelBuffer,
   1144     PRPC_MESSAGE pRpcMessage,
   1145     DWORD* pdwStubPhase);
   1146 HRESULT STDMETHODCALLTYPE IPortableDeviceKeyCollection_Add_Proxy(
   1147     IPortableDeviceKeyCollection* This,
   1148     REFPROPERTYKEY Key);
   1149 void __RPC_STUB IPortableDeviceKeyCollection_Add_Stub(
   1150     IRpcStubBuffer* This,
   1151     IRpcChannelBuffer* pRpcChannelBuffer,
   1152     PRPC_MESSAGE pRpcMessage,
   1153     DWORD* pdwStubPhase);
   1154 HRESULT STDMETHODCALLTYPE IPortableDeviceKeyCollection_Clear_Proxy(
   1155     IPortableDeviceKeyCollection* This);
   1156 void __RPC_STUB IPortableDeviceKeyCollection_Clear_Stub(
   1157     IRpcStubBuffer* This,
   1158     IRpcChannelBuffer* pRpcChannelBuffer,
   1159     PRPC_MESSAGE pRpcMessage,
   1160     DWORD* pdwStubPhase);
   1161 HRESULT STDMETHODCALLTYPE IPortableDeviceKeyCollection_RemoveAt_Proxy(
   1162     IPortableDeviceKeyCollection* This,
   1163     const DWORD dwIndex);
   1164 void __RPC_STUB IPortableDeviceKeyCollection_RemoveAt_Stub(
   1165     IRpcStubBuffer* This,
   1166     IRpcChannelBuffer* pRpcChannelBuffer,
   1167     PRPC_MESSAGE pRpcMessage,
   1168     DWORD* pdwStubPhase);
   1169 
   1170 #endif  /* __IPortableDeviceKeyCollection_INTERFACE_DEFINED__ */
   1171 
   1172 /*****************************************************************************
   1173  * IPortableDevicePropVariantCollection interface
   1174  */
   1175 #ifndef __IPortableDevicePropVariantCollection_INTERFACE_DEFINED__
   1176 #define __IPortableDevicePropVariantCollection_INTERFACE_DEFINED__
   1177 
   1178 DEFINE_GUID(IID_IPortableDevicePropVariantCollection, 0x89b2e422, 0x4f1b, 0x4316, 0xbc,0xef, 0xa4,0x4a,0xfe,0xa8,0x3e,0xb3);
   1179 #if defined(__cplusplus) && !defined(CINTERFACE)
   1180 MIDL_INTERFACE("89b2e422-4f1b-4316-bcef-a44afea83eb3")
   1181 IPortableDevicePropVariantCollection : public IUnknown
   1182 {
   1183     virtual HRESULT STDMETHODCALLTYPE GetCount(
   1184         DWORD *pcElems) = 0;
   1185 
   1186     virtual HRESULT STDMETHODCALLTYPE GetAt(
   1187         const DWORD dwIndex,
   1188         PROPVARIANT *pValue) = 0;
   1189 
   1190     virtual HRESULT STDMETHODCALLTYPE Add(
   1191         const PROPVARIANT *pValue) = 0;
   1192 
   1193     virtual HRESULT STDMETHODCALLTYPE GetType(
   1194         VARTYPE *pvt) = 0;
   1195 
   1196     virtual HRESULT STDMETHODCALLTYPE ChangeType(
   1197         const VARTYPE vt) = 0;
   1198 
   1199     virtual HRESULT STDMETHODCALLTYPE Clear(
   1200         ) = 0;
   1201 
   1202     virtual HRESULT STDMETHODCALLTYPE RemoveAt(
   1203         const DWORD dwIndex) = 0;
   1204 
   1205 };
   1206 #ifdef __CRT_UUID_DECL
   1207 __CRT_UUID_DECL(IPortableDevicePropVariantCollection, 0x89b2e422, 0x4f1b, 0x4316, 0xbc,0xef, 0xa4,0x4a,0xfe,0xa8,0x3e,0xb3)
   1208 #endif
   1209 #else
   1210 typedef struct IPortableDevicePropVariantCollectionVtbl {
   1211     BEGIN_INTERFACE
   1212 
   1213     /*** IUnknown methods ***/
   1214     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1215         IPortableDevicePropVariantCollection* This,
   1216         REFIID riid,
   1217         void **ppvObject);
   1218 
   1219     ULONG (STDMETHODCALLTYPE *AddRef)(
   1220         IPortableDevicePropVariantCollection* This);
   1221 
   1222     ULONG (STDMETHODCALLTYPE *Release)(
   1223         IPortableDevicePropVariantCollection* This);
   1224 
   1225     /*** IPortableDevicePropVariantCollection methods ***/
   1226     HRESULT (STDMETHODCALLTYPE *GetCount)(
   1227         IPortableDevicePropVariantCollection* This,
   1228         DWORD *pcElems);
   1229 
   1230     HRESULT (STDMETHODCALLTYPE *GetAt)(
   1231         IPortableDevicePropVariantCollection* This,
   1232         const DWORD dwIndex,
   1233         PROPVARIANT *pValue);
   1234 
   1235     HRESULT (STDMETHODCALLTYPE *Add)(
   1236         IPortableDevicePropVariantCollection* This,
   1237         const PROPVARIANT *pValue);
   1238 
   1239     HRESULT (STDMETHODCALLTYPE *GetType)(
   1240         IPortableDevicePropVariantCollection* This,
   1241         VARTYPE *pvt);
   1242 
   1243     HRESULT (STDMETHODCALLTYPE *ChangeType)(
   1244         IPortableDevicePropVariantCollection* This,
   1245         const VARTYPE vt);
   1246 
   1247     HRESULT (STDMETHODCALLTYPE *Clear)(
   1248         IPortableDevicePropVariantCollection* This);
   1249 
   1250     HRESULT (STDMETHODCALLTYPE *RemoveAt)(
   1251         IPortableDevicePropVariantCollection* This,
   1252         const DWORD dwIndex);
   1253 
   1254     END_INTERFACE
   1255 } IPortableDevicePropVariantCollectionVtbl;
   1256 interface IPortableDevicePropVariantCollection {
   1257     CONST_VTBL IPortableDevicePropVariantCollectionVtbl* lpVtbl;
   1258 };
   1259 
   1260 #ifdef COBJMACROS
   1261 #ifndef WIDL_C_INLINE_WRAPPERS
   1262 /*** IUnknown methods ***/
   1263 #define IPortableDevicePropVariantCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1264 #define IPortableDevicePropVariantCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   1265 #define IPortableDevicePropVariantCollection_Release(This) (This)->lpVtbl->Release(This)
   1266 /*** IPortableDevicePropVariantCollection methods ***/
   1267 #define IPortableDevicePropVariantCollection_GetCount(This,pcElems) (This)->lpVtbl->GetCount(This,pcElems)
   1268 #define IPortableDevicePropVariantCollection_GetAt(This,dwIndex,pValue) (This)->lpVtbl->GetAt(This,dwIndex,pValue)
   1269 #define IPortableDevicePropVariantCollection_Add(This,pValue) (This)->lpVtbl->Add(This,pValue)
   1270 #define IPortableDevicePropVariantCollection_GetType(This,pvt) (This)->lpVtbl->GetType(This,pvt)
   1271 #define IPortableDevicePropVariantCollection_ChangeType(This,vt) (This)->lpVtbl->ChangeType(This,vt)
   1272 #define IPortableDevicePropVariantCollection_Clear(This) (This)->lpVtbl->Clear(This)
   1273 #define IPortableDevicePropVariantCollection_RemoveAt(This,dwIndex) (This)->lpVtbl->RemoveAt(This,dwIndex)
   1274 #else
   1275 /*** IUnknown methods ***/
   1276 static FORCEINLINE HRESULT IPortableDevicePropVariantCollection_QueryInterface(IPortableDevicePropVariantCollection* This,REFIID riid,void **ppvObject) {
   1277     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1278 }
   1279 static FORCEINLINE ULONG IPortableDevicePropVariantCollection_AddRef(IPortableDevicePropVariantCollection* This) {
   1280     return This->lpVtbl->AddRef(This);
   1281 }
   1282 static FORCEINLINE ULONG IPortableDevicePropVariantCollection_Release(IPortableDevicePropVariantCollection* This) {
   1283     return This->lpVtbl->Release(This);
   1284 }
   1285 /*** IPortableDevicePropVariantCollection methods ***/
   1286 static FORCEINLINE HRESULT IPortableDevicePropVariantCollection_GetCount(IPortableDevicePropVariantCollection* This,DWORD *pcElems) {
   1287     return This->lpVtbl->GetCount(This,pcElems);
   1288 }
   1289 static FORCEINLINE HRESULT IPortableDevicePropVariantCollection_GetAt(IPortableDevicePropVariantCollection* This,const DWORD dwIndex,PROPVARIANT *pValue) {
   1290     return This->lpVtbl->GetAt(This,dwIndex,pValue);
   1291 }
   1292 static FORCEINLINE HRESULT IPortableDevicePropVariantCollection_Add(IPortableDevicePropVariantCollection* This,const PROPVARIANT *pValue) {
   1293     return This->lpVtbl->Add(This,pValue);
   1294 }
   1295 static FORCEINLINE HRESULT IPortableDevicePropVariantCollection_GetType(IPortableDevicePropVariantCollection* This,VARTYPE *pvt) {
   1296     return This->lpVtbl->GetType(This,pvt);
   1297 }
   1298 static FORCEINLINE HRESULT IPortableDevicePropVariantCollection_ChangeType(IPortableDevicePropVariantCollection* This,const VARTYPE vt) {
   1299     return This->lpVtbl->ChangeType(This,vt);
   1300 }
   1301 static FORCEINLINE HRESULT IPortableDevicePropVariantCollection_Clear(IPortableDevicePropVariantCollection* This) {
   1302     return This->lpVtbl->Clear(This);
   1303 }
   1304 static FORCEINLINE HRESULT IPortableDevicePropVariantCollection_RemoveAt(IPortableDevicePropVariantCollection* This,const DWORD dwIndex) {
   1305     return This->lpVtbl->RemoveAt(This,dwIndex);
   1306 }
   1307 #endif
   1308 #endif
   1309 
   1310 #endif
   1311 
   1312 HRESULT STDMETHODCALLTYPE IPortableDevicePropVariantCollection_GetCount_Proxy(
   1313     IPortableDevicePropVariantCollection* This,
   1314     DWORD *pcElems);
   1315 void __RPC_STUB IPortableDevicePropVariantCollection_GetCount_Stub(
   1316     IRpcStubBuffer* This,
   1317     IRpcChannelBuffer* pRpcChannelBuffer,
   1318     PRPC_MESSAGE pRpcMessage,
   1319     DWORD* pdwStubPhase);
   1320 HRESULT STDMETHODCALLTYPE IPortableDevicePropVariantCollection_GetAt_Proxy(
   1321     IPortableDevicePropVariantCollection* This,
   1322     const DWORD dwIndex,
   1323     PROPVARIANT *pValue);
   1324 void __RPC_STUB IPortableDevicePropVariantCollection_GetAt_Stub(
   1325     IRpcStubBuffer* This,
   1326     IRpcChannelBuffer* pRpcChannelBuffer,
   1327     PRPC_MESSAGE pRpcMessage,
   1328     DWORD* pdwStubPhase);
   1329 HRESULT STDMETHODCALLTYPE IPortableDevicePropVariantCollection_Add_Proxy(
   1330     IPortableDevicePropVariantCollection* This,
   1331     const PROPVARIANT *pValue);
   1332 void __RPC_STUB IPortableDevicePropVariantCollection_Add_Stub(
   1333     IRpcStubBuffer* This,
   1334     IRpcChannelBuffer* pRpcChannelBuffer,
   1335     PRPC_MESSAGE pRpcMessage,
   1336     DWORD* pdwStubPhase);
   1337 HRESULT STDMETHODCALLTYPE IPortableDevicePropVariantCollection_GetType_Proxy(
   1338     IPortableDevicePropVariantCollection* This,
   1339     VARTYPE *pvt);
   1340 void __RPC_STUB IPortableDevicePropVariantCollection_GetType_Stub(
   1341     IRpcStubBuffer* This,
   1342     IRpcChannelBuffer* pRpcChannelBuffer,
   1343     PRPC_MESSAGE pRpcMessage,
   1344     DWORD* pdwStubPhase);
   1345 HRESULT STDMETHODCALLTYPE IPortableDevicePropVariantCollection_ChangeType_Proxy(
   1346     IPortableDevicePropVariantCollection* This,
   1347     const VARTYPE vt);
   1348 void __RPC_STUB IPortableDevicePropVariantCollection_ChangeType_Stub(
   1349     IRpcStubBuffer* This,
   1350     IRpcChannelBuffer* pRpcChannelBuffer,
   1351     PRPC_MESSAGE pRpcMessage,
   1352     DWORD* pdwStubPhase);
   1353 HRESULT STDMETHODCALLTYPE IPortableDevicePropVariantCollection_Clear_Proxy(
   1354     IPortableDevicePropVariantCollection* This);
   1355 void __RPC_STUB IPortableDevicePropVariantCollection_Clear_Stub(
   1356     IRpcStubBuffer* This,
   1357     IRpcChannelBuffer* pRpcChannelBuffer,
   1358     PRPC_MESSAGE pRpcMessage,
   1359     DWORD* pdwStubPhase);
   1360 HRESULT STDMETHODCALLTYPE IPortableDevicePropVariantCollection_RemoveAt_Proxy(
   1361     IPortableDevicePropVariantCollection* This,
   1362     const DWORD dwIndex);
   1363 void __RPC_STUB IPortableDevicePropVariantCollection_RemoveAt_Stub(
   1364     IRpcStubBuffer* This,
   1365     IRpcChannelBuffer* pRpcChannelBuffer,
   1366     PRPC_MESSAGE pRpcMessage,
   1367     DWORD* pdwStubPhase);
   1368 
   1369 #endif  /* __IPortableDevicePropVariantCollection_INTERFACE_DEFINED__ */
   1370 
   1371 /*****************************************************************************
   1372  * IPortableDeviceValuesCollection interface
   1373  */
   1374 #ifndef __IPortableDeviceValuesCollection_INTERFACE_DEFINED__
   1375 #define __IPortableDeviceValuesCollection_INTERFACE_DEFINED__
   1376 
   1377 DEFINE_GUID(IID_IPortableDeviceValuesCollection, 0x6e3f2d79, 0x4e07, 0x48c4, 0x82,0x08, 0xd8,0xc2,0xe5,0xaf,0x4a,0x99);
   1378 #if defined(__cplusplus) && !defined(CINTERFACE)
   1379 MIDL_INTERFACE("6e3f2d79-4e07-48c4-8208-d8c2e5af4a99")
   1380 IPortableDeviceValuesCollection : public IUnknown
   1381 {
   1382     virtual HRESULT STDMETHODCALLTYPE GetCount(
   1383         DWORD *pcElems) = 0;
   1384 
   1385     virtual HRESULT STDMETHODCALLTYPE GetAt(
   1386         DWORD dwIndex,
   1387         IPortableDeviceValues **ppValues) = 0;
   1388 
   1389     virtual HRESULT STDMETHODCALLTYPE Add(
   1390         IPortableDeviceValues *pValues) = 0;
   1391 
   1392     virtual HRESULT STDMETHODCALLTYPE Clear(
   1393         ) = 0;
   1394 
   1395     virtual HRESULT STDMETHODCALLTYPE RemoveAt(
   1396         const DWORD dwIndex) = 0;
   1397 
   1398 };
   1399 #ifdef __CRT_UUID_DECL
   1400 __CRT_UUID_DECL(IPortableDeviceValuesCollection, 0x6e3f2d79, 0x4e07, 0x48c4, 0x82,0x08, 0xd8,0xc2,0xe5,0xaf,0x4a,0x99)
   1401 #endif
   1402 #else
   1403 typedef struct IPortableDeviceValuesCollectionVtbl {
   1404     BEGIN_INTERFACE
   1405 
   1406     /*** IUnknown methods ***/
   1407     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1408         IPortableDeviceValuesCollection* This,
   1409         REFIID riid,
   1410         void **ppvObject);
   1411 
   1412     ULONG (STDMETHODCALLTYPE *AddRef)(
   1413         IPortableDeviceValuesCollection* This);
   1414 
   1415     ULONG (STDMETHODCALLTYPE *Release)(
   1416         IPortableDeviceValuesCollection* This);
   1417 
   1418     /*** IPortableDeviceValuesCollection methods ***/
   1419     HRESULT (STDMETHODCALLTYPE *GetCount)(
   1420         IPortableDeviceValuesCollection* This,
   1421         DWORD *pcElems);
   1422 
   1423     HRESULT (STDMETHODCALLTYPE *GetAt)(
   1424         IPortableDeviceValuesCollection* This,
   1425         DWORD dwIndex,
   1426         IPortableDeviceValues **ppValues);
   1427 
   1428     HRESULT (STDMETHODCALLTYPE *Add)(
   1429         IPortableDeviceValuesCollection* This,
   1430         IPortableDeviceValues *pValues);
   1431 
   1432     HRESULT (STDMETHODCALLTYPE *Clear)(
   1433         IPortableDeviceValuesCollection* This);
   1434 
   1435     HRESULT (STDMETHODCALLTYPE *RemoveAt)(
   1436         IPortableDeviceValuesCollection* This,
   1437         const DWORD dwIndex);
   1438 
   1439     END_INTERFACE
   1440 } IPortableDeviceValuesCollectionVtbl;
   1441 interface IPortableDeviceValuesCollection {
   1442     CONST_VTBL IPortableDeviceValuesCollectionVtbl* lpVtbl;
   1443 };
   1444 
   1445 #ifdef COBJMACROS
   1446 #ifndef WIDL_C_INLINE_WRAPPERS
   1447 /*** IUnknown methods ***/
   1448 #define IPortableDeviceValuesCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1449 #define IPortableDeviceValuesCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   1450 #define IPortableDeviceValuesCollection_Release(This) (This)->lpVtbl->Release(This)
   1451 /*** IPortableDeviceValuesCollection methods ***/
   1452 #define IPortableDeviceValuesCollection_GetCount(This,pcElems) (This)->lpVtbl->GetCount(This,pcElems)
   1453 #define IPortableDeviceValuesCollection_GetAt(This,dwIndex,ppValues) (This)->lpVtbl->GetAt(This,dwIndex,ppValues)
   1454 #define IPortableDeviceValuesCollection_Add(This,pValues) (This)->lpVtbl->Add(This,pValues)
   1455 #define IPortableDeviceValuesCollection_Clear(This) (This)->lpVtbl->Clear(This)
   1456 #define IPortableDeviceValuesCollection_RemoveAt(This,dwIndex) (This)->lpVtbl->RemoveAt(This,dwIndex)
   1457 #else
   1458 /*** IUnknown methods ***/
   1459 static FORCEINLINE HRESULT IPortableDeviceValuesCollection_QueryInterface(IPortableDeviceValuesCollection* This,REFIID riid,void **ppvObject) {
   1460     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1461 }
   1462 static FORCEINLINE ULONG IPortableDeviceValuesCollection_AddRef(IPortableDeviceValuesCollection* This) {
   1463     return This->lpVtbl->AddRef(This);
   1464 }
   1465 static FORCEINLINE ULONG IPortableDeviceValuesCollection_Release(IPortableDeviceValuesCollection* This) {
   1466     return This->lpVtbl->Release(This);
   1467 }
   1468 /*** IPortableDeviceValuesCollection methods ***/
   1469 static FORCEINLINE HRESULT IPortableDeviceValuesCollection_GetCount(IPortableDeviceValuesCollection* This,DWORD *pcElems) {
   1470     return This->lpVtbl->GetCount(This,pcElems);
   1471 }
   1472 static FORCEINLINE HRESULT IPortableDeviceValuesCollection_GetAt(IPortableDeviceValuesCollection* This,DWORD dwIndex,IPortableDeviceValues **ppValues) {
   1473     return This->lpVtbl->GetAt(This,dwIndex,ppValues);
   1474 }
   1475 static FORCEINLINE HRESULT IPortableDeviceValuesCollection_Add(IPortableDeviceValuesCollection* This,IPortableDeviceValues *pValues) {
   1476     return This->lpVtbl->Add(This,pValues);
   1477 }
   1478 static FORCEINLINE HRESULT IPortableDeviceValuesCollection_Clear(IPortableDeviceValuesCollection* This) {
   1479     return This->lpVtbl->Clear(This);
   1480 }
   1481 static FORCEINLINE HRESULT IPortableDeviceValuesCollection_RemoveAt(IPortableDeviceValuesCollection* This,const DWORD dwIndex) {
   1482     return This->lpVtbl->RemoveAt(This,dwIndex);
   1483 }
   1484 #endif
   1485 #endif
   1486 
   1487 #endif
   1488 
   1489 HRESULT STDMETHODCALLTYPE IPortableDeviceValuesCollection_GetCount_Proxy(
   1490     IPortableDeviceValuesCollection* This,
   1491     DWORD *pcElems);
   1492 void __RPC_STUB IPortableDeviceValuesCollection_GetCount_Stub(
   1493     IRpcStubBuffer* This,
   1494     IRpcChannelBuffer* pRpcChannelBuffer,
   1495     PRPC_MESSAGE pRpcMessage,
   1496     DWORD* pdwStubPhase);
   1497 HRESULT STDMETHODCALLTYPE IPortableDeviceValuesCollection_GetAt_Proxy(
   1498     IPortableDeviceValuesCollection* This,
   1499     DWORD dwIndex,
   1500     IPortableDeviceValues **ppValues);
   1501 void __RPC_STUB IPortableDeviceValuesCollection_GetAt_Stub(
   1502     IRpcStubBuffer* This,
   1503     IRpcChannelBuffer* pRpcChannelBuffer,
   1504     PRPC_MESSAGE pRpcMessage,
   1505     DWORD* pdwStubPhase);
   1506 HRESULT STDMETHODCALLTYPE IPortableDeviceValuesCollection_Add_Proxy(
   1507     IPortableDeviceValuesCollection* This,
   1508     IPortableDeviceValues *pValues);
   1509 void __RPC_STUB IPortableDeviceValuesCollection_Add_Stub(
   1510     IRpcStubBuffer* This,
   1511     IRpcChannelBuffer* pRpcChannelBuffer,
   1512     PRPC_MESSAGE pRpcMessage,
   1513     DWORD* pdwStubPhase);
   1514 HRESULT STDMETHODCALLTYPE IPortableDeviceValuesCollection_Clear_Proxy(
   1515     IPortableDeviceValuesCollection* This);
   1516 void __RPC_STUB IPortableDeviceValuesCollection_Clear_Stub(
   1517     IRpcStubBuffer* This,
   1518     IRpcChannelBuffer* pRpcChannelBuffer,
   1519     PRPC_MESSAGE pRpcMessage,
   1520     DWORD* pdwStubPhase);
   1521 HRESULT STDMETHODCALLTYPE IPortableDeviceValuesCollection_RemoveAt_Proxy(
   1522     IPortableDeviceValuesCollection* This,
   1523     const DWORD dwIndex);
   1524 void __RPC_STUB IPortableDeviceValuesCollection_RemoveAt_Stub(
   1525     IRpcStubBuffer* This,
   1526     IRpcChannelBuffer* pRpcChannelBuffer,
   1527     PRPC_MESSAGE pRpcMessage,
   1528     DWORD* pdwStubPhase);
   1529 
   1530 #endif  /* __IPortableDeviceValuesCollection_INTERFACE_DEFINED__ */
   1531 
   1532 
   1533 DEFINE_GUID(LIBID_PortableDeviceTypesLib, 0x2b00ba2f, 0xe750, 0x4beb, 0x92,0x35, 0x97,0x14,0x2e,0xde,0x1d,0x3e);
   1534 
   1535 /*****************************************************************************
   1536  * PortableDeviceValues coclass
   1537  */
   1538 
   1539 DEFINE_GUID(CLSID_PortableDeviceValues, 0x0c15d503, 0xd017, 0x47ce, 0x90,0x16, 0x7b,0x3f,0x97,0x87,0x21,0xcc);
   1540 
   1541 #ifdef __cplusplus
   1542 class DECLSPEC_UUID("0c15d503-d017-47ce-9016-7b3f978721cc") PortableDeviceValues;
   1543 #ifdef __CRT_UUID_DECL
   1544 __CRT_UUID_DECL(PortableDeviceValues, 0x0c15d503, 0xd017, 0x47ce, 0x90,0x16, 0x7b,0x3f,0x97,0x87,0x21,0xcc)
   1545 #endif
   1546 #endif
   1547 
   1548 /* Begin additional prototypes for all interfaces */
   1549 
   1550 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
   1551 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
   1552 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
   1553 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
   1554 ULONG           __RPC_USER LPSAFEARRAY_UserSize     (ULONG *, ULONG, LPSAFEARRAY *);
   1555 unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal  (ULONG *, unsigned char *, LPSAFEARRAY *);
   1556 unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
   1557 void            __RPC_USER LPSAFEARRAY_UserFree     (ULONG *, LPSAFEARRAY *);
   1558 
   1559 /* End additional prototypes */
   1560 
   1561 #ifdef __cplusplus
   1562 }
   1563 #endif
   1564 
   1565 #endif /* __portabledevicetypes_h__ */
   1566