RtlIsGenericTableEmptyAvl@4
RtlIsNameLegalDOS8Dot3@12
RtlIsTextUnicode@12
-;RtlIsThreadWithinLoaderCallout
+RtlIsThreadWithinLoaderCallout@0
RtlIsValidHandle@8
RtlIsValidIndexHandle@12
RtlLargeIntegerAdd@16
VOID NTAPI RtlpInitDeferedCriticalSection(VOID);
NTSTATUS LdrpAttachThread(VOID);
VOID RtlpInitializeVectoredExceptionHandling(VOID);
+extern PTEB LdrpTopLevelDllBeingLoadedTeb;
/* GLOBALS *******************************************************************/
ExeModule->SizeOfImage = LdrpGetResidentSize(NTHeaders);
ExeModule->TimeDateStamp = NTHeaders->FileHeader.TimeDateStamp;
+ LdrpTopLevelDllBeingLoadedTeb = NtCurrentTeb();
+
InsertHeadList(&Peb->Ldr->InLoadOrderModuleList,
&ExeModule->InLoadOrderLinks);
#include <debug.h>
SIZE_T RtlpAllocDeallocQueryBufferSize = PAGE_SIZE;
+PTEB LdrpTopLevelDllBeingLoadedTeb = NULL;
/* FUNCTIONS ***************************************************************/
return TRUE;
}
+BOOLEAN
+NTAPI
+RtlIsThreadWithinLoaderCallout(VOID)
+{
+ return LdrpTopLevelDllBeingLoadedTeb == NtCurrentTeb();
+}
+
/* RTL Atom Tables ************************************************************/
typedef struct _RTL_ATOM_HANDLE
IN PINITIAL_TEB InitialTeb
);
+NTSYSAPI
+BOOLEAN
+NTAPI
+RtlIsThreadWithinLoaderCallout(VOID);
+
NTSYSAPI
PRTL_USER_PROCESS_PARAMETERS
NTAPI