Process Hacker
ntgdi.h File Reference

Go to the source code of this file.

Data Structures

struct  _GDI_HANDLE_ENTRY
 
struct  _GDI_SHARED_MEMORY
 

Macros

#define GDI_MAX_HANDLE_COUNT   0x4000
 
#define GDI_HANDLE_INDEX_SHIFT   0
 
#define GDI_HANDLE_INDEX_BITS   16
 
#define GDI_HANDLE_INDEX_MASK   0xffff
 
#define GDI_HANDLE_TYPE_SHIFT   16
 
#define GDI_HANDLE_TYPE_BITS   5
 
#define GDI_HANDLE_TYPE_MASK   0x1f
 
#define GDI_HANDLE_ALTTYPE_SHIFT   21
 
#define GDI_HANDLE_ALTTYPE_BITS   2
 
#define GDI_HANDLE_ALTTYPE_MASK   0x3
 
#define GDI_HANDLE_STOCK_SHIFT   23
 
#define GDI_HANDLE_STOCK_BITS   1
 
#define GDI_HANDLE_STOCK_MASK   0x1
 
#define GDI_HANDLE_UNIQUE_SHIFT   24
 
#define GDI_HANDLE_UNIQUE_BITS   8
 
#define GDI_HANDLE_UNIQUE_MASK   0xff
 
#define GDI_HANDLE_INDEX(Handle)   ((ULONG)(Handle) & GDI_HANDLE_INDEX_MASK)
 
#define GDI_HANDLE_TYPE(Handle)   (((ULONG)(Handle) >> GDI_HANDLE_TYPE_SHIFT) & GDI_HANDLE_TYPE_MASK)
 
#define GDI_HANDLE_ALTTYPE(Handle)   (((ULONG)(Handle) >> GDI_HANDLE_ALTTYPE_SHIFT) & GDI_HANDLE_ALTTYPE_MASK)
 
#define GDI_HANDLE_STOCK(Handle)   (((ULONG)(Handle) >> GDI_HANDLE_STOCK_SHIFT)) & GDI_HANDLE_STOCK_MASK)
 
#define GDI_MAKE_HANDLE(Index, Unique)   ((ULONG)(((ULONG)(Unique) << GDI_HANDLE_INDEX_BITS) | (ULONG)(Index)))
 
#define GDI_DEF_TYPE   0
 
#define GDI_DC_TYPE   1
 
#define GDI_DD_DIRECTDRAW_TYPE   2
 
#define GDI_DD_SURFACE_TYPE   3
 
#define GDI_RGN_TYPE   4
 
#define GDI_SURF_TYPE   5
 
#define GDI_CLIENTOBJ_TYPE   6
 
#define GDI_PATH_TYPE   7
 
#define GDI_PAL_TYPE   8
 
#define GDI_ICMLCS_TYPE   9
 
#define GDI_LFONT_TYPE   10
 
#define GDI_RFONT_TYPE   11
 
#define GDI_PFE_TYPE   12
 
#define GDI_PFT_TYPE   13
 
#define GDI_ICMCXF_TYPE   14
 
#define GDI_ICMDLL_TYPE   15
 
#define GDI_BRUSH_TYPE   16
 
#define GDI_PFF_TYPE   17
 
#define GDI_CACHE_TYPE   18
 
#define GDI_SPACE_TYPE   19
 
#define GDI_DBRUSH_TYPE   20
 
#define GDI_META_TYPE   21
 
#define GDI_EFSTATE_TYPE   22
 
#define GDI_BMFD_TYPE   23
 
#define GDI_VTFD_TYPE   24
 
#define GDI_TTFD_TYPE   25
 
#define GDI_RC_TYPE   26
 
#define GDI_TEMP_TYPE   27
 
#define GDI_DRVOBJ_TYPE   28
 
#define GDI_DCIOBJ_TYPE   29
 
#define GDI_SPOOL_TYPE   30
 
#define GDI_CLIENT_TYPE_FROM_HANDLE(Handle)
 
#define GDI_CLIENT_TYPE_FROM_UNIQUE(Unique)   GDI_CLIENT_TYPE_FROM_HANDLE((ULONG)(Unique) << 16)
 
