ntdll: Add stub for RtlSetHeapInformation (try 2)

Sergey Kalinichev kalinichev.so.0 at gmail.com
Fri Dec 19 07:50:49 CST 2014


This helps some applications to launch.

Forgot to add the RtlSetHeapInformation into winternl.h
-------------- next part --------------
From 0080bd0a53e96c58d075aafffc654b589f36416e Mon Sep 17 00:00:00 2001
From: Sergey Kalinichev <kalinichev.so.0 at gmail.com>
Date: Mon, 15 Dec 2014 21:15:07 +0400
Subject:  ntdll: Add stub for RtlSetHeapInformation

---
 dlls/kernel32/heap.c  | 5 +++--
 dlls/ntdll/heap.c     | 9 +++++++++
 dlls/ntdll/ntdll.spec | 2 +-
 include/winternl.h    | 1 +
 4 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/dlls/kernel32/heap.c b/dlls/kernel32/heap.c
index 9037f8e..cac73ec 100644
--- a/dlls/kernel32/heap.c
+++ b/dlls/kernel32/heap.c
@@ -296,8 +296,9 @@ BOOL WINAPI HeapQueryInformation( HANDLE heap, HEAP_INFORMATION_CLASS info_class
 
 BOOL WINAPI HeapSetInformation( HANDLE heap, HEAP_INFORMATION_CLASS infoclass, PVOID info, SIZE_T size)
 {
-    FIXME("%p %d %p %ld\n", heap, infoclass, info, size );
-    return TRUE;
+    NTSTATUS ret = RtlSetHeapInformation( heap, infoclass, info, size );
+    if (ret) SetLastError( RtlNtStatusToDosError(ret) );
+    return !ret;
 }
 
 /*
diff --git a/dlls/ntdll/heap.c b/dlls/ntdll/heap.c
index 3bb7a11..4ef44cf 100644
--- a/dlls/ntdll/heap.c
+++ b/dlls/ntdll/heap.c
@@ -2252,3 +2252,12 @@ NTSTATUS WINAPI RtlQueryHeapInformation( HANDLE heap, HEAP_INFORMATION_CLASS inf
         return STATUS_INVALID_INFO_CLASS;
     }
 }
+
+/***********************************************************************
+ *           RtlSetHeapInformation    (NTDLL.@)
+ */
+NTSTATUS WINAPI RtlSetHeapInformation( HANDLE heap, HEAP_INFORMATION_CLASS info_class, PVOID info, SIZE_T size)
+{
+    FIXME("%p %d %p %ld stub\n", heap, info_class, info, size);
+    return STATUS_SUCCESS;
+}
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 7e95969..51de6e7 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -847,7 +847,7 @@
 @ stdcall RtlSetDaclSecurityDescriptor(ptr long ptr long)
 @ stdcall RtlSetEnvironmentVariable(ptr ptr ptr)
 @ stdcall RtlSetGroupSecurityDescriptor(ptr ptr long)
-# @ stub RtlSetHeapInformation
+@ stdcall RtlSetHeapInformation(long long ptr long)
 @ stub RtlSetInformationAcl
 @ stdcall RtlSetIoCompletionCallback(long ptr long)
 @ stdcall RtlSetLastWin32Error(long)
diff --git a/include/winternl.h b/include/winternl.h
index 5a27f94..1a694da 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -2507,6 +2507,7 @@ NTSYSAPI NTSTATUS  WINAPI RtlSetCurrentDirectory_U(const UNICODE_STRING*);
 NTSYSAPI void      WINAPI RtlSetCurrentEnvironment(PWSTR, PWSTR*);
 NTSYSAPI NTSTATUS  WINAPI RtlSetDaclSecurityDescriptor(PSECURITY_DESCRIPTOR,BOOLEAN,PACL,BOOLEAN);
 NTSYSAPI NTSTATUS  WINAPI RtlSetEnvironmentVariable(PWSTR*,PUNICODE_STRING,PUNICODE_STRING);
+NTSYSAPI NTSTATUS  WINAPI RtlSetHeapInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T);
 NTSYSAPI NTSTATUS  WINAPI RtlSetOwnerSecurityDescriptor(PSECURITY_DESCRIPTOR,PSID,BOOLEAN);
 NTSYSAPI NTSTATUS  WINAPI RtlSetGroupSecurityDescriptor(PSECURITY_DESCRIPTOR,PSID,BOOLEAN);
 NTSYSAPI NTSTATUS  WINAPI RtlSetIoCompletionCallback(HANDLE,PRTL_OVERLAPPED_COMPLETION_ROUTINE,ULONG);
-- 
2.1.1



More information about the wine-patches mailing list