<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: 17.0.0 -",
    "macOS: 14.0.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 10.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreMedia",
  "identifier" : "/documentation/CoreMedia/CMTagCollectionGetTags",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "Core Media"
    ],
    "preciseIdentifier" : "c:@F@CMTagCollectionGetTags"
  },
  "title" : "CMTagCollectionGetTags"
}
-->

# CMTagCollectionGetTags

Retrieves an arbitrary number of tags from the collection.

```
extern OSStatus CMTagCollectionGetTags(CMTagCollectionRef tagCollection, CMTag *tagBuffer, CMItemCount tagBufferCount, CMItemCount *numberOfTagsCopied);
```

## Parameters

`tagCollection`

The collection to retrieve tags from.

`tagBuffer`

A pointer to a pre-allocated C-style array of tags.

`tagBufferCount`

The number of tags that the `tagBuffer` array can hold.

`numberOfTagsCopied`

The total number of tags copied from the collection to `tagBuffer`. This output value is either `0`, the number of tags in the collection, or `tagBufferCount`.

## Return Value

Returns `0` on success and a value from Tag Collection Error Codes on failure.

## Discussion

> Warning:
> Using a value for `tagBufferCount` larger than the number of elements that `tagBuffer` can hold can cause undefined behavior.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)