[kernel] add dummy HeapSetInformation()
dank at vroo.pair.com
dank at vroo.pair.com
Mon Jul 17 09:09:01 CDT 2006
This lets Black & White demo get further;
see http://bugs.winehq.org/show_bug.cgi?id=5694
My guess is this is relatively safe; HeapSetInformation
seems to be used to tweak heap properties for
performance.
Tested by running Black & White demo only.
Changelog:
kernel/heap.c: add dummy HeapSetInformation()
heap.c | 25 +++++++++++++++++++++++++
kernel32.spec | 2 +-
2 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel/heap.c b/dlls/kernel/heap.c
index dc481c4..f3ec0ae 100644
--- a/dlls/kernel/heap.c
+++ b/dlls/kernel/heap.c
@@ -249,6 +249,31 @@ BOOL WINAPI HeapUnlock(
/***********************************************************************
+ * HeapSetInformation (KERNEL32.@)
+ * Change options for a given heap.
+ *
+ * NOTES
+ * All options are ignored.
+ *
+ * RETURNS
+ * TRUE: Success
+ * FALSE: Failure
+ */
+BOOL WINAPI HeapSetInformation(
+ HANDLE heap, /* [in] Handle to the heap */
+ DWORD class, /* [in] enum describing which option to set */
+ LPCVOID poption, /* [in] Pointer to option value */
+ DWORD optionlen /* [in] Length of option value */
+) {
+ /* Only option available is Low Fragmentation Heap, which
+ * is just a performance thing. Allow but ignore; this should let
+ * Lionhead Studios' Black & White 2 run.
+ */
+ return TRUE;
+}
+
+
+/***********************************************************************
* GetProcessHeap (KERNEL32.@)
*/
HANDLE WINAPI GetProcessHeap(void)
diff --git a/dlls/kernel/kernel32.spec b/dlls/kernel/kernel32.spec
index 7369b59..d0e2cf7 100644
--- a/dlls/kernel/kernel32.spec
+++ b/dlls/kernel/kernel32.spec
@@ -696,7 +696,7 @@
@ stub HeapQueryTagW
@ stdcall HeapReAlloc(long long ptr long) ntdll.RtlReAllocateHeap
@ stub HeapSetFlags
-# @ stub HeapSetInformation
+@ stdcall HeapSetInformation(long long ptr long)
@ stdcall HeapSize(long long ptr) ntdll.RtlSizeHeap
@ stub HeapSummary
@ stdcall HeapUnlock(long)
More information about the wine-patches
mailing list