Creates a property list using data from a stream.


func CFPropertyListCreateFromStream(_ allocator: CFAllocator!, _ stream: CFReadStream!, _ streamLength: CFIndex, _ mutabilityOption: CFOptionFlags, _ format: UnsafeMutablePointer<CFPropertyListFormat>!, _ errorString: UnsafeMutablePointer<Unmanaged<CFString>?>!) -> Unmanaged<CFPropertyList>!



The allocator to use to allocate memory for the new property list. Pass NULL or kCFAllocatorDefault to use the current default allocator.


The stream whose data contains the content. The stream must be opened and configured—this function simply reads bytes from the stream. The stream may contain any supported property list type (see CFPropertyListFormat).


The number of bytes to read. If 0, this function will read to the end of the stream.


A constant that specifies the degree of mutability for the returned property list. See Property List Mutability Options for descriptions of possible values.


A constant that specifies the format of the property list. See CFPropertyListFormat for possible values.


On return, NULL if the conversion is successful, otherwise a string that describes the nature of the error. Error messages are not localized, but may be in the future, so they are not suitable for comparison.

Pass NULL if you do not wish to receive an error string. Ownership follows the The Create Rule.

Return Value

A new property list initialized with the data contained in stream. Ownership follows the The Create Rule.


This function simply reads bytes from stream starting at the current location to the end, which is expected to be the end of the property list, or up to the number of bytes specified by streamLength if it is not 0.

Special Considerations