---
title: "CVBufferCopyAttachment(_:_:_:)"
framework: corevideo
role: symbol
role_heading: Function
path: "corevideo/cvbuffercopyattachment(_:_:_:)"
---

# CVBufferCopyAttachment(_:_:_:)

Returns a copy of an attachment from a Core Video buffer.

## Declaration

```swift
func CVBufferCopyAttachment(_ buffer: CVBuffer, _ key: CFString, _ attachmentMode: UnsafeMutablePointer<CVAttachmentMode>?) -> CFTypeRef?
```

## Parameters

- `buffer`: A buffer with an attachment to copy.
- `key`: A string that identifies the attachment, which can be of any doc://com.apple.documentation/documentation/CoreFoundation/CFTypeRef. See doc://com.apple.corevideo/documentation/CoreVideo/cvbuffer-attachment-keys and doc://com.apple.corevideo/documentation/CoreVideo/image-buffer-attachment-keys for predefined values.
- `attachmentMode`: On output, this value points to the mode of the attachment. See doc://com.apple.corevideo/documentation/CoreVideo/CVAttachmentMode for possible values. This value is doc://com.apple.documentation/documentation/ObjectiveC/nil-227m0 if the buffer doesn’t define an attachment mode.

## Return Value

Return Value The requested attachment, or nil if no attachment for the specified key exists.

## Discussion

Discussion This function returns a retained attachment value, which you need to release when you’re done with it.

## See Also

### Working with attachments

- [CVBufferHasAttachment(_:_:)](corevideo/cvbufferhasattachment(_:_:).md)
- [CVBufferCopyAttachments(_:_:)](corevideo/cvbuffercopyattachments(_:_:).md)
- [CVBufferSetAttachment(_:_:_:_:)](corevideo/cvbuffersetattachment(_:_:_:_:).md)
- [CVBufferSetAttachments(_:_:_:)](corevideo/cvbuffersetattachments(_:_:_:).md)
- [CVBufferPropagateAttachments(_:_:)](corevideo/cvbufferpropagateattachments(_:_:).md)
- [CVBufferRemoveAttachment(_:_:)](corevideo/cvbufferremoveattachment(_:_:).md)
- [CVBufferRemoveAllAttachments(_:)](corevideo/cvbufferremoveallattachments(_:).md)
- [CVBufferGetAttachment(_:_:_:)](corevideo/cvbuffergetattachment(_:_:_:).md)
- [CVBufferGetAttachments(_:_:)](corevideo/cvbuffergetattachments(_:_:).md)
