Prefixes

PrefixMeaning
AlpcAdvanced Local Procedure Calls
CcCommon Cache
CmConfiguration manager
DbgKernel debug support
DbgkDebugging Framework for user mode
EmErrata manager
EtwEvent Tracing for Windows
ExExecutive support routines
FsRtlFile System Runtime Library
HvHive library
HvlHypervisor library
IoI/O manager
KdKernel debugger
KeKernel
KseKernel Shim Engine
LsaLocal Security Authority
MmMemory manager
NtNT system services (accessible from user mode through system calls)
ObObject manager
PfPrefetcher
PoPower manager
PoFxPower framework
PpPnP manager
PpmProcessor power manager
PsProcess support
RtlRun time library
SeSecurity Reference Monitor
SmStore Manager
TmTransaction manager
TtmTerminal timeout manager
VfDriver Verifier
VslVirtual Secure Mode library
WdiWindows Diagnostic Infrastructure
WfpWindows FingerPrint
WheaWindows Hardware Error Architecture
WmiWindows Management Instrumentation
ZwMirror entry point for system services (beginning with Nt) that sets previous access mode to kernel, which eliminates parameter validation, because Nt system services validate parameters only if previous access mode is user.

Suffixes

If you have no suffixes, then windows does the compatibility for you. Only use suffixes if you want specific functionality

SuffixMeaning
A(A) ANSI Functions
CreateWindowA Uses ANSI characters. This prevents it from using special characters.
W(W) Wide/Unicode Functions
Unicode. So chars do not take exactly 1 byte. This is opposite to (A), these function can use special characters.
Ex(Ex) Extended Control
Very overloaded versions of the original for added functionality.
VirtualAllocEx allocates virtual memory inside the calling process VirtualAllocEx allocates virtual memory inside any process.
Allows you alot of fine tweaking

Combinations

If a argument allows a combination of enums, then you are able to pass it like ENUM1 | ENUM2.