According to Communicating Between a DriverKit Extension and a Client App we can use IOConnectCallScalarMethod
to send/get data to Driver.
We use unchecked variation of IOConnectCallScalarMethod
to call method in our Driver from Client App. In a Driver's method we set arguments->scalarOutputCount
greater than 16. However in a Client app outputCount equal to 16, so we can get only a portion of output.
Is 16 limit enforced by IOConnectCallScalarMethod
implementation? How we can get more than 16? Should we use IOConnectCallStructMethod
instead?