#ifndef _NTPSAPI_H
// Threads
#if (PHNT_MODE != PHNT_MODE_KERNEL)
/**
* A pointer to a function that serves as an APC routine.
*
* @param ApcArgument1 Optional. A pointer to the first argument to be passed to the APC routine.
* @param ApcArgument2 Optional. A pointer to the second argument to be passed to the APC routine.
* @param ApcArgument3 Optional. A pointer to the third argument to be passed to the APC routine.
* @return VOID This function does not return a value.
*/
typedef VOID (NTAPI* PPS_APC_ROUTINE)(
_In_opt_ PVOID ApcArgument1,
_In_opt_ PVOID ApcArgument2,
_In_opt_ PVOID ApcArgument3
);
View code on GitHub
This prototype defines the function to use as an APC routine.
Note that user APCs on the Native API level have three parameters in contrast with the Win32 APCs that only have one.