Estrutura PEB (winternl.h)

[Essa estrutura pode ser alterada em versões futuras do Windows.]

Contém informações do processo.

Sintaxe

typedef struct _PEB {
  BYTE                          Reserved1[2];
  BYTE                          BeingDebugged;
  BYTE                          Reserved2[1];
  PVOID                         Reserved3[2];
  PPEB_LDR_DATA                 Ldr;
  PRTL_USER_PROCESS_PARAMETERS  ProcessParameters;
  PVOID                         Reserved4[3];
  PVOID                         AtlThunkSListPtr;
  PVOID                         Reserved5;
  ULONG                         Reserved6;
  PVOID                         Reserved7;
  ULONG                         Reserved8;
  ULONG                         AtlThunkSListPtr32;
  PVOID                         Reserved9[45];
  BYTE                          Reserved10[96];
  PPS_POST_PROCESS_INIT_ROUTINE PostProcessInitRoutine;
  BYTE                          Reserved11[128];
  PVOID                         Reserved12[1];
  ULONG                         SessionId;
} PEB, *PPEB;

Membros

Reserved1[2]

Reservado para uso interno pelo sistema operacional.

BeingDebugged

Indica se o processo especificado está sendo depurado no momento. A estrutura PEB , no entanto, é uma estrutura interna do sistema operacional cujo layout pode mudar no futuro. Em vez disso, é melhor usar a função CheckRemoteDebuggerPresent .

Reserved2[1]

Reservado para uso interno pelo sistema operacional.

Reserved3[2]

Reservado para uso interno pelo sistema operacional.

Ldr

Um ponteiro para uma estrutura PEB_LDR_DATA que contém informações sobre os módulos carregados para o processo.

ProcessParameters

Um ponteiro para uma estrutura RTL_USER_PROCESS_PARAMETERS que contém informações de parâmetro de processo, como a linha de comando.

Reserved4[3]

Reservado para uso interno pelo sistema operacional.

AtlThunkSListPtr

Reserved5

Reservado para uso interno pelo sistema operacional.

Reserved6

Reservado para uso interno pelo sistema operacional.

Reserved7

Reservado para uso interno pelo sistema operacional.

Reserved8

AtlThunkSListPtr32

Reserved9[45]

Reserved10[96]

PostProcessInitRoutine

Não há suporte.

Reserved11[128]

Reserved12[1]

SessionId

O identificador de sessão dos Serviços de Terminal associado ao processo atual.

Comentários

A sintaxe dessa estrutura no Windows de 64 bits é a seguinte:

typedef struct _PEB {
    BYTE Reserved1[2];
    BYTE BeingDebugged;
    BYTE Reserved2[21];
    PPEB_LDR_DATA LoaderData;
    PRTL_USER_PROCESS_PARAMETERS ProcessParameters;
    BYTE Reserved3[520];
    PPS_POST_PROCESS_INIT_ROUTINE PostProcessInitRoutine;
    BYTE Reserved4[136];
    ULONG SessionId;
} PEB;

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho winternl.h

Confira também

NtQueryInformationProcess

ZwQueryInformationProcess

TEB

PEB_LDR_DATA

RTL_USER_PROCESS_PARAMETERS