#include <debug.h>
#define TAG_ATMT 'TotA' /* Atom table */
+#define TAG_RTHL 'LHtR' /* Heap Lock */
extern ULONG NtGlobalFlag;
KPROCESSOR_MODE
NTAPI
-RtlpGetMode()
+RtlpGetMode(VOID)
{
return KernelMode;
}
RtlDeleteHeapLock(IN OUT PHEAP_LOCK Lock)
{
ExDeleteResourceLite(&Lock->Resource);
- ExFreePool(Lock);
+ ExFreePoolWithTag(Lock, TAG_RTHL);
return STATUS_SUCCESS;
}
NTAPI
RtlInitializeHeapLock(IN OUT PHEAP_LOCK *Lock)
{
- PHEAP_LOCK HeapLock = ExAllocatePool(NonPagedPool, sizeof(HEAP_LOCK));
+ PHEAP_LOCK HeapLock = ExAllocatePoolWithTag(NonPagedPool,
+ sizeof(HEAP_LOCK),
+ TAG_RTHL);
if (HeapLock == NULL)
return STATUS_NO_MEMORY;
&StackBegin,
&StackEnd);
if (!Result) return 0;
- }
+ }
/* Use a SEH block for maximum protection */
_SEH2_TRY
#endif
-#ifdef _AMD64_
+#if defined(_M_AMD64) || defined(_M_ARM)
VOID
NTAPI
RtlpGetStackLimits(
PRTL_ATOM_TABLE
RtlpAllocAtomTable(ULONG Size)
{
- PRTL_ATOM_TABLE Table = ExAllocatePool(NonPagedPool,
- Size);
+ PRTL_ATOM_TABLE Table = ExAllocatePoolWithTag(NonPagedPool,
+ Size,
+ TAG_ATMT);
if (Table != NULL)
{
RtlZeroMemory(Table,
VOID
RtlpFreeAtomTable(PRTL_ATOM_TABLE AtomTable)
{
- ExFreePool(AtomTable);
+ ExFreePoolWithTag(AtomTable, TAG_ATMT);
}
PRTL_ATOM_TABLE_ENTRY
BOOLEAN
NTAPI
-RtlCallVectoredExceptionHandlers(
- _In_ PEXCEPTION_RECORD ExceptionRecord,
- _In_ PCONTEXT Context)
+RtlCallVectoredExceptionHandlers(_In_ PEXCEPTION_RECORD ExceptionRecord,
+ _In_ PCONTEXT Context)
{
/* In the kernel we don't have vectored exception handlers */
return FALSE;
}
+VOID
+NTAPI
+RtlCallVectoredContinueHandlers(_In_ PEXCEPTION_RECORD ExceptionRecord,
+ _In_ PCONTEXT Context)
+{
+ /* No vectored continue handlers either in kernel mode */
+ return;
+}
+
/* EOF */