Win32 API 日本語リファレンス
ホームDevices.PortableDevices › IPortableDeviceValues

IPortableDeviceValues

COM
IID6848f6f2-3155-4f86-b6f5-263eeeab3143継承元IUnknown自前メソッド開始 vtbl3

メソッド 40

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetCount(DWORD* pcelt)
pceltDWORD*in格納されている値(キー/値ペア)の総数を受け取る出力先。
vtbl 4 HRESULT GetAt(DWORD index, PROPERTYKEY* pKey, PROPVARIANT* pValue)
indexDWORDin取得する要素の0始まりのインデックス。
pKeyPROPERTYKEY*inout指定位置のキー(PROPERTYKEY)を受け取る出力先。NULL可。
pValuePROPVARIANT*inout指定位置の値(PROPVARIANT)を受け取る出力先。NULL可。
vtbl 5 HRESULT SetValue(PROPERTYKEY* key, PROPVARIANT* pValue)
keyPROPERTYKEY*in設定する値のキーを指すPROPERTYKEYへのポインタ。
pValuePROPVARIANT*in設定するPROPVARIANT値へのポインタ。
vtbl 6 HRESULT GetValue(PROPERTYKEY* key, PROPVARIANT* pValue)
keyPROPERTYKEY*in取得する値のキーを指すPROPERTYKEYへのポインタ。
pValuePROPVARIANT*out取得したPROPVARIANT値を受け取る出力先。
vtbl 7 HRESULT SetStringValue(PROPERTYKEY* key, LPWSTR Value)
keyPROPERTYKEY*in設定する文字列値のキーを指すPROPERTYKEYへのポインタ。
ValueLPWSTRin設定する文字列(ワイド文字)。
vtbl 8 HRESULT GetStringValue(PROPERTYKEY* key, LPWSTR* pValue)
keyPROPERTYKEY*in取得する文字列値のキーを指すPROPERTYKEYへのポインタ。
pValueLPWSTR*out取得した文字列を受け取る出力先。呼び出し側が解放する。
vtbl 9 HRESULT SetUnsignedIntegerValue(PROPERTYKEY* key, DWORD Value)
keyPROPERTYKEY*in設定する符号なし整数値のキーを指すPROPERTYKEYへのポインタ。
ValueDWORDin設定する符号なし32ビット整数値。
vtbl 10 HRESULT GetUnsignedIntegerValue(PROPERTYKEY* key, DWORD* pValue)
keyPROPERTYKEY*in取得する符号なし整数値のキーを指すPROPERTYKEYへのポインタ。
pValueDWORD*out取得した符号なし32ビット整数値を受け取る出力先。
vtbl 11 HRESULT SetSignedIntegerValue(PROPERTYKEY* key, INT Value)
keyPROPERTYKEY*in設定する符号付き整数値のキーを指すPROPERTYKEYへのポインタ。
ValueINTin設定する符号付き32ビット整数値。
vtbl 12 HRESULT GetSignedIntegerValue(PROPERTYKEY* key, INT* pValue)
keyPROPERTYKEY*in取得する符号付き整数値のキーを指すPROPERTYKEYへのポインタ。
pValueINT*out取得した符号付き32ビット整数値を受け取る出力先。
vtbl 13 HRESULT SetUnsignedLargeIntegerValue(PROPERTYKEY* key, ULONGLONG Value)
keyPROPERTYKEY*in設定する符号なし64ビット整数値のキーを指すPROPERTYKEYへのポインタ。
ValueULONGLONGin設定する符号なし64ビット整数値。
vtbl 14 HRESULT GetUnsignedLargeIntegerValue(PROPERTYKEY* key, ULONGLONG* pValue)
keyPROPERTYKEY*in取得する符号なし64ビット整数値のキーを指すPROPERTYKEYへのポインタ。
pValueULONGLONG*out取得した符号なし64ビット整数値を受け取る出力先。
vtbl 15 HRESULT SetSignedLargeIntegerValue(PROPERTYKEY* key, LONGLONG Value)
keyPROPERTYKEY*in設定する符号付き64ビット整数値のキーを指すPROPERTYKEYへのポインタ。
ValueLONGLONGin設定する符号付き64ビット整数値。
vtbl 16 HRESULT GetSignedLargeIntegerValue(PROPERTYKEY* key, LONGLONG* pValue)
keyPROPERTYKEY*in取得する符号付き64ビット整数値のキーを指すPROPERTYKEYへのポインタ。
pValueLONGLONG*out取得した符号付き64ビット整数値を受け取る出力先。
vtbl 17 HRESULT SetFloatValue(PROPERTYKEY* key, FLOAT Value)
keyPROPERTYKEY*in設定する浮動小数点値のキーを指すPROPERTYKEYへのポインタ。
ValueFLOATin設定する単精度浮動小数点値。
vtbl 18 HRESULT GetFloatValue(PROPERTYKEY* key, FLOAT* pValue)
keyPROPERTYKEY*in取得する浮動小数点値のキーを指すPROPERTYKEYへのポインタ。
pValueFLOAT*out取得した単精度浮動小数点値を受け取る出力先。
vtbl 19 HRESULT SetErrorValue(PROPERTYKEY* key, HRESULT Value)
keyPROPERTYKEY*in設定するエラー値のキーを指すPROPERTYKEYへのポインタ。
ValueHRESULTin設定するHRESULTエラーコード値。
vtbl 20 HRESULT GetErrorValue(PROPERTYKEY* key, HRESULT* pValue)
keyPROPERTYKEY*in取得するエラー値のキーを指すPROPERTYKEYへのポインタ。
pValueHRESULT*out取得したHRESULTエラーコード値を受け取る出力先。
vtbl 21 HRESULT SetKeyValue(PROPERTYKEY* key, PROPERTYKEY* Value)
keyPROPERTYKEY*in設定先のキーを指すPROPERTYKEYへのポインタ。
ValuePROPERTYKEY*in値として格納するPROPERTYKEYへのポインタ。
vtbl 22 HRESULT GetKeyValue(PROPERTYKEY* key, PROPERTYKEY* pValue)
keyPROPERTYKEY*in取得対象のキーを指すPROPERTYKEYへのポインタ。
pValuePROPERTYKEY*out値として格納されたPROPERTYKEYを受け取る出力先。
vtbl 23 HRESULT SetBoolValue(PROPERTYKEY* key, BOOL Value)
keyPROPERTYKEY*in設定する真偽値のキーを指すPROPERTYKEYへのポインタ。
ValueBOOLin設定するBOOL値(TRUE/FALSE)。
vtbl 24 HRESULT GetBoolValue(PROPERTYKEY* key, BOOL* pValue)
keyPROPERTYKEY*in取得する真偽値のキーを指すPROPERTYKEYへのポインタ。
pValueBOOL*out取得したBOOL値を受け取る出力先。
vtbl 25 HRESULT SetIUnknownValue(PROPERTYKEY* key, IUnknown* pValue)
keyPROPERTYKEY*in設定先のキーを指すPROPERTYKEYへのポインタ。
pValueIUnknown*in値として格納するIUnknownインターフェイスポインタ。参照カウントが加算される。
vtbl 26 HRESULT GetIUnknownValue(PROPERTYKEY* key, IUnknown** ppValue)
keyPROPERTYKEY*in取得対象のキーを指すPROPERTYKEYへのポインタ。
ppValueIUnknown**out格納されたIUnknownインターフェイスを受け取る出力先。呼び出し側がReleaseする。
vtbl 27 HRESULT SetGuidValue(PROPERTYKEY* key, GUID* Value)
keyPROPERTYKEY*in設定するGUID値のキーを指すPROPERTYKEYへのポインタ。
ValueGUID*in設定するGUIDへのポインタ。
vtbl 28 HRESULT GetGuidValue(PROPERTYKEY* key, GUID* pValue)
keyPROPERTYKEY*in取得するGUID値のキーを指すPROPERTYKEYへのポインタ。
pValueGUID*out取得したGUIDを受け取る出力先。
vtbl 29 HRESULT SetBufferValue(PROPERTYKEY* key, BYTE* pValue, DWORD cbValue)
keyPROPERTYKEY*in設定するバイナリ値のキーを指すPROPERTYKEYへのポインタ。
pValueBYTE*in格納するバイナリデータへのポインタ。
cbValueDWORDin格納するバイナリデータのバイト数。
vtbl 30 HRESULT GetBufferValue(PROPERTYKEY* key, BYTE** ppValue, DWORD* pcbValue)
keyPROPERTYKEY*in取得するバイナリ値のキーを指すPROPERTYKEYへのポインタ。
ppValueBYTE**out取得したバイナリデータを受け取る出力先。呼び出し側が解放する。
pcbValueDWORD*out取得したバイナリデータのバイト数を受け取る出力先。
vtbl 31 HRESULT SetIPortableDeviceValuesValue(PROPERTYKEY* key, IPortableDeviceValues* pValue)
keyPROPERTYKEY*in設定先のキーを指すPROPERTYKEYへのポインタ。
pValueIPortableDeviceValues*in値として格納するIPortableDeviceValuesへのポインタ(入れ子のコレクション)。
vtbl 32 HRESULT GetIPortableDeviceValuesValue(PROPERTYKEY* key, IPortableDeviceValues** ppValue)
keyPROPERTYKEY*in取得対象のキーを指すPROPERTYKEYへのポインタ。
ppValueIPortableDeviceValues**out格納されたIPortableDeviceValuesを受け取る出力先。
vtbl 33 HRESULT SetIPortableDevicePropVariantCollectionValue(PROPERTYKEY* key, IPortableDevicePropVariantCollection* pValue)
keyPROPERTYKEY*in設定先のキーを指すPROPERTYKEYへのポインタ。
pValueIPortableDevicePropVariantCollection*in値として格納するIPortableDevicePropVariantCollectionへのポインタ。
vtbl 34 HRESULT GetIPortableDevicePropVariantCollectionValue(PROPERTYKEY* key, IPortableDevicePropVariantCollection** ppValue)
keyPROPERTYKEY*in取得対象のキーを指すPROPERTYKEYへのポインタ。
ppValueIPortableDevicePropVariantCollection**out格納されたIPortableDevicePropVariantCollectionを受け取る出力先。
vtbl 35 HRESULT SetIPortableDeviceKeyCollectionValue(PROPERTYKEY* key, IPortableDeviceKeyCollection* pValue)
keyPROPERTYKEY*in設定先のキーを指すPROPERTYKEYへのポインタ。
pValueIPortableDeviceKeyCollection*in値として格納するIPortableDeviceKeyCollectionへのポインタ。
vtbl 36 HRESULT GetIPortableDeviceKeyCollectionValue(PROPERTYKEY* key, IPortableDeviceKeyCollection** ppValue)
keyPROPERTYKEY*in取得対象のキーを指すPROPERTYKEYへのポインタ。
ppValueIPortableDeviceKeyCollection**out格納されたIPortableDeviceKeyCollectionを受け取る出力先。
vtbl 37 HRESULT SetIPortableDeviceValuesCollectionValue(PROPERTYKEY* key, IPortableDeviceValuesCollection* pValue)
keyPROPERTYKEY*in設定先のキーを指すPROPERTYKEYへのポインタ。
pValueIPortableDeviceValuesCollection*in値として格納するIPortableDeviceValuesCollectionへのポインタ。
vtbl 38 HRESULT GetIPortableDeviceValuesCollectionValue(PROPERTYKEY* key, IPortableDeviceValuesCollection** ppValue)
keyPROPERTYKEY*in取得対象のキーを指すPROPERTYKEYへのポインタ。
ppValueIPortableDeviceValuesCollection**out格納されたIPortableDeviceValuesCollectionを受け取る出力先。
vtbl 39 HRESULT RemoveValue(PROPERTYKEY* key)
keyPROPERTYKEY*inコレクションから削除する値のキーを指すPROPERTYKEYへのポインタ。
vtbl 40 HRESULT CopyValuesFromPropertyStore(IPropertyStore* pStore)
pStoreIPropertyStore*in値の複製元となるIPropertyStoreへのポインタ。全プロパティが取り込まれる。
vtbl 41 HRESULT CopyValuesToPropertyStore(IPropertyStore* pStore)
pStoreIPropertyStore*in値の複製先となるIPropertyStoreへのポインタ。
vtbl 42 HRESULT Clear()

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IPortableDeviceValues "{6848F6F2-3155-4F86-B6F5-263EEEAB3143}"
#usecom global IPortableDeviceValues IID_IPortableDeviceValues "{0C15D503-D017-47CE-9016-7B3F978721CC}"
#comfunc global IPortableDeviceValues_GetCount                                      3 var
#comfunc global IPortableDeviceValues_GetAt                                         4 int,var,var
#comfunc global IPortableDeviceValues_SetValue                                      5 var,var
#comfunc global IPortableDeviceValues_GetValue                                      6 var,var
#comfunc global IPortableDeviceValues_SetStringValue                                7 var,wstr
#comfunc global IPortableDeviceValues_GetStringValue                                8 var,var
#comfunc global IPortableDeviceValues_SetUnsignedIntegerValue                       9 var,int
#comfunc global IPortableDeviceValues_GetUnsignedIntegerValue                       10 var,var
#comfunc global IPortableDeviceValues_SetSignedIntegerValue                         11 var,int
#comfunc global IPortableDeviceValues_GetSignedIntegerValue                         12 var,var
#comfunc global IPortableDeviceValues_SetUnsignedLargeIntegerValue                  13 var,int64
#comfunc global IPortableDeviceValues_GetUnsignedLargeIntegerValue                  14 var,var
#comfunc global IPortableDeviceValues_SetSignedLargeIntegerValue                    15 var,int64
#comfunc global IPortableDeviceValues_GetSignedLargeIntegerValue                    16 var,var
#comfunc global IPortableDeviceValues_SetFloatValue                                 17 var,float
#comfunc global IPortableDeviceValues_GetFloatValue                                 18 var,var
#comfunc global IPortableDeviceValues_SetErrorValue                                 19 var,int
#comfunc global IPortableDeviceValues_GetErrorValue                                 20 var,var
#comfunc global IPortableDeviceValues_SetKeyValue                                   21 var,var
#comfunc global IPortableDeviceValues_GetKeyValue                                   22 var,var
#comfunc global IPortableDeviceValues_SetBoolValue                                  23 var,int
#comfunc global IPortableDeviceValues_GetBoolValue                                  24 var,var
#comfunc global IPortableDeviceValues_SetIUnknownValue                              25 var,sptr
#comfunc global IPortableDeviceValues_GetIUnknownValue                              26 var,sptr
#comfunc global IPortableDeviceValues_SetGuidValue                                  27 var,var
#comfunc global IPortableDeviceValues_GetGuidValue                                  28 var,var
#comfunc global IPortableDeviceValues_SetBufferValue                                29 var,var,int
#comfunc global IPortableDeviceValues_GetBufferValue                                30 var,var,var
#comfunc global IPortableDeviceValues_SetIPortableDeviceValuesValue                 31 var,sptr
#comfunc global IPortableDeviceValues_GetIPortableDeviceValuesValue                 32 var,sptr
#comfunc global IPortableDeviceValues_SetIPortableDevicePropVariantCollectionValue  33 var,sptr
#comfunc global IPortableDeviceValues_GetIPortableDevicePropVariantCollectionValue  34 var,sptr
#comfunc global IPortableDeviceValues_SetIPortableDeviceKeyCollectionValue          35 var,sptr
#comfunc global IPortableDeviceValues_GetIPortableDeviceKeyCollectionValue          36 var,sptr
#comfunc global IPortableDeviceValues_SetIPortableDeviceValuesCollectionValue       37 var,sptr
#comfunc global IPortableDeviceValues_GetIPortableDeviceValuesCollectionValue       38 var,sptr
#comfunc global IPortableDeviceValues_RemoveValue                                   39 var
#comfunc global IPortableDeviceValues_CopyValuesFromPropertyStore                   40 sptr
#comfunc global IPortableDeviceValues_CopyValuesToPropertyStore                     41 sptr
#comfunc global IPortableDeviceValues_Clear                                         42
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。