<!--
{
  "availability" : [
    "DriverKit: -",
    "iOS: -",
    "iPadOS: -",
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "DriverKit",
  "identifier" : "/documentation/DriverKit/IOUserClientMethodArguments",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "DriverKit"
    ],
    "preciseIdentifier" : "c:@S@IOUserClientMethodArguments"
  },
  "title" : "IOUserClientMethodArguments"
}
-->

# IOUserClientMethodArguments

Arguments to pass to IOConnectMethod calls.

```
struct IOUserClientMethodArguments;
```

## Discussion

Any argument may be passed as NULL if not passed by the caller.

## Topics

### Getting the Method Arguments

[`version`](/documentation/DriverKit/IOUserClientMethodArguments/version)

[`selector`](/documentation/DriverKit/IOUserClientMethodArguments/selector)

The index of the method you want to execute.

[`completion`](/documentation/DriverKit/IOUserClientMethodArguments/completion)

An action for processing asynchronous data received from the service.

[`scalarInput`](/documentation/DriverKit/IOUserClientMethodArguments/scalarInput)

An array of scalars from the caller.

[`scalarInputCount`](/documentation/DriverKit/IOUserClientMethodArguments/scalarInputCount)

The number of scalars provided by the caller.

[`structureInput`](/documentation/DriverKit/IOUserClientMethodArguments/structureInput)

A data object containing the structure input from the IOKit connect method.

[`structureInputDescriptor`](/documentation/DriverKit/IOUserClientMethodArguments/structureInputDescriptor)

A memory descriptor containing structure input from the IOKit connect method.

[`scalarOutput`](/documentation/DriverKit/IOUserClientMethodArguments/scalarOutput)

An array of scalars to return to the caller.

[`scalarOutputCount`](/documentation/DriverKit/IOUserClientMethodArguments/scalarOutputCount)

The number of scalars to return to the caller.

[`structureOutput`](/documentation/DriverKit/IOUserClientMethodArguments/structureOutput)

A data object to return to the caller as structure output.

[`structureOutputDescriptor`](/documentation/DriverKit/IOUserClientMethodArguments/structureOutputDescriptor)

An IOMemoryDescriptor specified by the caller for structure output.

[`structureOutputMaximumSize`](/documentation/DriverKit/IOUserClientMethodArguments/structureOutputMaximumSize)

The maximum size of the output structure that you specified.

### Getting Type Information

[`IOUserClientScalarArray`](/documentation/DriverKit/IOUserClientScalarArray)

[Scalar Array Sizes](/documentation/DriverKit/3325605-scalar_array_sizes)

[Output Maximum Size](/documentation/DriverKit/3325606-output_maximum_size)

Constant to denote a variable length structure argument to IOUserClient.

[Version Information](/documentation/DriverKit/3325604-version_information)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)