- Enable call to RtlpPageHeapDestroy() when necessary.
- Reset Parameters==-1 hack after unsuccessful call to RtlpPageHeapCreate(), would be necessary when page heap is implemented..
svn path=/trunk/; revision=50654
//ASSERT(FALSE);
DPRINT1("Enabling page heap failed\n");
+
+ /* Reset a special Parameters == -1 hack */
+ if ((ULONG_PTR)Parameters == (ULONG_PTR)-1)
+ Parameters = NULL;
}
/* Check validation flags */
if (!HeapPtr) return NULL;
+ /* Call page heap routine if required */
+ if (Heap->ForceFlags & HEAP_FLAG_PAGE_ALLOCS) return RtlpPageHeapDestroy(HeapPtr);
+
/* Call special heap */
if (RtlpHeapIsSpecial(Heap->Flags))
{
ULONG Flags,
PVOID Ptr);
+/* heappage.c */
+
HANDLE NTAPI
RtlpPageHeapCreate(ULONG Flags,
PVOID Addr,
PVOID Lock,
PRTL_HEAP_PARAMETERS Parameters);
+PVOID NTAPI
+RtlpPageHeapDestroy(HANDLE HeapPtr);
+
+PVOID NTAPI
+RtlpPageHeapAllocate(IN PVOID HeapPtr,
+ IN ULONG Flags,
+ IN SIZE_T Size);
+
+BOOLEAN NTAPI
+RtlpPageHeapFree(HANDLE HeapPtr,
+ ULONG Flags,
+ PVOID Ptr);
+
+PVOID NTAPI
+RtlpPageHeapReAllocate(HANDLE HeapPtr,
+ ULONG Flags,
+ PVOID Ptr,
+ SIZE_T Size);
+
+BOOLEAN NTAPI
+RtlpPageHeapGetUserInfo(PVOID HeapHandle,
+ ULONG Flags,
+ PVOID BaseAddress,
+ PVOID *UserValue,
+ PULONG UserFlags);
+
+BOOLEAN NTAPI
+RtlpPageHeapSetUserValue(PVOID HeapHandle,
+ ULONG Flags,
+ PVOID BaseAddress,
+ PVOID UserValue);
+
+BOOLEAN
+NTAPI
+RtlpPageHeapSetUserFlags(PVOID HeapHandle,
+ ULONG Flags,
+ PVOID BaseAddress,
+ ULONG UserFlagsReset,
+ ULONG UserFlagsSet);
+
+SIZE_T NTAPI
+RtlpPageHeapSize(HANDLE HeapPtr,
+ ULONG Flags,
+ PVOID Ptr);
+
#endif
return NULL;
}
+PVOID NTAPI
+RtlpPageHeapDestroy(HANDLE HeapPtr)
+{
+ return FALSE;
+}
+
+PVOID NTAPI
+RtlpPageHeapAllocate(IN PVOID HeapPtr,
+ IN ULONG Flags,
+ IN SIZE_T Size)
+{
+ return NULL;
+}
+
+BOOLEAN NTAPI
+RtlpPageHeapFree(HANDLE HeapPtr,
+ ULONG Flags,
+ PVOID Ptr)
+{
+ return FALSE;
+}
+
+PVOID NTAPI
+RtlpPageHeapReAllocate(HANDLE HeapPtr,
+ ULONG Flags,
+ PVOID Ptr,
+ SIZE_T Size)
+{
+ return NULL;
+}
+
+BOOLEAN NTAPI
+RtlpPageHeapGetUserInfo(PVOID HeapHandle,
+ ULONG Flags,
+ PVOID BaseAddress,
+ PVOID *UserValue,
+ PULONG UserFlags)
+{
+ return FALSE;
+}
+
+BOOLEAN NTAPI
+RtlpPageHeapSetUserValue(PVOID HeapHandle,
+ ULONG Flags,
+ PVOID BaseAddress,
+ PVOID UserValue)
+{
+ return FALSE;
+}
+
+BOOLEAN
+NTAPI
+RtlpPageHeapSetUserFlags(PVOID HeapHandle,
+ ULONG Flags,
+ PVOID BaseAddress,
+ ULONG UserFlagsReset,
+ ULONG UserFlagsSet)
+{
+ return FALSE;
+}
+
+SIZE_T NTAPI
+RtlpPageHeapSize(HANDLE HeapPtr,
+ ULONG Flags,
+ PVOID Ptr)
+{
+ return 0;
+}
+
/* EOF */