Недокументированные функции NTDLL
2 марта 2001
PEB
typedef struct _PEB {
BOOLEAN InheritedAddressSpace ;
BOOLEAN ReadImageFileExecOptions ;
BOOLEAN BeingDebugged ;
BOOLEAN Spare ;
HANDLE Mutant ;
PVOID ImageBaseAddress ;
PPEB_LDR_DATA LoaderData ;
PRTL_USER_PROCESS_PARAMETERS ProcessParameters ;
PVOID SubSystemData ;
PVOID ProcessHeap ;
PVOID FastPebLock ;
PPEBLOCKROUTINE FastPebLockRoutine ;
PPEBLOCKROUTINE FastPebUnlockRoutine ;
ULONG EnvironmentUpdateCount ;
PPVOID KernelCallbackTable ;
PVOID EventLogSection ;
PVOID EventLog ;
PPEB_FREE_BLOCK FreeList ;
ULONG TlsExpansionCounter ;
PVOID TlsBitmap ;
ULONG TlsBitmapBits[0x2] ;
PVOID ReadOnlySharedMemoryBase ;
PVOID ReadOnlySharedMemoryHeap ;
PPVOID ReadOnlyStaticServerData ;
PVOID AnsiCodePageData ;
PVOID OemCodePageData ;
PVOID UnicodeCaseTableData ;
ULONG NumberOfProcessors ;
ULONG NtGlobalFlag ;
BYTE Spare2[0x4] ;
LARGE_INTEGER CriticalSectionTimeout ;
ULONG HeapSegmentReserve ;
ULONG HeapSegmentCommit ;
ULONG HeapDeCommitTotalFreeThreshold ;
ULONG HeapDeCommitFreeBlockThreshold ;
ULONG NumberOfHeaps ;
ULONG MaximumNumberOfHeaps ;
PPVOID *ProcessHeaps ;
PVOID GdiSharedHandleTable ;
PVOID ProcessStarterHelper ;
PVOID GdiDCAttributeList ;
PVOID LoaderLock ;
ULONG OSMajorVersion ;
ULONG OSMinorVersion ;
ULONG OSBuildNumber ;
ULONG OSPlatformId ;
ULONG ImageSubSystem ;
ULONG ImageSubSystemMajorVersion ;
ULONG ImageSubSystemMinorVersion ;
ULONG GdiHandleBuffer[0x22] ;
ULONG PostProcessInitRoutine ;
ULONG TlsExpansionBitmap ;
BYTE TlsExpansionBitmapBits[0x80] ;
ULONG SessionId ;
} PEB, *PPEB;
Структура PEB (Process Enviroment Block, блок окружения процесса) содержит все параметры пользовательского режима ,
ассоциированные системой с текущим процессом.
InheritedAddressSpace
ReadImageFileExecOptions
BeingDebugged
Spare
Mutant
ImageBaseAddress
Адрес исполняемого образа в памяти процесса.
LoaderData
Указатель на структуру PEB_LDR_DATA , содержащую информацию, заполненную загрузчиком.
ProcessParameters
Указатель на структуру RTL_USER_PROCESS_PARAMETERS .
SubSystemData
ProcessHeap
Адрес первой кучи процесса, выделенной загрузчиком.
FastPebLock
Параметр для PEBLOCKROUTINE (см. ниже).
FastPebLockRoutine
Адрес функции для PEB . Прототип функции:
typedef void (* PPEBLOCKROUTINE )(
PVOID PebLock
);
FastPebUnlockRoutine
PEB функция.
EnvironmentUpdateCount
Счётчик обновлений окружения процесса.
KernelCallbackTable
EventLogSection
EventLog
FreeList
TlsExpansionCounter
TlsBitmap
TlsBitmapBits[0x2]
ReadOnlySharedMemoryBase
ReadOnlySharedMemoryHeap
ReadOnlyStaticServerData
AnsiCodePageData
OemCodePageData
UnicodeCaseTableData
NumberOfProcessors
NtGlobalFlag
Spare2[0x4]
CriticalSectionTimeout
HeapSegmentReserve
HeapSegmentCommit
HeapDeCommitTotalFreeThreshold
HeapDeCommitFreeBlockThreshold
NumberOfHeaps
MaximumNumberOfHeaps
*ProcessHeaps
GdiSharedHandleTable
ProcessStarterHelper
GdiDCAttributeList
LoaderLock
OSMajorVersion
OSMinorVersion
OSBuildNumber
OSPlatformId
ImageSubSystem
ImageSubSystemMajorVersion
ImageSubSystemMinorVersion
GdiHandleBuffer[0x22]
PostProcessInitRoutine
TlsExpansionBitmap
TlsExpansionBitmapBits[0x80]
SessionId
Документировал:
Reactos
Томаш Новак
Зависимости:
Библиотека: ntdll.lib
См. также:
NtQueryInformationProcess
PEB_FREE_BLOCK
PEB_LDR_DATA
PROCESS_BASIC_INFORMATION
RTL_USER_PROCESS_PARAMETERS
TEB