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 |