Map hardware or shared memory into the caller's task.
SDKs
- macOS 10.5+
- Mac Catalyst 13.0+
Framework
- IOKit
Declaration
kern _return _t IOConnectMapMemory64(io _connect _t connect, uint32_t memoryType, task _port _t intoTask, mach _vm _address _t *atAddress, mach _vm _size _t *ofSize, IOOption Bits options);
Parameters
connect
The connect handle created by IOServiceOpen.
memoryType
What is being requested to be mapped, not interpreted by IOKit and family defined. The family may support physical hardware or shared memory mappings.
intoTask
The task port for the task in which to create the mapping. This may be different to the task which the opened the connection.
atAddress
An in/out parameter - if the kIOMapAnywhere option is not set, the caller should pass the address where it requests the mapping be created, otherwise nothing need to set on input. The address of the mapping created is passed back on sucess.
ofSize
The size of the mapping created is passed back on success.
Return Value
A kern_return_t error code.
Discussion
This is a generic method to create a mapping in the callers task. The family will interpret the type parameter to determine what sort of mapping is being requested. Cache modes and placed mappings may be requested by the caller.