Share via


PROCESSENTRY32 (Compact 2013)

3/28/2014

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

Syntax

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;
  } PROCESSENTRY32;
  typedef PROCESSENTRY32* PPROCESSENTRY32;
typedef PROCESSENTRY32* LPPROCESSENTRY32;

Members

  • 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.
  • 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.

Remarks

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*.*

Requirements

Header

tlhelp32.h

See Also

Reference

ToolHelp Structures
Process32First
GetThreadTimes