ホーム › Devices.PortableDevices › IPortableDeviceValues
IPortableDeviceValues
COMメソッド 40
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| pcelt | DWORD* | in | 格納されている値(キー/値ペア)の総数を受け取る出力先。 |
vtbl 4 HRESULT GetAt(DWORD index, PROPERTYKEY* pKey, PROPVARIANT* pValue)
| index | DWORD | in | 取得する要素の0始まりのインデックス。 |
| pKey | PROPERTYKEY* | inout | 指定位置のキー(PROPERTYKEY)を受け取る出力先。NULL可。 |
| pValue | PROPVARIANT* | inout | 指定位置の値(PROPVARIANT)を受け取る出力先。NULL可。 |
vtbl 5 HRESULT SetValue(PROPERTYKEY* key, PROPVARIANT* pValue)
| key | PROPERTYKEY* | in | 設定する値のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | PROPVARIANT* | in | 設定するPROPVARIANT値へのポインタ。 |
vtbl 6 HRESULT GetValue(PROPERTYKEY* key, PROPVARIANT* pValue)
| key | PROPERTYKEY* | in | 取得する値のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | PROPVARIANT* | out | 取得したPROPVARIANT値を受け取る出力先。 |
vtbl 7 HRESULT SetStringValue(PROPERTYKEY* key, LPWSTR Value)
| key | PROPERTYKEY* | in | 設定する文字列値のキーを指すPROPERTYKEYへのポインタ。 |
| Value | LPWSTR | in | 設定する文字列(ワイド文字)。 |
vtbl 8 HRESULT GetStringValue(PROPERTYKEY* key, LPWSTR* pValue)
| key | PROPERTYKEY* | in | 取得する文字列値のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | LPWSTR* | out | 取得した文字列を受け取る出力先。呼び出し側が解放する。 |
vtbl 9 HRESULT SetUnsignedIntegerValue(PROPERTYKEY* key, DWORD Value)
| key | PROPERTYKEY* | in | 設定する符号なし整数値のキーを指すPROPERTYKEYへのポインタ。 |
| Value | DWORD | in | 設定する符号なし32ビット整数値。 |
vtbl 10 HRESULT GetUnsignedIntegerValue(PROPERTYKEY* key, DWORD* pValue)
| key | PROPERTYKEY* | in | 取得する符号なし整数値のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | DWORD* | out | 取得した符号なし32ビット整数値を受け取る出力先。 |
vtbl 11 HRESULT SetSignedIntegerValue(PROPERTYKEY* key, INT Value)
| key | PROPERTYKEY* | in | 設定する符号付き整数値のキーを指すPROPERTYKEYへのポインタ。 |
| Value | INT | in | 設定する符号付き32ビット整数値。 |
vtbl 12 HRESULT GetSignedIntegerValue(PROPERTYKEY* key, INT* pValue)
| key | PROPERTYKEY* | in | 取得する符号付き整数値のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | INT* | out | 取得した符号付き32ビット整数値を受け取る出力先。 |
vtbl 13 HRESULT SetUnsignedLargeIntegerValue(PROPERTYKEY* key, ULONGLONG Value)
| key | PROPERTYKEY* | in | 設定する符号なし64ビット整数値のキーを指すPROPERTYKEYへのポインタ。 |
| Value | ULONGLONG | in | 設定する符号なし64ビット整数値。 |
vtbl 14 HRESULT GetUnsignedLargeIntegerValue(PROPERTYKEY* key, ULONGLONG* pValue)
| key | PROPERTYKEY* | in | 取得する符号なし64ビット整数値のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | ULONGLONG* | out | 取得した符号なし64ビット整数値を受け取る出力先。 |
vtbl 15 HRESULT SetSignedLargeIntegerValue(PROPERTYKEY* key, LONGLONG Value)
| key | PROPERTYKEY* | in | 設定する符号付き64ビット整数値のキーを指すPROPERTYKEYへのポインタ。 |
| Value | LONGLONG | in | 設定する符号付き64ビット整数値。 |
vtbl 16 HRESULT GetSignedLargeIntegerValue(PROPERTYKEY* key, LONGLONG* pValue)
| key | PROPERTYKEY* | in | 取得する符号付き64ビット整数値のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | LONGLONG* | out | 取得した符号付き64ビット整数値を受け取る出力先。 |
vtbl 17 HRESULT SetFloatValue(PROPERTYKEY* key, FLOAT Value)
| key | PROPERTYKEY* | in | 設定する浮動小数点値のキーを指すPROPERTYKEYへのポインタ。 |
| Value | FLOAT | in | 設定する単精度浮動小数点値。 |
vtbl 18 HRESULT GetFloatValue(PROPERTYKEY* key, FLOAT* pValue)
| key | PROPERTYKEY* | in | 取得する浮動小数点値のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | FLOAT* | out | 取得した単精度浮動小数点値を受け取る出力先。 |
vtbl 19 HRESULT SetErrorValue(PROPERTYKEY* key, HRESULT Value)
| key | PROPERTYKEY* | in | 設定するエラー値のキーを指すPROPERTYKEYへのポインタ。 |
| Value | HRESULT | in | 設定するHRESULTエラーコード値。 |
vtbl 20 HRESULT GetErrorValue(PROPERTYKEY* key, HRESULT* pValue)
| key | PROPERTYKEY* | in | 取得するエラー値のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | HRESULT* | out | 取得したHRESULTエラーコード値を受け取る出力先。 |
vtbl 21 HRESULT SetKeyValue(PROPERTYKEY* key, PROPERTYKEY* Value)
| key | PROPERTYKEY* | in | 設定先のキーを指すPROPERTYKEYへのポインタ。 |
| Value | PROPERTYKEY* | in | 値として格納するPROPERTYKEYへのポインタ。 |
vtbl 22 HRESULT GetKeyValue(PROPERTYKEY* key, PROPERTYKEY* pValue)
| key | PROPERTYKEY* | in | 取得対象のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | PROPERTYKEY* | out | 値として格納されたPROPERTYKEYを受け取る出力先。 |
vtbl 23 HRESULT SetBoolValue(PROPERTYKEY* key, BOOL Value)
| key | PROPERTYKEY* | in | 設定する真偽値のキーを指すPROPERTYKEYへのポインタ。 |
| Value | BOOL | in | 設定するBOOL値(TRUE/FALSE)。 |
vtbl 24 HRESULT GetBoolValue(PROPERTYKEY* key, BOOL* pValue)
| key | PROPERTYKEY* | in | 取得する真偽値のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | BOOL* | out | 取得したBOOL値を受け取る出力先。 |
vtbl 25 HRESULT SetIUnknownValue(PROPERTYKEY* key, IUnknown* pValue)
| key | PROPERTYKEY* | in | 設定先のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | IUnknown* | in | 値として格納するIUnknownインターフェイスポインタ。参照カウントが加算される。 |
vtbl 26 HRESULT GetIUnknownValue(PROPERTYKEY* key, IUnknown** ppValue)
| key | PROPERTYKEY* | in | 取得対象のキーを指すPROPERTYKEYへのポインタ。 |
| ppValue | IUnknown** | out | 格納されたIUnknownインターフェイスを受け取る出力先。呼び出し側がReleaseする。 |
vtbl 27 HRESULT SetGuidValue(PROPERTYKEY* key, GUID* Value)
| key | PROPERTYKEY* | in | 設定するGUID値のキーを指すPROPERTYKEYへのポインタ。 |
| Value | GUID* | in | 設定するGUIDへのポインタ。 |
vtbl 28 HRESULT GetGuidValue(PROPERTYKEY* key, GUID* pValue)
| key | PROPERTYKEY* | in | 取得するGUID値のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | GUID* | out | 取得したGUIDを受け取る出力先。 |
vtbl 29 HRESULT SetBufferValue(PROPERTYKEY* key, BYTE* pValue, DWORD cbValue)
| key | PROPERTYKEY* | in | 設定するバイナリ値のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | BYTE* | in | 格納するバイナリデータへのポインタ。 |
| cbValue | DWORD | in | 格納するバイナリデータのバイト数。 |
vtbl 30 HRESULT GetBufferValue(PROPERTYKEY* key, BYTE** ppValue, DWORD* pcbValue)
| key | PROPERTYKEY* | in | 取得するバイナリ値のキーを指すPROPERTYKEYへのポインタ。 |
| ppValue | BYTE** | out | 取得したバイナリデータを受け取る出力先。呼び出し側が解放する。 |
| pcbValue | DWORD* | out | 取得したバイナリデータのバイト数を受け取る出力先。 |
vtbl 31 HRESULT SetIPortableDeviceValuesValue(PROPERTYKEY* key, IPortableDeviceValues* pValue)
| key | PROPERTYKEY* | in | 設定先のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | IPortableDeviceValues* | in | 値として格納するIPortableDeviceValuesへのポインタ(入れ子のコレクション)。 |
vtbl 32 HRESULT GetIPortableDeviceValuesValue(PROPERTYKEY* key, IPortableDeviceValues** ppValue)
| key | PROPERTYKEY* | in | 取得対象のキーを指すPROPERTYKEYへのポインタ。 |
| ppValue | IPortableDeviceValues** | out | 格納されたIPortableDeviceValuesを受け取る出力先。 |
vtbl 33 HRESULT SetIPortableDevicePropVariantCollectionValue(PROPERTYKEY* key, IPortableDevicePropVariantCollection* pValue)
| key | PROPERTYKEY* | in | 設定先のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | IPortableDevicePropVariantCollection* | in | 値として格納するIPortableDevicePropVariantCollectionへのポインタ。 |
vtbl 34 HRESULT GetIPortableDevicePropVariantCollectionValue(PROPERTYKEY* key, IPortableDevicePropVariantCollection** ppValue)
| key | PROPERTYKEY* | in | 取得対象のキーを指すPROPERTYKEYへのポインタ。 |
| ppValue | IPortableDevicePropVariantCollection** | out | 格納されたIPortableDevicePropVariantCollectionを受け取る出力先。 |
vtbl 35 HRESULT SetIPortableDeviceKeyCollectionValue(PROPERTYKEY* key, IPortableDeviceKeyCollection* pValue)
| key | PROPERTYKEY* | in | 設定先のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | IPortableDeviceKeyCollection* | in | 値として格納するIPortableDeviceKeyCollectionへのポインタ。 |
vtbl 36 HRESULT GetIPortableDeviceKeyCollectionValue(PROPERTYKEY* key, IPortableDeviceKeyCollection** ppValue)
| key | PROPERTYKEY* | in | 取得対象のキーを指すPROPERTYKEYへのポインタ。 |
| ppValue | IPortableDeviceKeyCollection** | out | 格納されたIPortableDeviceKeyCollectionを受け取る出力先。 |
vtbl 37 HRESULT SetIPortableDeviceValuesCollectionValue(PROPERTYKEY* key, IPortableDeviceValuesCollection* pValue)
| key | PROPERTYKEY* | in | 設定先のキーを指すPROPERTYKEYへのポインタ。 |
| pValue | IPortableDeviceValuesCollection* | in | 値として格納するIPortableDeviceValuesCollectionへのポインタ。 |
vtbl 38 HRESULT GetIPortableDeviceValuesCollectionValue(PROPERTYKEY* key, IPortableDeviceValuesCollection** ppValue)
| key | PROPERTYKEY* | in | 取得対象のキーを指すPROPERTYKEYへのポインタ。 |
| ppValue | IPortableDeviceValuesCollection** | out | 格納されたIPortableDeviceValuesCollectionを受け取る出力先。 |
vtbl 39 HRESULT RemoveValue(PROPERTYKEY* key)
| key | PROPERTYKEY* | in | コレクションから削除する値のキーを指すPROPERTYKEYへのポインタ。 |
vtbl 40 HRESULT CopyValuesFromPropertyStore(IPropertyStore* pStore)
| pStore | IPropertyStore* | in | 値の複製元となるIPropertyStoreへのポインタ。全プロパティが取り込まれる。 |
vtbl 41 HRESULT CopyValuesToPropertyStore(IPropertyStore* pStore)
| pStore | IPropertyStore* | 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 指定が可能。#define global IID_IPortableDeviceValues "{6848F6F2-3155-4F86-B6F5-263EEEAB3143}" #usecom global IPortableDeviceValues IID_IPortableDeviceValues "{0C15D503-D017-47CE-9016-7B3F978721CC}" #comfunc global IPortableDeviceValues_GetCount 3 sptr #comfunc global IPortableDeviceValues_GetAt 4 int,sptr,sptr #comfunc global IPortableDeviceValues_SetValue 5 sptr,sptr #comfunc global IPortableDeviceValues_GetValue 6 sptr,sptr #comfunc global IPortableDeviceValues_SetStringValue 7 sptr,wstr #comfunc global IPortableDeviceValues_GetStringValue 8 sptr,sptr #comfunc global IPortableDeviceValues_SetUnsignedIntegerValue 9 sptr,int #comfunc global IPortableDeviceValues_GetUnsignedIntegerValue 10 sptr,sptr #comfunc global IPortableDeviceValues_SetSignedIntegerValue 11 sptr,int #comfunc global IPortableDeviceValues_GetSignedIntegerValue 12 sptr,sptr #comfunc global IPortableDeviceValues_SetUnsignedLargeIntegerValue 13 sptr,int64 #comfunc global IPortableDeviceValues_GetUnsignedLargeIntegerValue 14 sptr,sptr #comfunc global IPortableDeviceValues_SetSignedLargeIntegerValue 15 sptr,int64 #comfunc global IPortableDeviceValues_GetSignedLargeIntegerValue 16 sptr,sptr #comfunc global IPortableDeviceValues_SetFloatValue 17 sptr,float #comfunc global IPortableDeviceValues_GetFloatValue 18 sptr,sptr #comfunc global IPortableDeviceValues_SetErrorValue 19 sptr,int #comfunc global IPortableDeviceValues_GetErrorValue 20 sptr,sptr #comfunc global IPortableDeviceValues_SetKeyValue 21 sptr,sptr #comfunc global IPortableDeviceValues_GetKeyValue 22 sptr,sptr #comfunc global IPortableDeviceValues_SetBoolValue 23 sptr,int #comfunc global IPortableDeviceValues_GetBoolValue 24 sptr,sptr #comfunc global IPortableDeviceValues_SetIUnknownValue 25 sptr,sptr #comfunc global IPortableDeviceValues_GetIUnknownValue 26 sptr,sptr #comfunc global IPortableDeviceValues_SetGuidValue 27 sptr,sptr #comfunc global IPortableDeviceValues_GetGuidValue 28 sptr,sptr #comfunc global IPortableDeviceValues_SetBufferValue 29 sptr,sptr,int #comfunc global IPortableDeviceValues_GetBufferValue 30 sptr,sptr,sptr #comfunc global IPortableDeviceValues_SetIPortableDeviceValuesValue 31 sptr,sptr #comfunc global IPortableDeviceValues_GetIPortableDeviceValuesValue 32 sptr,sptr #comfunc global IPortableDeviceValues_SetIPortableDevicePropVariantCollectionValue 33 sptr,sptr #comfunc global IPortableDeviceValues_GetIPortableDevicePropVariantCollectionValue 34 sptr,sptr #comfunc global IPortableDeviceValues_SetIPortableDeviceKeyCollectionValue 35 sptr,sptr #comfunc global IPortableDeviceValues_GetIPortableDeviceKeyCollectionValue 36 sptr,sptr #comfunc global IPortableDeviceValues_SetIPortableDeviceValuesCollectionValue 37 sptr,sptr #comfunc global IPortableDeviceValues_GetIPortableDeviceValuesCollectionValue 38 sptr,sptr #comfunc global IPortableDeviceValues_RemoveValue 39 sptr #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から自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。