IWMHeaderInfo3::ModifyAttribute method (wmsdkidl.h)
[The feature associated with this page, Windows Media Format 11 SDK, is a legacy feature. It has been superseded by Source Reader and Sink Writer. Source Reader and Sink Writer have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader and Sink Writer instead of Windows Media Format 11 SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
The ModifyAttribute method modifies the settings of an existing attribute.
Syntax
HRESULT ModifyAttribute(
[in] WORD wStreamNum,
[in] WORD wIndex,
[in] WMT_ATTR_DATATYPE Type,
[in] WORD wLangIndex,
[in] const BYTE *pValue,
[in] DWORD dwLength
);
Parameters
[in] wStreamNum
WORD containing the stream number to which the attribute applies. Pass zero for file-level attributes.
[in] wIndex
WORD containing the index of the attribute to change.
[in] Type
Type of data used for the new attribute value. For more information about the types of data supported, see WMT_ATTR_DATATYPE.
[in] wLangIndex
WORD containing the language index of the language to be associated with the new attribute. This is the index of the language in the language list for the file.
[in] pValue
Pointer to an array of bytes containing the attribute value.
[in] dwLength
DWORD containing the length of the attribute value, 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 |
---|---|
|
The method succeeded. |
|
An illegal parameter combination, data type, or attribute name was used. |
|
The method is not implemented on a reader object. |
|
A pointer is not valid. |
|
The attribute cannot be changed. |
|
wStreamNum is not a valid stream number, or there is no attribute at wIndex. |
Remarks
You can use 0xFFFF for the stream number to specify an attribute using its global index. Global index values range from 0 to one less than the count of attributes received from a call to IWMHeaderInfo3::GetAttributeCountEx where the stream number was set to 0xFFFF.
When setting attributes for MP3 files, the metadata editor will automatically insert a byte-order mark in accordance with the Unicode specification. If you manually insert a byte-order mark, this method will not fail, but the value will then have two marks, which can cause problems when reading the attribute.
The objects of the Windows Media Format SDK perform type checking on some supported metadata attributes, but not all of them. You should ensure that any attributes you use are set using the data type specified in the Attributes section of this documentation. Likewise, you cannot assume that an attribute set by another application will use the correct data type.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only],Windows Media Format 9 Series SDK, or later versions of the SDK |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | wmsdkidl.h (include Wmsdk.h) |
Library | Wmvcore.lib; WMStubDRM.lib (if you use DRM) |