pub unsafe extern "C-unwind" fn IORegistryEntrySearchCFProperty(
entry: io_registry_entry_t,
plane: *mut [c_char; 128],
key: Option<&CFString>,
allocator: Option<&CFAllocator>,
options: IOOptionBits,
) -> Option<CFRetained<CFType>>libc only.Expand description
Create a CF representation of a registry entry’s property.
This function creates an instantaneous snapshot of a registry entry property, creating a CF container analogue in the caller’s task. Not every object available in the kernel is represented as a CF container; currently OSDictionary, OSArray, OSSet, OSSymbol, OSString, OSData, OSNumber, OSBoolean are created as their CF counterparts. This function will search for a property, starting first with specified registry entry’s property table, then iterating recusively through either the parent registry entries or the child registry entries of this entry. Once the first occurrence is found, it will lookup and return the value of the property, using the same semantics as IORegistryEntryCreateCFProperty. The iteration keeps track of entries that have been recursed into previously to avoid loops.
Parameter entry: The registry entry at which to start the search.
Parameter plane: The name of an existing registry plane. Plane names are defined in IOKitKeys.h, eg. kIOServicePlane.
Parameter key: A CFString specifying the property name.
Parameter allocator: The CF allocator to use when creating the CF container.
Parameter options: kIORegistryIterateRecursively may be set to recurse automatically into the registry hierarchy. Without this option, this method degenerates into the standard IORegistryEntryCreateCFProperty() call. kIORegistryIterateParents may be set to iterate the parents of the entry, in place of the children.
Returns: A CF container is created and returned the caller on success. The caller should release with CFRelease.