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
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for