#include <ntos.h>
#include <nt.h>
#include <ntrtl.h>
#include <nturtl.h>
#include <heap.h>
#include <apcompat.h>
#include "ldrp.h"
#include <ctype.h>
Go to the source code of this file.
Functions | |
VOID | LdrpRelocateStartContext (IN PCONTEXT Context, IN LONG_PTR Diff) |
NTSTATUS | LdrpForkProcess (VOID) |
VOID | LdrpInitializeThread (IN PCONTEXT Context) |
BOOLEAN | NtdllOkayToLockRoutine (IN PVOID Lock) |
VOID | RtlpInitDeferedCriticalSection (VOID) |
VOID | LdrQueryApplicationCompatibilityGoo (IN PUNICODE_STRING UnicodeImageName) |
NTSTATUS | LdrFindAppCompatVariableInfo (IN ULONG dwTypeSeeking, OUT PAPP_VARIABLE_INFO *AppVariableInfo) |
NTSTATUS | LdrpSearchResourceSection_U (IN PVOID DllHandle, IN PULONG_PTR ResourceIdPath, IN ULONG ResourceIdPathLength, IN BOOLEAN FindDirectoryEntry, IN BOOLEAN ExactLangMatchOnly, OUT PVOID *ResourceDirectoryOrData) |
NTSTATUS | LdrpAccessResourceData (IN PVOID DllHandle, IN PIMAGE_RESOURCE_DATA_ENTRY ResourceDataEntry, OUT PVOID *Address OPTIONAL, OUT PULONG Size OPTIONAL) |
PVOID | NtdllpAllocateStringRoutine (SIZE_T NumberOfBytes) |
VOID | NtdllpFreeStringRoutine (PVOID Buffer) |
VOID | LdrpInitializationFailure (IN NTSTATUS FailureCode) |
VOID | LdrpInitialize (IN PCONTEXT Context, IN PVOID SystemArgument1, IN PVOID SystemArgument2) |
NTSTATUS | LdrpInitializeProcess (IN PCONTEXT Context OPTIONAL, IN PVOID SystemDllBase, IN PUNICODE_STRING UnicodeImageName) |
VOID | LdrShutdownProcess (VOID) |
VOID | LdrShutdownThread (VOID) |
NTSTATUS | LdrQueryImageFileExecutionOptions (IN PUNICODE_STRING ImagePathName, IN PWSTR OptionName, IN ULONG Type, OUT PVOID Buffer, IN ULONG BufferSize, OUT PULONG ResultSize OPTIONAL) |
NTSTATUS | LdrpInitializeTls (VOID) |
NTSTATUS | LdrpAllocateTls (VOID) |
VOID | LdrpFreeTls (VOID) |
VOID | LdrpCallTlsInitializers (PVOID DllBase, ULONG Reason) |
ULONG | GetNextCommaValue (IN OUT WCHAR **p, IN OUT ULONG *len) |
Variables | |
BOOLEAN | LdrpShutdownInProgress = FALSE |
BOOLEAN | LdrpImageHasTls = FALSE |
BOOLEAN | LdrpVerifyDlls = FALSE |
BOOLEAN | LdrpLdrDatabaseIsSetup = FALSE |
BOOLEAN | LdrpInLdrInit = FALSE |
PVOID | NtDllBase |
ULONG | RtlpDisableHeapLookaside |
PRTL_ALLOCATE_STRING_ROUTINE | RtlAllocateStringRoutine |
PRTL_FREE_STRING_ROUTINE | RtlFreeStringRoutine |
RTL_BITMAP | TlsBitMap |
RTL_BITMAP | TlsExpansionBitMap |
RTL_CRITICAL_SECTION_DEBUG | LoaderLockDebug |
RTL_CRITICAL_SECTION | LoaderLock |
BOOLEAN | LoaderLockInitialized |
|
Definition at line 2246 of file ldrinit.c. References L. Referenced by LdrQueryApplicationCompatibilityGoo().
|
|
Definition at line 2683 of file ldrinit.c. Referenced by LdrQueryApplicationCompatibilityGoo().
|
|
Definition at line 96 of file ldrrsrc.c.
|
|
Definition at line 2071 of file ldrinit.c. References DbgPrint, LDRP_TLS_ENTRY, LdrpNumberOfTlsEntries, LdrpTlsList, MAKE_TAG, RtlAllocateHeap, ShowSnaps, _LDRP_TLS_ENTRY::Tls, and TLS_TAG. Referenced by LdrpInitializeThread(), and LdrpInitializeTls().
|
|
Definition at line 2178 of file ldrinit.c. References DbgPrint, EXCEPTION_EXECUTE_HANDLER, LdrpCallInitRoutine, NULL, RtlImageDirectoryEntryToData(), ShowSnaps, and TRUE. Referenced by LdrpInitializeThread(), LdrpRunInitializeRoutines(), LdrShutdownProcess(), and LdrShutdownThread().
|
|
Definition at line 575 of file ldrinit.c. References FALSE, FastPebLock, LoaderLock, LoaderLockInitialized, NT_SUCCESS, NTSTATUS(), NULL, RtlCreateHeap(), RtlCriticalSectionList, RtlInitializeCriticalSection(), RtlInitializeHeapManager(), RtlpInitDeferedCriticalSection(), RtlRaiseStatus(), and TRUE. Referenced by LdrpInitialize().
|
|
Definition at line 2134 of file ldrinit.c. References LdrpTlsList, RtlFreeHeap, and _LDRP_TLS_ENTRY::Tls. Referenced by LdrShutdownThread().
|
|
Definition at line 157 of file ldrinit.c. References LdrpFatalHardErrorCount, NtRaiseHardError(), and NTSTATUS(). Referenced by LdrpInitialize(), and LdrpInitializeProcess().
|
|
Definition at line 186 of file ldrinit.c. References DbgPrint, EXCEPTION_EXECUTE_HANDLER, FALSE, L, LdrpForkProcess(), LdrpInitializationFailure(), LdrpInitializeProcess(), LdrpInitializeThread(), LdrpInLdrInit, LdrQueryImageFileExecutionOptions(), LoaderLock, LoaderLockInitialized, NT_SUCCESS, NtDelayExecution(), NtQueryPerformanceCounter(), NtQueryVirtualMemory(), NTSTATUS(), NtTestAlert(), NULL, RtlImageDirectoryEntryToData(), RtlImageNtHeader(), RtlpDebugPageHeap, RtlpDisableHeapLookaside, RtlpDphDllRangeEnd, RtlpDphDllRangeStart, RtlpDphGlobalFlags, RtlpDphRandomProbability, RtlpDphSizeRangeEnd, RtlpDphSizeRangeStart, RtlpDphTargetDlls, RtlRaiseStatus(), and TRUE.
|
|
Definition at line 616 of file ldrinit.c. References ASSERT, ATOM_TAG, CommandLine, DbgPrint, FALSE, FastPebLock, HeapParameters, InitTableInfo, L, LDR_TAG, LdrGetProcedureAddress(), LdrLoadDll(), LDRP_HASH_TABLE_SIZE, LdrpAllocateDataTableEntry(), LdrpDefaultPath, LdrpFetchAddressOfEntryPoint(), LdrpHashTable, LdrpImageEntry, LdrpInitializationFailure(), LdrpInitializeTls(), LdrpInsertMemoryTableEntry(), LdrpKnownDllObjectDirectory, LdrpKnownDllPath, LdrpKnownDllPathBuffer, LdrpLdrDatabaseIsSetup, LdrpNumberOfProcessors, LdrpReferenceLoadedDll, LdrpRelocateStartContext(), LdrpRunInitializeRoutines(), LdrpSetProtection(), LdrpVerifyDlls, LdrpWalkImportDescriptor(), LdrQueryApplicationCompatibilityGoo(), LdrQueryImageFileExecutionOptions(), LdrRelocateImage(), LoaderLock, LoaderLockInitialized, MAKE_TAG, NATIVE_PAGE_SIZE, NT_SUCCESS, NtAllocateVirtualMemory(), NtClose(), NtDllBase, NtdllBaseTag, NtdllpAllocateStringRoutine(), NtdllpFreeStringRoutine(), NtFreeVirtualMemory(), NtOpenDirectoryObject(), NtOpenSymbolicLinkObject(), NtQueryPerformanceCounter(), NtQuerySymbolicLinkObject(), NtSetInformationProcess(), NTSTATUS(), NtSystemRoot, NULL, PAGE_SIZE, RtlAllocateHeap, RtlAllocateStringRoutine, RtlAppendUnicodeStringToString(), RtlAppendUnicodeToString(), RtlCreateHeap(), RtlCreateTagHeap(), RtlCriticalSectionList, RtlFreeStringRoutine, RtlFreeUnicodeString(), RtlImageDirectoryEntryToData(), RtlImageNtHeader(), RtlInitAnsiString(), RtlInitializeAtomPackage(), RtlInitializeBitMap(), RtlInitializeCriticalSection(), RtlInitializeHeapManager(), RtlInitNlsTables(), RtlInitUnicodeString(), RtlNormalizeProcessParams(), RtlpDebugPageHeap, RtlpInitDeferedCriticalSection(), RtlpTimeout, RtlpTimoutDisable, RtlRaiseStatus(), RtlResetRtlTranslations(), RtlSetCurrentDirectory_U(), ShowSnaps, TlsBitMap, TlsExpansionBitMap, TRUE, Unicode, and USHORT. Referenced by LdrpInitialize().
|
|
Definition at line 1702 of file ldrinit.c. References LdrpAllocateTls(), LdrpCallInitRoutine, LdrpCallTlsInitializers(), LdrpImageHasTls, LdrpShutdownInProgress, and NULL. Referenced by LdrpInitialize().
|
|
Definition at line 1978 of file ldrinit.c. References DbgPrint, FALSE, LdrpAllocateTls(), LdrpImageHasTls, LdrpNumberOfTlsEntries, LdrpTlsList, MAKE_TAG, PLDRP_TLS_ENTRY, RtlAllocateHeap, RtlImageDirectoryEntryToData(), RtlpSerializeHeap(), ShowSnaps, TLS_TAG, TRUE, and USHORT. Referenced by LdrpInitializeProcess().
|
|
Definition at line 28 of file alpha/ldrctx.c. Referenced by LdrpInitializeProcess().
|
|
Definition at line 492 of file ldrrsrc.c.
|
|
Definition at line 2277 of file ldrinit.c. References EXCEPTION_EXECUTE_HANDLER, FALSE, GetNextCommaValue(), L, LdrFindAppCompatVariableInfo(), LdrpAccessResourceData(), LdrpSearchResourceSection_U(), LdrQueryImageFileExecutionOptions(), Name, NT_SUCCESS, NTSTATUS(), NULL, Resource, RtlAllocateHeap, RtlFreeHeap, RtlInitUnicodeString(), RtlQueryEnvironmentVariable_U(), TRUE, and USHORT. Referenced by LdrpInitializeProcess().
|
|
Definition at line 1796 of file ldrinit.c. References Buffer, BufferSize, FALSE, KeyPath, KeyPathBuffer, L, MAKE_TAG, NT_SUCCESS, NtClose(), NtOpenKey(), NtQueryValueKey(), NTSTATUS(), NULL, ObjectAttributes, RtlAllocateHeap, RtlAppendUnicodeStringToString(), RtlAppendUnicodeToString(), RtlFreeHeap, RtlInitUnicodeString(), RtlUnicodeStringToInteger(), Status, TEMP_TAG, TRUE, and USHORT. Referenced by LdrpInitialize(), LdrpInitializeProcess(), LdrpRunInitializeRoutines(), and LdrQueryApplicationCompatibilityGoo().
|
|
Definition at line 1462 of file ldrinit.c. References CommandLine, DbgPrint, LdrpCallInitRoutine, LdrpCallTlsInitializers(), LdrpImageHasTls, LdrpShutdownInProgress, LdrpShutdownThreadId, LoaderLock, NULL, RtlpHeapIsLocked(), RtlValidateProcessHeaps(), ShowSnaps, and TRUE.
|
|
Definition at line 1602 of file ldrinit.c. References LdrpCallInitRoutine, LdrpCallTlsInitializers(), LdrpFreeTls(), LdrpImageHasTls, LoaderLock, and NULL.
|
|
Definition at line 236 of file dll/resource.c.
|
|
Definition at line 121 of file ldrinit.c. References RtlAllocateHeap. Referenced by LdrpInitializeProcess().
|
|
Definition at line 129 of file ldrinit.c. References Buffer, and RtlFreeHeap. Referenced by LdrpInitializeProcess().
|
|
Definition at line 211 of file dll/resource.c. References DbgPrint, DeferedCriticalSection, RtlCriticalSectionList, RtlCriticalSectionLock, RtlInitializeCriticalSectionAndSpinCount(), RtlpChainDebugInfo(), RtlpCreateCriticalSectionSem(), RtlpCritSectInitialized, RtlpDebugInfoFreeList, RtlpStaticDebugInfo, and TRUE.
|
|
Definition at line 32 of file ldrinit.c. Referenced by LdrpInitializeThread(), LdrpInitializeTls(), LdrpRunInitializeRoutines(), LdrShutdownProcess(), and LdrShutdownThread(). |
|
Definition at line 35 of file ldrinit.c. Referenced by LdrDisableThreadCalloutsForDll(), LdrGetDllHandle(), LdrpCreateDllSection(), LdrpGetProcedureAddress(), LdrpInitialize(), LdrpLoadDll(), LdrpMapDll(), LdrpSnapThunk(), LdrQueryProcessModuleInformation(), and LdrUnloadDll(). |
|
Definition at line 34 of file ldrinit.c. Referenced by LdrpInitializeProcess(), and LdrpLoadDll(). |
|
Definition at line 31 of file ldrinit.c. Referenced by LdrDisableThreadCalloutsForDll(), LdrpInitializeThread(), LdrShutdownProcess(), LdrUnloadDll(), RtlCheckForOrphanedCriticalSections(), RtlpNotOwnerCriticalSection(), and RtlpWaitForCriticalSection(). |
|
Definition at line 33 of file ldrinit.c. Referenced by LdrpInitializeProcess(). |
|
|
|
|
Definition at line 146 of file ldrinit.c. Referenced by LdrpForkProcess(), LdrpInitialize(), and LdrpInitializeProcess(). |
|
Definition at line 45 of file ldrinit.c. Referenced by CsrClientConnectToServer(), LdrpInitializeProcess(), and RtlPcToFileHeader(). |
|
|
|
Definition at line 47 of file ldrinit.c. Referenced by LdrpInitialize(), and RtlCreateHeap(). |
|
Definition at line 138 of file ldrinit.c. Referenced by LdrpInitializeProcess(). |
|
Definition at line 139 of file ldrinit.c. Referenced by LdrpInitializeProcess(). |