IPortableDeviceValues interface (portabledevicetypes.h)

The IPortableDeviceValues interface holds a collection of PROPERTYKEY/PROPVARIANT pairs. Values in the collection do not need to be all the same VARTYPE. Values are stored as key-value pairs; each key must be unique in the collection. Clients can search for items by PROPERTYKEY or zero-based index. Data values are stored as PROPVARIANT structures. You can add or retrieve values of any type by using the generic methods SetValue and GetValue, or you add items by using the method specific to the type of data added.

The Get... methods require the caller to release any retrieved values appropriately. The Set... methods copy the value into the collection.

When an IPortableDeviceValues interface is released, it calls Clear, which frees the memory that was allocated for all its members appropriately

This interface can be retrieved from a method or, if a new object is required, call CoCreate with CLSID_PortableDeviceValues.

Inheritance

The IPortableDeviceValues interface inherits from the IUnknown interface. IPortableDeviceValues also has these types of members:

Methods

The IPortableDeviceValues interface has these methods.

 
IPortableDeviceValues::Clear

Learn how this method deletes all items from the collection.
IPortableDeviceValues::CopyValuesFromPropertyStore

Copies the contents of an IPropertyStore into the collection.
IPortableDeviceValues::CopyValuesToPropertyStore

Copies all the values from a collection into an IPropertyStore interface.
IPortableDeviceValues::GetAt

Retrieves a value from the collection, by a zero-based index.
IPortableDeviceValues::GetBoolValue

Retrieves a Boolean value (type VT_BOOL) specified by a key.
IPortableDeviceValues::GetBufferValue

The GetBufferValue interface retrieves a byte array value (type VT_VECTOR or VT_UI1) that is specified by a key.
IPortableDeviceValues::GetCount

Retrieves the number of items in the collection.
IPortableDeviceValues::GetErrorValue

Retrieves an HRESULT value (type VT_ERROR) specified by a key.
IPortableDeviceValues::GetFloatValue

The GetFloatValue method retrieves a FLOAT value (type VT_R4) specified by a key.
IPortableDeviceValues::GetGuidValue

Retrieves a GUID value (type VT_CLSID) specified by a key.
IPortableDeviceValues::GetIPortableDeviceKeyCollectionValue

Retrieves an IPortableDeviceKeyCollection value (type VT_UNKNOWN) that is specified by a key.
IPortableDeviceValues::GetIPortableDevicePropVariantCollectionValue

Retrieves an IPortableDevicePropVariantCollection value (type VT_UNKNOWN) that is specified by a key.
IPortableDeviceValues::GetIPortableDeviceValuesCollectionValue

Retrieves an IPortableDeviceValuesCollection (type VT_UNKNOWN) value specified by a key.
IPortableDeviceValues::GetIPortableDeviceValuesValue

Retrieves an IPortableDeviceValues value (type VT_UNKNOWN) that is specified by a key.
IPortableDeviceValues::GetIUnknownValue

Retrieves an IUnknown interface value (type VT_UNKNOWN) that is specified by a key.
IPortableDeviceValues::GetKeyValue

Retrieves a PROPERTYKEY value (type VT_UNKNOWN) that is specified by a key.
IPortableDeviceValues::GetSignedIntegerValue

Retrieves a LONG value (type VT_I4) that is specified by a key.
IPortableDeviceValues::GetSignedLargeIntegerValue

Retrieves a LONGLONG value (type VT_I8) that is specified by a key.
IPortableDeviceValues::GetStringValue

Retrieves a string value (type VT_LPWSTR) that is specified by a key.
IPortableDeviceValues::GetUnsignedIntegerValue

Retrieves a ULONG value (type VT_UI4) that is specified by a key.
IPortableDeviceValues::GetUnsignedLargeIntegerValue

Retrieves a ULONGLONG value (type VT_UI8) that is specified by a key.
IPortableDeviceValues::GetValue

The GetValue interface retrieves a PROPVARIANT value that is specified by a key.
IPortableDeviceValues::RemoveValue

The RemoveValue method removes an item from the collection.
IPortableDeviceValues::SetBoolValue

Adds a new Boolean value (type VT_BOOL) or overwrites an existing one.
IPortableDeviceValues::SetBufferValue

Adds a new BYTE* value (type VT_VECTOR or VT_UI1) or overwrites an existing one.
IPortableDeviceValues::SetErrorValue

Adds a new HRESULT value (type VT_ERROR) or overwrites an existing one.
IPortableDeviceValues::SetFloatValue

Adds a new FLOAT value (type VT_R4) or overwrites an existing one.
IPortableDeviceValues::SetGuidValue

Adds a new GUID value (type VT_CLSID) or overwrites an existing one.
IPortableDeviceValues::SetIPortableDeviceKeyCollectionValue

Adds a new SetIPortableDeviceKeyCollectionValue value (type VT_UNKNOWN) or overwrites an existing one.
IPortableDeviceValues::SetIPortableDevicePropVariantCollectionValue

Adds a new IPortableDevicePropVariantCollection value (type VT_UNKNOWN) or overwrites an existing one.
IPortableDeviceValues::SetIPortableDeviceValuesCollectionValue

Adds a new IPortableDeviceValuesCollection value (type VT_UNKNOWN) or overwrites an existing one.
IPortableDeviceValues::SetIPortableDeviceValuesValue

Adds a new IPortableDeviceValues value (type VT_UNKNOWN) or overwrites an existing one.
IPortableDeviceValues::SetIUnknownValue

Adds a new IUnknown value (type VT_UNKNOWN) or overwrites an existing one.
IPortableDeviceValues::SetKeyValue

Adds a new REFPROPERTYKEY value (type VT_UNKNOWN) or overwrites an existing one.
IPortableDeviceValues::SetSignedIntegerValue

Adds a new LONG value (type VT_I4) or overwrites an existing one.
IPortableDeviceValues::SetSignedLargeIntegerValue

Adds a new LONGLONG value (type VT_I8) or overwrites an existing one.
IPortableDeviceValues::SetStringValue

Adds a new string value (type VT_LPWSTR) or overwrites an existing one.
IPortableDeviceValues::SetUnsignedIntegerValue

Adds a new ULONG value (type VT_UI4) or overwrites an existing one.
IPortableDeviceValues::SetUnsignedLargeIntegerValue

Adds a new ULONGLONG value (type VT_UI8) or overwrites an existing one.
IPortableDeviceValues::SetValue

Adds a new value or overwrites an existing one.

Requirements

Requirement Value
Target Platform Windows
Header portabledevicetypes.h

See also

Collection Interfaces