Contents

QUEUENAME

Tells the system to execute a method on the dispatch queue with the specified name.

Declaration

#define QUEUENAME(name)

Parameters

  • name:

    The name of the instance variable that contains an Iodispatchqueue object.

Discussion

Add this macro to the end of your method declaration in the .iig file of your class. When this macro is present, DriverKit executes your method on the dispatch queue with the specified name. You must register the dispatch queues your driver uses by calling the SetDispatchQueue method as part of your driver’s configuration. The following code listing shows the declaration of a method that handles asynchronous I/O for a USB pipe. DriverKit executes the method on a previously registered dispatch queue with the name tx_pipe_dq.

TxComplete (OSAction            *action,
            uint32_t             ioCompletionIndex,
            uint32_t             ioCompletionCount,
            const uint32_t       actualByteCountArray[kIOUSBHostPipeBundlingMax],
            int                  actualByteCountArrayCount,
            const kern_return_t  statusArray[kIOUSBHostPipeBundlingMax],
            int                  statusArrayCount) TYPE(IOUSBHostPipe::CompleteAsyncIOBundled) QUEUENAME(tx_pipe_dq);

See Also

Runtime support