# IRdChunkTags Interface Reference

Inherits IDispatch.

List of all members.

## Public Member Functions
HRESULT | Clear (void)
HRESULT | IsSupportedTagVal ([in] VARIANT *pvValue)
HRESULT | SetTagVal ([in] BSTR bstrTagName,[in] VARIANT *pvValue)
HRESULT | GetTagVal ([in] BSTR bstrTagName,[out, retval] VARIANT *pvValue)
HRESULT | SetTagFlags ([in] BSTR bstrTagName,[in] RtDWORD dwFlags)
HRESULT | GetTagFlags ([in] BSTR bstrTagName,[out, retval] RtDWORD *pdwFlags)
HRESULT | DeleteTag ([in] BSTR bstrTagName)
HRESULT | GetTagIndex ([in] BSTR bstrTagName,[out, retval] RtDWORD *pdwIndex)
HRESULT | GetTagNameByIndex ([in] RtDWORD dwIndex,[out, retval] BSTR *pbstrTagName)
HRESULT | GetTagValByIndex ([in] RtDWORD dwIndex,[out, retval] VARIANT *pvValue)
HRESULT | GetTagFlagsByIndex ([in] RtDWORD dwIndex,[out, retval] RtDWORD *pdwFlags)
HRESULT | SetTag ([in] BSTR bstrTagName,[in] VARIANT *pvValue,[in] RtDWORD dwFlags)
## Properties
RtDWORD * | TagsCount`[get]`

## Detailed Description

Tags chunk allows you to add additional notes and tags for the stream. These tags then allows you to sort and filter objects.

## Member Function Documentation

HRESULT IRdChunkTags::Clear | ( | void |  | ) |

Delete all the tags.

HRESULT IRdChunkTags::IsSupportedTagVal | ( | [in] VARIANT * | pvValue | ) |

Check if the value can be stored in a tag.

Parameters:

  | pvValue | [in] - the value to be checked

Returns:
  S_OK if the value can be stored in a tag, or S_FALSE if it cannot be stored.

HRESULT IRdChunkTags::SetTagVal | ( | [in] BSTR | bstrTagName,
|  | [in] VARIANT * | pvValue |
| ) |  |  |

Set tag's value. If the tag doesn't exist yet, it will be created.

Parameters:

  | bstrTagName | [in] - tag's name.
  | pvValue | [in] - the value that will be stored with the tag.

HRESULT IRdChunkTags::GetTagVal | ( | [in] BSTR | bstrTagName,
|  | [out, retval] VARIANT * | pvValue |
| ) |  |  |

Get tag's value.

Parameters:

  | bstrTagName | [in] - tag's name.
  | pvValue | [out, retval] - returns the value.

Returns:
  S_OK if the tag exists, or E_INVALIDARG if it was not found.

HRESULT IRdChunkTags::SetTagFlags | ( | [in] BSTR | bstrTagName,
|  | [in] RtDWORD | dwFlags |
| ) |  |  |

Set tag's flags. If the tag doesn't exist yet, it will be created.

Parameters:

  | bstrTagName | [in] - Tag's name.
  | dwFlags | [in] - Flag that will be stored with the tag. See RdChunkTags::ReChunkTagsFlags.

HRESULT IRdChunkTags::GetTagFlags | ( | [in] BSTR | bstrTagName,
|  | [out, retval] RtDWORD * | pdwFlags |
| ) |  |  |

Get tag's flags.

Parameters:

  | bstrTagName | [in] - Tag's name.
  | dwFlags | [out, retval] - Returns tag's flag. See RdChunkTags::ReChunkTagsFlags.

HRESULT IRdChunkTags::DeleteTag | ( | [in] BSTR | bstrTagName | ) |

Delete specified tag.

Parameters:

  | bstrTagName | [in] - tag's name.

HRESULT IRdChunkTags::GetTagIndex | ( | [in] BSTR | bstrTagName,
|  | [out, retval] RtDWORD * | pdwIndex |
| ) |  |  |

Get tag's index by name.

Parameters:

  | bstrTagName | [in] - tag's name.
  | pdwIndex | [out, retval] - Returns tag's index if it is found. If it isn't then -1 is returned.

HRESULT IRdChunkTags::GetTagNameByIndex | ( | [in] RtDWORD | dwIndex,
|  | [out, retval] BSTR * | pbstrTagName |
| ) |  |  |

Get tag's name.

Parameters:

  | dwIndex | [in] - tag's index.
  | pbstrTagName | [out, retval] - returns tag's name.

Returns:
  S_OK if the index is in range or E_INVALIDARG if it isn't.

HRESULT IRdChunkTags::GetTagValByIndex | ( | [in] RtDWORD | dwIndex,
|  | [out, retval] VARIANT * | pvValue |
| ) |  |  |

Get tag's value.

Parameters:

  | dwIndex | [in] - tag's index.
  | pvValue | [out, retval] - returns the value.

Returns:
  S_OK if the index is in range or E_INVALIDARG if it isn't.

HRESULT IRdChunkTags::GetTagFlagsByIndex | ( | [in] RtDWORD | dwIndex,
|  | [out, retval] RtDWORD * | pdwFlags |
| ) |  |  |

Get tag's flag by index.

Parameters:

  | dwIndex | [in] - tag's index.
  | pdwFlags | [out, retval] - returns tag's flag.

Returns:
  S_OK if the index is in range or E_INVALIDARG if it isn't. See RdChunkTags::ReChunkTagsFlags.

HRESULT IRdChunkTags::SetTag | ( | [in] BSTR | bstrTagName,
|  | [in] VARIANT * | pvValue,
|  | [in] RtDWORD | dwFlags |
| ) |  |  |

Replace tag's value.

Parameters:

  | bstrTagName | [in] - tag's name.
  | pvValue | [in] - the value that will be stored with the tag.
  | dwFlags | [in] - Flags that will be stored with the tag. See RdChunkTags::ReChunkTagsFlags.

## Property Documentation

RtDWORD * IRdChunkTags::TagsCount`[get]`

Get tags count.

Parameters:

  | pdwCount | [out, retval] - returns tags count