---
title: "ODRecordCopyDetails(_:_:_:)"
framework: opendirectory
role: symbol
role_heading: Function
path: "opendirectory/odrecordcopydetails(_:_:_:)"
---

# ODRecordCopyDetails(_:_:_:)

Returns the values of a record’s attributes.

## Declaration

```swift
func ODRecordCopyDetails(_ record: ODRecordRef!, _ attributes: CFArray!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>!) -> Unmanaged<CFDictionary>!
```

## Parameters

- `record`: The record.
- `attributes`: An array of attributes to return values for. Elements are of type CFStringRef or ODAttributeType. If NULL, all currently fetched values are returned.
- `error`: An error reference for error details. Can be NULL.

## Return Value

Return Value The attribute values of the record.

## Discussion

Discussion The returned values are of type CFString or CFData, depending on the type of attribute. If inAttributes is not NULL and a requested attribute has not been fetched before, it is fetched in order to return its value.

## See Also

### Related Documentation

- [General Attribute Types](opendirectory/general-attribute-types.md)

### Working with Records

- [ODRecordAddMember(_:_:_:)](opendirectory/odrecordaddmember(_:_:_:).md)
- [ODRecordAddValue(_:_:_:_:)](opendirectory/odrecordaddvalue(_:_:_:_:).md)
- [ODRecordChangePassword(_:_:_:_:)](opendirectory/odrecordchangepassword(_:_:_:_:).md)
- [ODRecordContainsMember(_:_:_:)](opendirectory/odrecordcontainsmember(_:_:_:).md)
- [ODRecordCopyValues(_:_:_:)](opendirectory/odrecordcopyvalues(_:_:_:).md)
- [ODRecordDelete(_:_:)](opendirectory/odrecorddelete(_:_:).md)
- [ODRecordGetRecordName(_:)](opendirectory/odrecordgetrecordname(_:).md)
- [ODRecordGetRecordType(_:)](opendirectory/odrecordgetrecordtype(_:).md)
- [ODRecordGetTypeID()](opendirectory/odrecordgettypeid().md)
- [ODRecordRemoveMember(_:_:_:)](opendirectory/odrecordremovemember(_:_:_:).md)
- [ODRecordRemoveValue(_:_:_:_:)](opendirectory/odrecordremovevalue(_:_:_:_:).md)
- [ODRecordSetNodeCredentials(_:_:_:_:)](opendirectory/odrecordsetnodecredentials(_:_:_:_:).md)
- [ODRecordSetNodeCredentialsExtended(_:_:_:_:_:_:_:)](opendirectory/odrecordsetnodecredentialsextended(_:_:_:_:_:_:_:).md)
- [ODRecordSetValue(_:_:_:_:)](opendirectory/odrecordsetvalue(_:_:_:_:).md)
- [ODRecordSynchronize(_:_:)](opendirectory/odrecordsynchronize(_:_:).md)
