QUEUE_USER_APC_FLAGS enumeration (processthreadsapi.h)

Specifies the modifier flags for user-mode asynchronous procedure call (APC) objects.

Syntax

typedef enum _QUEUE_USER_APC_FLAGS {
  QUEUE_USER_APC_FLAGS_NONE,
  QUEUE_USER_APC_FLAGS_SPECIAL_USER_APC,
  QUEUE_USER_APC_CALLBACK_DATA_CONTEXT
} QUEUE_USER_APC_FLAGS;

Constants

 
QUEUE_USER_APC_FLAGS_NONE
No flags are passed. Behavior is identical to QueueUserAPC function.
QUEUE_USER_APC_FLAGS_SPECIAL_USER_APC
Queue a special user-mode APC instead of a regular user-mode APC.
QUEUE_USER_APC_CALLBACK_DATA_CONTEXT
Receive the processor context that was interrupted when the thread was directed to call the APC function.

Remarks

The Parameter argument of the PAPCFUNC callback function is modified to point to an APC_CALLBACK_DATA structure (see below), which contains the original Parameter argument, a pointer to the interrupted processor context, and reserved fields.

typedef struct _APC_CALLBACK_DATA {
    ULONG_PTR Parameter;
    PCONTEXT ContextRecord;
    ULONG_PTR Reserved0;
    ULONG_PTR Reserved1;
} APC_CALLBACK_DATA, *PAPC_CALLBACK_DATA;

Requirements

Requirement Value
Minimum supported client Windows Build 22000
Minimum supported server Windows Build 22000
Header processthreadsapi.h (include Windows.h)

See also

QueueUserAPC2