A version of this page is also available for

Windows Embedded CE 6.0 R3


This structure describes an entry from a list that enumerates the processes residing in the system address space when a snapshot was taken.


typedef struct tagPROCESSENTRY32 {
  DWORD dwSize;
  DWORD cntUsage;
  DWORD th32ProcessID;
  DWORD th32DefaultHeapID;
  DWORD th32ModuleID;
  DWORD cntThreads;
  DWORD th32ParentProcessID;
  LONG  pcPriClassBase;
  DWORD dwFlags;
  TCHAR szExeFile[MAX_PATH];
  DWORD th32MemoryBase;
  DWORD th32AccessKey;


  • dwSize
    Length, in bytes, of the structure.

    Before calling the Process32First function, set this member to sizeof(PROCESSENTRY32).

    If you do not initialize dwSize, Process32First fails.

  • cntUsage
    Number of references to the process.

    Must be set to 1.

  • th32ProcessID
    Identifier of the process.

    The contents of this member can be used by Win32 API elements.

  • th32DefaultHeapID
    Identifier of the default heap for the process.

    The content of this member has meaning only to the tool help functions.

    This member is not a handle, nor is it usable by Win32 API elements.

  • th32ModuleID
    Module identifier of the process.

    Must be 0.

  • cntThreads
    Number of execution threads started by the process.
  • th32ParentProcessID
    Identifier of the process that created the process being examined.

    Must be 0.

  • pcPriClassBase
    Base priority of threads created by this process.

    Value is always THREAD_PRIORITY_NORMAL

  • dwFlags
    Reserved; do not use.
  • szExeFile
    Null-terminated string that contains the file name of the executable file for the process.
  • th32MemoryBase
    Load address of the executable file.
  • th32AccessKey
    Array of bits.

    Each bit signifies permission to see the address space of one process.

    For the PROCESSENTRY32 structure, the key contains the bit required to see that address space.


All strings are Unicode. To use the process and thread identifiers with GetThreadTimes and other functions that take process handles, the identifiers can be cast directly to process and thread handles**


Header tlhelp32.h
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also


ToolHelp Structures

Other Resources

Memory Architecture