#define GDI_ALTTYPE_1   (1 << GDI_HANDLE_ALTTYPE_SHIFT)
 
#define GDI_ALTTYPE_2   (2 << GDI_HANDLE_ALTTYPE_SHIFT)
 
#define GDI_ALTTYPE_3   (3 << GDI_HANDLE_ALTTYPE_SHIFT)
 
#define GDI_CLIENT_BITMAP_TYPE   (GDI_SURF_TYPE << GDI_HANDLE_TYPE_SHIFT)
 
#define GDI_CLIENT_BRUSH_TYPE   (GDI_BRUSH_TYPE << GDI_HANDLE_TYPE_SHIFT)
 
#define GDI_CLIENT_CLIENTOBJ_TYPE   (GDI_CLIENTOBJ_TYPE << GDI_HANDLE_TYPE_SHIFT)
 
#define GDI_CLIENT_DC_TYPE   (GDI_DC_TYPE << GDI_HANDLE_TYPE_SHIFT)
 
#define GDI_CLIENT_FONT_TYPE   (GDI_LFONT_TYPE << GDI_HANDLE_TYPE_SHIFT)
 
#define GDI_CLIENT_PALETTE_TYPE   (GDI_PAL_TYPE << GDI_HANDLE_TYPE_SHIFT)
 
#define GDI_CLIENT_REGION_TYPE   (GDI_RGN_TYPE << GDI_HANDLE_TYPE_SHIFT)
 
#define GDI_CLIENT_ALTDC_TYPE   (GDI_CLIENT_DC_TYPE | GDI_ALTTYPE_1)
 
#define GDI_CLIENT_DIBSECTION_TYPE   (GDI_CLIENT_BITMAP_TYPE | GDI_ALTTYPE_1)
 
#define GDI_CLIENT_EXTPEN_TYPE   (GDI_CLIENT_BRUSH_TYPE | GDI_ALTTYPE_2)
 
#define GDI_CLIENT_METADC16_TYPE   (GDI_CLIENT_CLIENTOBJ_TYPE | GDI_ALTTYPE_3)
 
#define GDI_CLIENT_METAFILE_TYPE   (GDI_CLIENT_CLIENTOBJ_TYPE | GDI_ALTTYPE_2)
 
#define GDI_CLIENT_METAFILE16_TYPE   (GDI_CLIENT_CLIENTOBJ_TYPE | GDI_ALTTYPE_1)
 
#define GDI_CLIENT_PEN_TYPE   (GDI_CLIENT_BRUSH_TYPE | GDI_ALTTYPE_1)
 

Typedefs

typedef struct _GDI_HANDLE_ENTRY GDI_HANDLE_ENTRY
 
typedef struct _GDI_HANDLE_ENTRYPGDI_HANDLE_ENTRY
 
typedef struct _GDI_SHARED_MEMORY GDI_SHARED_MEMORY
 
typedef struct _GDI_SHARED_MEMORYPGDI_SHARED_MEMORY
 

Macro Definition Documentation

#define GDI_ALTTYPE_1   (1 << GDI_HANDLE_ALTTYPE_SHIFT)

Definition at line 73 of file ntgdi.h.

#define GDI_ALTTYPE_2   (2 << GDI_HANDLE_ALTTYPE_SHIFT)

Definition at line 74 of file ntgdi.h.

#define GDI_ALTTYPE_3   (3 << GDI_HANDLE_ALTTYPE_SHIFT)

Definition at line 75 of file ntgdi.h.

#define GDI_BMFD_TYPE   23

Definition at line 58 of file ntgdi.h.

#define GDI_BRUSH_TYPE   16

Definition at line 51 of file ntgdi.h.

#define GDI_CACHE_TYPE   18

Definition at line 53 of file ntgdi.h.

#define GDI_CLIENT_ALTDC_TYPE   (GDI_CLIENT_DC_TYPE | GDI_ALTTYPE_1)

Definition at line 85 of file ntgdi.h.

#define GDI_CLIENT_BITMAP_TYPE   (GDI_SURF_TYPE << GDI_HANDLE_TYPE_SHIFT)

Definition at line 77 of file ntgdi.h.

