- Quick implementation of RtlIsThreadWithinLoaderCallout.

svn path=/trunk/; revision=43029
This commit is contained in:
James Tabor 2009-09-11 07:12:30 +00:00
parent f889dc273c
commit 7cdc0d481a
4 changed files with 17 additions and 1 deletions

View file

@ -748,7 +748,7 @@ RtlIsGenericTableEmpty@4
RtlIsGenericTableEmptyAvl@4
RtlIsNameLegalDOS8Dot3@12
RtlIsTextUnicode@12
;RtlIsThreadWithinLoaderCallout
RtlIsThreadWithinLoaderCallout@0
RtlIsValidHandle@8
RtlIsValidIndexHandle@12
RtlLargeIntegerAdd@16

View file

@ -19,6 +19,7 @@ VOID LdrpInitLoader(VOID);
VOID NTAPI RtlpInitDeferedCriticalSection(VOID);
NTSTATUS LdrpAttachThread(VOID);
VOID RtlpInitializeVectoredExceptionHandling(VOID);
extern PTEB LdrpTopLevelDllBeingLoadedTeb;
/* GLOBALS *******************************************************************/
@ -470,6 +471,8 @@ LdrpInit2(PCONTEXT Context,
ExeModule->SizeOfImage = LdrpGetResidentSize(NTHeaders);
ExeModule->TimeDateStamp = NTHeaders->FileHeader.TimeDateStamp;
LdrpTopLevelDllBeingLoadedTeb = NtCurrentTeb();
InsertHeadList(&Peb->Ldr->InLoadOrderModuleList,
&ExeModule->InLoadOrderLinks);

View file

@ -14,6 +14,7 @@
#include <debug.h>
SIZE_T RtlpAllocDeallocQueryBufferSize = PAGE_SIZE;
PTEB LdrpTopLevelDllBeingLoadedTeb = NULL;
/* FUNCTIONS ***************************************************************/
@ -203,6 +204,13 @@ RtlpCaptureStackLimits(IN ULONG_PTR Ebp,
return TRUE;
}
BOOLEAN
NTAPI
RtlIsThreadWithinLoaderCallout(VOID)
{
return LdrpTopLevelDllBeingLoadedTeb == NtCurrentTeb();
}
/* RTL Atom Tables ************************************************************/
typedef struct _RTL_ATOM_HANDLE

View file

@ -2012,6 +2012,11 @@ RtlInitializeContext(
IN PINITIAL_TEB InitialTeb
);
NTSYSAPI
BOOLEAN
NTAPI
RtlIsThreadWithinLoaderCallout(VOID);
NTSYSAPI
PRTL_USER_PROCESS_PARAMETERS
NTAPI