IPortableDeviceValues 介面

IPortableDeviceValues介面會保存PROPERTYKEYPROPVARIANT/ 配對的集合。 集合中的值不需要是相同的 VARTYPE。

值會儲存為機碼/值組;每個索引鍵在集合中都必須是唯一的。 用戶端可以依 PROPERTYKEY 或以零起始的索引來搜尋專案。 資料值會儲存為 PROPVARIANT 結構。 您可以使用泛型方法 SetValueGetValue來新增或擷取任何類型的值,或是使用所新增資料類型的特定方法來新增專案。

Get...方法需要呼叫端適當地釋放任何擷取的值。 Set...方法會將值複製到集合中。

IPortableDeviceValues 介面發行時,它會呼叫 Clear,以釋放已適當配置給其所有成員的記憶體。

這個介面可以從方法擷取,或者如果需要新的物件,請使用CLSID_PortableDeviceValues呼叫CoCreate

成員

IPortableDeviceValues介面繼承自IUnknown介面。 IPortableDeviceValues 也有下列類型的成員:

方法

IPortableDeviceValues介面具有這些方法。

方法 描述
清除 從集合中刪除所有專案。
CopyValuesFromPropertyStore IPropertyStore 的內容複寫到集合中。
CopyValuesToPropertyStore 將集合中的所有值複製到 IPropertyStore 介面中。
GetAt 使用提供之以零起始的索引,從集合擷取值。
GetBoolValue 擷取 boOL 值 (索引鍵所指定的類型VT_BOOL) 。
GetBufferValue 擷取位元組陣列值 (類型VT_VECTOR |VT_UI1) 由索引鍵指定。
GetCount 擷取集合中的專案數。
GetErrorValue 擷取 HRESULT 值 (索引鍵所指定的類型VT_ERROR) 。
GetFloatValue 擷取 浮點 數 (型別VT_R4) 索引鍵所指定的浮點數。
GetGuidValue 擷取 guiD 值 (索引鍵所指定的類型VT_CLSID) 。
GetIPortableDeviceKeyCollectionValue 擷取索引鍵所指定類型VT_UNKNOWN) (IPortableDeviceKeyCollection 值。
GetIPortableDevicePropVariantCollectionValue 取 iPortableDevicePropVariantCollection 值 (索引鍵所指定的類型VT_UNKNOWN) 。
GetIPortableDeviceValuesCollectionValue 取 IPortableDeviceValuesCollection 值 (索引鍵所指定的類型VT_UNKNOWN) 。
GetIPortableDeviceValuesValue 擷取 iPortableDeviceValues 值, (索引鍵所指定的類型VT_UNKNOWN) 。
GetIUnknownValue 擷取 iUnknown 介面值 (索引鍵所指定的類型VT_UNKNOWN) 。
GetKeyValue 擷取索引鍵所指定的 PROPERTYKEY 值。
GetSignedIntegerValue 擷取 long 值 (索引鍵所指定的類型VT_I4) 。
GetSignedLargeIntegerValue 擷取 LONGLONG 值 (索引鍵所指定的類型VT_I8) 。
GetStringValue 擷取 (索引鍵所指定的類型VT_LPWSTR) 字串值。
GetUnsignedIntegerValue 擷取 ULONG 值 (索引鍵所指定的類型VT_UI4) 。
GetUnsignedLargeIntegerValue 擷取 ULONGLONG 值 (索引鍵所指定的類型VT_UI8) 。
GetValue 擷取索引鍵所指定的 PROPVARIANT 值。
RemoveValue 從集合中移除項目。
SetBoolValue VT_BOOL) 或覆寫現有的 布林值, (類型新增布林值。
SetBufferValue 新增 BYTE* 值 (類型VT_VECTOR |VT_UI1) 或覆寫現有的。
SetErrorValue VT_ERROR) 或覆寫現有的 HRESULT 值, (類型新增 HRESULT 值。
SetFloatValue VT_R4) 或覆寫現有的 FLOAT 值, (類型新增 FLOAT 值。
SetGuidValue VT_CLSID) 或覆寫現有的 GUID 值, (類型新增 GUID 值。
SetIPortableDeviceKeyCollectionValue 將新的 IPortableDeviceKeyCollectionValue 值新增 (類型VT_UNKNOWN) 或覆寫現有的類型。
SetIPortableDevicePropVariantCollectionValue 將新的 IPortableDevicePropVariantCollection 值新增 (類型VT_UNKNOWN) 或覆寫現有的類型。
SetIPortableDeviceValuesCollectionValue 將新的 IPortableDeviceValuesCollection 值新增 (類型VT_UNKNOWN) 或覆寫現有的類型。
SetIPortableDeviceValuesValue 將新的 IPortableDeviceValues 值新增 (類型VT_UNKNOWN) 或覆寫現有的值。
SetIUnknownValue VT_UNKNOWN) 或覆寫現有的 IUnknown 值, (類型新增 IUnknown 值。
SetKeyValue 新增 PROPERTYKEY (類型VT_UNKNOWN) 值或覆寫現有的屬性。
SetSignedIntegerValue VT_I4) 或覆寫現有的 LONG 值, (類型新增 LONG 值。
SetSignedLargeIntegerValue VT_I8) 或覆寫現有的 LONGLONG 值, (類型加入新的 LONGLONG 值。
SetStringValue VT_LPWSTR) 或覆寫現有的字串值, (類型新增字串值。
SetUnsignedIntegerValue VT_UI4) 或覆寫現有的 ULONG 值, (類型新增 ULONG 值。
SetUnsignedLargeIntegerValue VT_UI8) 或覆寫現有的 ULONGLONG 值, (類型加入新的 ULONGLONG 值。
SetValue 加入新的 PROPVARIANT 值或覆寫現有的值。

規格需求

需求
標頭
PortableDeviceTypes.h
程式庫
PortableDeviceGUIDs.lib

另請參閱

集合介面