Структура PEB (winternl.h)
[Эта структура может быть изменена в будущих версиях Windows.]
Содержит сведения о процессе.
Синтаксис
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;
Члены
Reserved1[2]
Зарезервировано для внутреннего использования операционной системой.
BeingDebugged
Указывает, выполняется ли отладка указанного процесса в данный момент. Однако структура PEB является внутренней структурой операционной системы, структура которой может измениться в будущем. Лучше всего использовать функцию CheckRemoteDebuggerPresent .
Reserved2[1]
Зарезервировано для внутреннего использования операционной системой.
Reserved3[2]
Зарезервировано для внутреннего использования операционной системой.
Ldr
Указатель на структуру PEB_LDR_DATA , содержащую сведения о загруженных модулях для процесса.
ProcessParameters
Указатель на структуру RTL_USER_PROCESS_PARAMETERS , содержащую сведения о параметрах процесса, такие как командная строка.
Reserved4[3]
Зарезервировано для внутреннего использования операционной системой.
AtlThunkSListPtr
Reserved5
Зарезервировано для внутреннего использования операционной системой.
Reserved6
Зарезервировано для внутреннего использования операционной системой.
Reserved7
Зарезервировано для внутреннего использования операционной системой.
Reserved8
AtlThunkSListPtr32
Reserved9[45]
Reserved10[96]
PostProcessInitRoutine
Не поддерживается.
Reserved11[128]
Reserved12[1]
SessionId
Идентификатор сеанса служб терминалов, связанный с текущим процессом.
Комментарии
Синтаксис этой структуры в 64-разрядной версии Windows выглядит следующим образом:
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;
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | winternl.h |