SUPERDISPATCH
Tells the system to execute the superclass’ implementation of the current method in the kernel.
Declaration
#define SUPERDISPATCHMentioned in
Discussion
When calling the DriverKit implementation of a method that runs in the kernel, use this macro to bridge from your driver extension’s process space to the superclass’ version of the method. You must use this macro to call inherited DriverKit methods annotated with the IIG_KERNEL macro.
To use this macro, call the original method without the super prefix and insert this macro as the final parameter in the parameter list. For example, the following code shows how to call the inherited version of the Start method from a custom IOService subclass.
kern_return_t IMPL(MyCustomService, Start)
{
kern_return_t ret;
ret = Start(provider, SUPERDISPATCH);
// Other Start code...
}Don’t use this macro when calling the inherited version of a DriverKit method marked with the LOCALONLY macro.