-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathgui.h
142 lines (110 loc) · 1.76 KB
/
gui.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#ifndef _GUI_H_
#define _GUI_H_
#ifndef STATUS_INVALID_PARAMETER
typedef ULONG NTSTATUS;
#include <ntstatus.h>
#define NT_SUCCESS(X) ((X)>=0)
typedef struct _UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
} UNICODE_STRING;
typedef enum _POOL_TYPE {
NonPagedPool,
PagedPool,
} POOL_TYPE;
extern "C"
{
PVOID
NTAPI
ExAllocatePoolWithTag (
IN POOL_TYPE PoolType,
IN SIZE_T NumberOfBytes,
IN ULONG Tag
);
VOID
NTAPI
ExFreePool(
IN PVOID P
);
}
#else
#define PBITMAPINFOHEADER PVOID
#define PBITMAPFILEHEADER PVOID
#define HBITMAP PVOID
typedef struct _SURFOBJ SURFOBJ;
#endif
typedef struct LOADED_BITMAP
{
PBITMAPINFOHEADER info;
union
{
PVOID pBitmap;
PBITMAPFILEHEADER hdr;
};
PVOID pvBits;
ULONG_PTR iMappedFile;
} *PLOADED_BITMAP;
typedef struct _MDL *PMDL;
PMDL LockMem (PVOID Buffer, ULONG Size);
VOID UnlockMem (PMDL Mdl);
typedef struct FONT_PARAMETERS
{
ULONG FontNumber;
ULONG CharWidth;
ULONG CharHeight;
UNICODE_STRING FileName;
LOADED_BITMAP LoadedFont;
HBITMAP hFontBitmap;
SURFOBJ *pFontSurf;
PMDL pFontMdl;
} *PFONT_PARAMETERS;
extern "C"
{
extern
NTSTATUS
(*GuiLoadBitmap)(
PWSTR BitmapFileName,
PLOADED_BITMAP Bitmap
);
extern
VOID
(*GuiUnloadBitmap)(
PLOADED_BITMAP Bitmap
);
extern
NTSTATUS
(*GuiLoadActiveFont)(
);
extern
VOID
(*GuiUnloadFont)(
);
extern
ULONG
(*GuiGetCharFontPosition)(
IN CHAR c
);
extern
VOID
(*GuiScrollLines)(
IN ULONG nLines
);
extern
VOID
(*GuiTextOut)(
IN PCHAR Text
);
extern
VOID
(_cdecl
*GuiPrintf)(
IN PCHAR Format,
...
);
}
BOOLEAN
DisplayBuffer(
);
#define LINUX_LF_OUTPUT 1
#endif