#define GDI_CLIENT_BRUSH_TYPE   (GDI_BRUSH_TYPE << GDI_HANDLE_TYPE_SHIFT)

Definition at line 78 of file ntgdi.h.

#define GDI_CLIENT_CLIENTOBJ_TYPE   (GDI_CLIENTOBJ_TYPE << GDI_HANDLE_TYPE_SHIFT)

Definition at line 79 of file ntgdi.h.

#define GDI_CLIENT_DC_TYPE   (GDI_DC_TYPE << GDI_HANDLE_TYPE_SHIFT)

Definition at line 80 of file ntgdi.h.

#define GDI_CLIENT_DIBSECTION_TYPE   (GDI_CLIENT_BITMAP_TYPE | GDI_ALTTYPE_1)

Definition at line 86 of file ntgdi.h.

#define GDI_CLIENT_EXTPEN_TYPE   (GDI_CLIENT_BRUSH_TYPE | GDI_ALTTYPE_2)

Definition at line 87 of file ntgdi.h.

#define GDI_CLIENT_FONT_TYPE   (GDI_LFONT_TYPE << GDI_HANDLE_TYPE_SHIFT)

Definition at line 81 of file ntgdi.h.

#define GDI_CLIENT_METADC16_TYPE   (GDI_CLIENT_CLIENTOBJ_TYPE | GDI_ALTTYPE_3)

Definition at line 88 of file ntgdi.h.

#define GDI_CLIENT_METAFILE16_TYPE   (GDI_CLIENT_CLIENTOBJ_TYPE | GDI_ALTTYPE_1)

Definition at line 90 of file ntgdi.h.

#define GDI_CLIENT_METAFILE_TYPE   (GDI_CLIENT_CLIENTOBJ_TYPE | GDI_ALTTYPE_2)

Definition at line 89 of file ntgdi.h.

#define GDI_CLIENT_PALETTE_TYPE   (GDI_PAL_TYPE << GDI_HANDLE_TYPE_SHIFT)

Definition at line 82 of file ntgdi.h.

#define GDI_CLIENT_PEN_TYPE   (GDI_CLIENT_BRUSH_TYPE | GDI_ALTTYPE_1)

Definition at line 91 of file ntgdi.h.

#define GDI_CLIENT_REGION_TYPE   (GDI_RGN_TYPE << GDI_HANDLE_TYPE_SHIFT)

Definition at line 83 of file ntgdi.h.

#define GDI_CLIENT_TYPE_FROM_HANDLE (   Handle)
Value:

Definition at line 69 of file ntgdi.h.

#define GDI_CLIENT_TYPE_FROM_UNIQUE (   Unique)    GDI_CLIENT_TYPE_FROM_HANDLE((ULONG)(Unique) << 16)

Definition at line 71 of file ntgdi.h.

#define GDI_CLIENTOBJ_TYPE   6

Definition at line 41 of file ntgdi.h.

#define GDI_DBRUSH_TYPE   20

Definition at line 55 of file ntgdi.h.

#define GDI_DC_TYPE   1

Definition at line 36 of file ntgdi.h.

#define GDI_DCIOBJ_TYPE   29

Definition at line 64 of file ntgdi.h.

#define GDI_DD_DIRECTDRAW_TYPE   2

Definition at line 37 of file ntgdi.h.

#define GDI_DD_SURFACE_TYPE   3

Definition at line 38 of file ntgdi.h.

#define GDI_DEF_TYPE   0

Definition at line 35 of file ntgdi.h.

#define GDI_DRVOBJ_TYPE   28

Definition at line 63 of file ntgdi.h.

#define GDI_EFSTATE_TYPE   22

Definition at line 57 of file ntgdi.h.

#define GDI_HANDLE_ALTTYPE (   Handle)    (((ULONG)(Handle) >> GDI_HANDLE_ALTTYPE_SHIFT) & GDI_HANDLE_ALTTYPE_MASK)

Definition at line 28 of file ntgdi.h.

#define GDI_HANDLE_ALTTYPE_BITS   2

Definition at line 15 of file ntgdi.h.

#define GDI_HANDLE_ALTTYPE_MASK   0x3

Definition at line 16 of file ntgdi.h.

#define GDI_HANDLE_ALTTYPE_SHIFT   21

Definition at line 14 of file ntgdi.h.

#define GDI_HANDLE_INDEX (   Handle)    ((ULONG)(Handle) & GDI_HANDLE_INDEX_MASK)

Definition at line 26 of file ntgdi.h.

#define GDI_HANDLE_INDEX_BITS   16

Definition at line 7 of file ntgdi.h.

#define GDI_HANDLE_INDEX_MASK   0xffff

Definition at line 8 of file ntgdi.h.

#define GDI_HANDLE_INDEX_SHIFT   0

Definition at line 6 of file ntgdi.h.

#define GDI_HANDLE_STOCK (   Handle)    (((ULONG)(Handle) >> GDI_HANDLE_STOCK_SHIFT)) & GDI_HANDLE_STOCK_MASK)

Definition at line 29 of file ntgdi.h.

#define GDI_HANDLE_STOCK_BITS   1

Definition at line 19 of file ntgdi.h.

#define GDI_HANDLE_STOCK_MASK   0x1

Definition at line 20 of file ntgdi.h.

#define GDI_HANDLE_STOCK_SHIFT   23

Definition at line 18 of file ntgdi.h.

#define GDI_HANDLE_TYPE (   Handle)    (((ULONG)(Handle) >> GDI_HANDLE_TYPE_SHIFT) & GDI_HANDLE_TYPE_MASK)

Definition at line 27 of file ntgdi.h.

#define GDI_HANDLE_TYPE_BITS   5

Definition at line 11 of file ntgdi.h.

#define GDI_HANDLE_TYPE_MASK   0x1f

Definition at line 12 of file ntgdi.h.

#define GDI_HANDLE_TYPE_SHIFT   16

Definition at line 10 of file ntgdi.h.

#define GDI_HANDLE_UNIQUE_BITS   8

Definition at line 23 of file ntgdi.h.

#define GDI_HANDLE_UNIQUE_MASK   0xff

Definition at line 24 of file ntgdi.h.

#define GDI_HANDLE_UNIQUE_SHIFT   24

Definition at line 22 of file ntgdi.h.

#define GDI_ICMCXF_TYPE   14

Definition at line 49 of file ntgdi.h.

#define GDI_ICMDLL_TYPE   15

Definition at line 50 of file ntgdi.h.

#define GDI_ICMLCS_TYPE   9

Definition at line 44 of file ntgdi.h.

#define GDI_LFONT_TYPE   10

Definition at line 45 of file ntgdi.h.

#define GDI_MAKE_HANDLE (   Index,
  Unique 
)    ((ULONG)(((ULONG)(Unique) << GDI_HANDLE_INDEX_BITS) | (ULONG)(Index)))

Definition at line 31 of file ntgdi.h.

#define GDI_MAX_HANDLE_COUNT   0x4000

Definition at line 4 of file ntgdi.h.

#define GDI_META_TYPE   21

Definition at line 56 of file ntgdi.h.

#define GDI_PAL_TYPE   8

Definition at line 43 of file ntgdi.h.

#define GDI_PATH_TYPE   7

Definition at line 42 of file ntgdi.h.

#define GDI_PFE_TYPE   12

Definition at line 47 of file ntgdi.h.

#define GDI_PFF_TYPE   17

Definition at line 52 of file ntgdi.h.

#define GDI_PFT_TYPE   13

Definition at line 48 of file ntgdi.h.

#define GDI_RC_TYPE   26

Definition at line 61 of file ntgdi.h.

#define GDI_RFONT_TYPE   11

Definition at line 46 of file ntgdi.h.

#define GDI_RGN_TYPE   4

Definition at line 39 of file ntgdi.h.

#define GDI_SPACE_TYPE   19

Definition at line 54 of file ntgdi.h.

#define GDI_SPOOL_TYPE   30

Definition at line 65 of file ntgdi.h.

#define GDI_SURF_TYPE   5

Definition at line 40 of file ntgdi.h.

#define GDI_TEMP_TYPE   27

Definition at line 62 of file ntgdi.h.

#define GDI_TTFD_TYPE   25

Definition at line 60 of file ntgdi.h.

#define GDI_VTFD_TYPE   24

Definition at line 59 of file ntgdi.h.

Typedef Documentation