Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Core Foundation objects can be allocated from either the auto zone (garbage collected) or from the malloc zone (non-garbage collected). You specify which zone to use for the object by the value of the allocator argument of the CFxxxCreate routine used to create the object. If you specify NULL, kCFAllocatorDefault, or kCFAllocatorSystemDefault, the object comes from the auto zone. If you specify kCFAllocatorMallocZone or kCFAllocatorMalloc, the object comes from the malloc zone.
Core Foundation objects allocated from the malloc zone behave the same way as they do under reference counting. They are returned from the create routines with a reference count of one. When their reference count drops to zero, they are immediately deallocated.