Hungarian Notation

From ReactOS Wiki
Jump to: navigation, search

This is a list of prefixes to be used in hungarian notation.

Prefix Meaning
a Array of
am ACCESS_MASK
atom ATOM
b BYTE or BOOL
bm/bmp BITMAP (hbmp for HBITMAP)
bmi BITMAPINFO
c Count of (cb or cj for count of bytes / size)
ch CHAR
cr COLORREF
cx/cy Dimensions
dw DWORD
ep EPROCESS
f BOOL or Flags
fn Function (use pfn)
h Handle to
hmod HMODULE
i integer (maybe unsigned) or index
j BYTE
l LONG
link LIST_ENTRY as member of the list
lp Long pointer (deprecated)
luid LUID
menu MENU
msg MSG
p Pointer to
pt POINT
ptl POINTL
pv PVOID
qw QWORD
rc(l) RECT(L)
rgb color (COLORREF, ULONG)
rgn REGION (hrgn = HRGN)
sem SEMAPHORE (hsem for HSEMAPHORE)
sp Shared pointer
str String, UNICODE_STRING, LARGE_STRING
sz Zero terminated String (can be unicode) or SIZE
szl SIZEL
t Time (type is ULONG)
ul ULONG
us USHORT
w WORD
wnd WND (hwnd for HWND)
wsz Zero terminated unicode string
wc/wch WCHAR

WIN32K specific

Prefix Meaning
bo BRUSHOBJ
br BRUSH
ca COLORADJUSTMENT
cci CONSOLE_CARET_INFO
cls CLS (window class)
co CLIPOBJ
cpd CALLPROCDATA
cur CURSOR
cti CLIENTTHREADINFO
dc DC (hdc for HDC)
dce DCE
desk DESKTOP
ebo EBRUSHOBJ
fx FIX
heap Heap, WIN32HEAP
hk HOOK
kf KBDFILE
kl KL (keyboard layout, hkl for HKL)
lr LOCKRECORD
ml MLIST
msd MOVESIZEDATA
mx MATRIX
pal PALETTE
pdev PDEV
pen PEN
pi PROCESSINFO
prop PROP
qmsg QMSG
rcfx RECTFX
rfnt RFONT
sms SMS
so SURFOBJ
ti THREADINFO
tm TEXTMETRIC
vk Virtual Key code
wti WOWTHREADINFO
xlo XLATEOBJ

See also