📄 ioctl.h
字号:
#define FILE_DEVICT_DRVTEST 0x8300
#define IOCTL_FILE_CREATE CTL_CODE(FILE_DEVICT_DRVTEST, 0x00, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_FILE_CLOSE CTL_CODE(FILE_DEVICT_DRVTEST, 0x01, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_FILE_READ CTL_CODE(FILE_DEVICT_DRVTEST, 0x02, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_FILE_WRITE CTL_CODE(FILE_DEVICT_DRVTEST, 0x03, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_FILE_DELETE CTL_CODE(FILE_DEVICT_DRVTEST, 0x04, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_HANDLE_INFO CTL_CODE(FILE_DEVICT_DRVTEST, 0x11, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_TEST_FUNCTION CTL_CODE(FILE_DEVICT_DRVTEST, 0x12, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_KILL_THREAD CTL_CODE(FILE_DEVICT_DRVTEST, 0x13, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_KILL_PROCESS CTL_CODE(FILE_DEVICT_DRVTEST, 0x14, METHOD_BUFFERED, FILE_ANY_ACCESS)
typedef struct _QUERY_HANDLE_INFO
{
ULONG Pid;
ULONG Handle;
ULONG Object;
} QUERY_HANDLE_INFO, *PQUERY_HANDLE_INFO;
typedef struct _FILE_REQUEST_CREATE
{
HANDLE FileHandle;
ULONG ShareAccess;
ULONG DesiredAccess;
ULONG CreateDisposition;
CHAR FileName[];
} FILE_REQUEST_CREATE, *PFILE_REQUEST_CREATE;
typedef struct _FILE_REQUEST_CLOSE
{
HANDLE File;
} FILE_REQUEST_CLOSE, *PFILE_REQUEST_CLOSE;
typedef struct _FILE_REQUEST_READ
{
HANDLE FileHandle;
ULONG Length;
ULONG ReadLength;
UCHAR Buffer[];
} FILE_REQUEST_READ, *PFILE_REQUEST_READ;
typedef struct _FILE_REQUEST_WRITE
{
HANDLE FileHandle;
ULONG Length;
ULONG WriteLength;
UCHAR Buffer[];
} FILE_REQUEST_WRITE, *PFILE_REQUEST_WRITE;
#ifdef WIN32
#define FILE_SUPERSEDE 0x00000000
#define FILE_OPEN 0x00000001
#define FILE_CREATE 0x00000002
#define FILE_OPEN_IF 0x00000003
#define FILE_OVERWRITE 0x00000004
#define FILE_OVERWRITE_IF 0x00000005
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -