mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 05:55:42 +00:00
[BLUE] Add IOCTL buffers validation. Addendum to commit bfd8a848
.
Also convert all sizes and positions of CONSOLE_DRAW to USHORT since this is the standard type for all console buffer positions & sizes (minimum value 0, maximum value 0xFFFF == 65535).
This commit is contained in:
parent
ff29d18002
commit
afb14bff33
2 changed files with 371 additions and 124 deletions
|
@ -11,13 +11,13 @@
|
|||
#define IOCTL_CONSOLE_SET_MODE CTL_CODE(FILE_DEVICE_SCREEN, 0x806, METHOD_BUFFERED, FILE_WRITE_ACCESS)
|
||||
|
||||
#define IOCTL_CONSOLE_FILL_OUTPUT_ATTRIBUTE CTL_CODE(FILE_DEVICE_SCREEN, 0x810, METHOD_BUFFERED, FILE_WRITE_ACCESS)
|
||||
#define IOCTL_CONSOLE_READ_OUTPUT_ATTRIBUTE CTL_CODE(FILE_DEVICE_SCREEN, 0x811, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
|
||||
#define IOCTL_CONSOLE_WRITE_OUTPUT_ATTRIBUTE CTL_CODE(FILE_DEVICE_SCREEN, 0x812, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
|
||||
#define IOCTL_CONSOLE_READ_OUTPUT_ATTRIBUTE CTL_CODE(FILE_DEVICE_SCREEN, 0x811, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
|
||||
#define IOCTL_CONSOLE_WRITE_OUTPUT_ATTRIBUTE CTL_CODE(FILE_DEVICE_SCREEN, 0x812, METHOD_IN_DIRECT, FILE_WRITE_ACCESS)
|
||||
#define IOCTL_CONSOLE_SET_TEXT_ATTRIBUTE CTL_CODE(FILE_DEVICE_SCREEN, 0x813, METHOD_BUFFERED, FILE_WRITE_ACCESS)
|
||||
|
||||
#define IOCTL_CONSOLE_FILL_OUTPUT_CHARACTER CTL_CODE(FILE_DEVICE_SCREEN, 0x820, METHOD_BUFFERED, FILE_WRITE_ACCESS)
|
||||
#define IOCTL_CONSOLE_READ_OUTPUT_CHARACTER CTL_CODE(FILE_DEVICE_SCREEN, 0x821, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
|
||||
#define IOCTL_CONSOLE_WRITE_OUTPUT_CHARACTER CTL_CODE(FILE_DEVICE_SCREEN, 0x822, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
|
||||
#define IOCTL_CONSOLE_READ_OUTPUT_CHARACTER CTL_CODE(FILE_DEVICE_SCREEN, 0x821, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
|
||||
#define IOCTL_CONSOLE_WRITE_OUTPUT_CHARACTER CTL_CODE(FILE_DEVICE_SCREEN, 0x822, METHOD_IN_DIRECT, FILE_WRITE_ACCESS)
|
||||
|
||||
#define IOCTL_CONSOLE_DRAW CTL_CODE(FILE_DEVICE_SCREEN, 0x830, METHOD_IN_DIRECT, FILE_WRITE_ACCESS)
|
||||
|
||||
|
@ -48,12 +48,12 @@ typedef struct tagOUTPUT_CHARACTER
|
|||
|
||||
typedef struct tagCONSOLE_DRAW
|
||||
{
|
||||
ULONG X; /* Origin */
|
||||
ULONG Y;
|
||||
ULONG SizeX; /* Size of the screen buffer (chars) */
|
||||
ULONG SizeY;
|
||||
ULONG CursorX; /* New cursor position (screen-relative) */
|
||||
ULONG CursorY;
|
||||
USHORT X; /* Origin */
|
||||
USHORT Y;
|
||||
USHORT SizeX; /* Size of the screen buffer (chars) */
|
||||
USHORT SizeY;
|
||||
USHORT CursorX; /* New cursor position (screen-relative) */
|
||||
USHORT CursorY;
|
||||
/* Followed by screen buffer in char/attrib format */
|
||||
} CONSOLE_DRAW, *PCONSOLE_DRAW;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue