← Back to Blog
windows kernel

Windows API Function Naming Convention

| Aaron Hnatiw

The Windows API uses the following naming convention: <Prefix><Operation><Object>.

Internal functions use a variation of the prefix - either the first letter of the prefix followed by an i (for internal) or the full prefix followed by a p (for private). For example, Ki represents internal kernel functions, and Psp refers to internal process support functions.

Listed below are some of the most common prefixes. Use this table when debugging or looking through a Windows binary's import table to quickly understand what a binary is doing.

Prefix Description
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.

References