IPortableDeviceValues::SetBufferValue method

The SetBufferValue method adds a new BYTE* value (type VT_VECTOR | VT_UI1) or overwrites an existing one.

Syntax

HRESULT SetBufferValue(
  [in] REFPROPERTYKEY key,
  [in] BYTE           *pValue,
  [in] DWORD          cbValue
);

Parameters

key [in]

A REFPROPERTYKEY that specifies the item to create or overwrite.

pValue [in]

A BYTE* that contains the data to write to the item. The submitted buffer data is copied to the interface, so the caller can free this buffer after making this call.

cbValue [in]

The size of the value pointed to by pValue, in bytes.

Return value

The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return code Description
S_OK
The method succeeded.

Remarks

If an existing value has the same key that is specified by the key parameter, it overwrites the existing value without any warning. The existing key memory is released appropriately.

Setting a NULL or a zero-sized buffer is not supported.

Requirements

Requirement Value
Header
PortableDeviceTypes.h
Library
PortableDeviceGUIDs.lib

See also

IPortableDeviceValues Interface

IPortableDeviceValues::GetBufferValue