Files
2020-06-03 01:13:21 +03:00

33 lines
825 B
C

#pragma once
#define SIMPLE_USER_APC_DEVICE_NAME_W L"SimpleUserApcDevice"
#define SIMPLE_USER_APC_DEVICE_NAME_A "SimpleUserApcDevice"
typedef VOID
(*PPS_APC_ROUTINE)(
PVOID SystemArgument1,
PVOID SystemArgument2,
PVOID SystemArgument3
);
typedef struct _SIMPLE_QUEUE_APC_THREAD {
HANDLE ThreadHandle;
PPS_APC_ROUTINE ApcRoutine;
PVOID SystemArgument1;
PVOID SystemArgument2;
PVOID SystemArgument3;
} SIMPLE_QUEUE_APC_THREAD, *PSIMPLE_QUEUE_APC_THREAD;
#define IOCTL_SIMPLE_USER_APC_QUEUE CTL_CODE(FILE_DEVICE_UNKNOWN, 0x1, METHOD_BUFFERED, FILE_ANY_ACCESS)
typedef struct _SIMPLE_USER_APC_WAIT {
HANDLE Event;
BOOLEAN Alertable;
LARGE_INTEGER Timeout;
} SIMPLE_USER_APC_WAIT, *PSIMPLE_USER_APC_WAIT;
#define IOCTL_SIMPLE_USER_APC_WAIT CTL_CODE(FILE_DEVICE_UNKNOWN, 0x2, METHOD_BUFFERED, FILE_ANY_ACCESS)