[PATCH 04/10] ntdll: Add stubs for LdrAddLoadAsDataTable and LdrRemoveLoadAsDataTable.
Mark Harmstone
mark at harmstone.com
Sat Mar 27 14:47:31 CDT 2021
Signed-off-by: Mark Harmstone <mark at harmstone.com>
---
dlls/ntdll/mui.c | 28 ++++++++++++++++++++++++++++
dlls/ntdll/ntdll.spec | 2 ++
include/winternl.h | 2 ++
3 files changed, 32 insertions(+)
diff --git a/dlls/ntdll/mui.c b/dlls/ntdll/mui.c
index e27a1fba1b8..36b1af72591 100644
--- a/dlls/ntdll/mui.c
+++ b/dlls/ntdll/mui.c
@@ -20,6 +20,8 @@
#include <stdarg.h>
+#include "ntstatus.h"
+#define WIN32_NO_STATUS
#include "winternl.h"
#include "wine/debug.h"
@@ -510,3 +512,29 @@ BOOLEAN WINAPI RtlLCIDToCultureName( LCID lcid, PUNICODE_STRING string )
return FALSE;
}
+
+/***********************************************************************
+ * LdrAddLoadAsDataTable (NTDLL.@)
+ *
+ * Called when a data-only PE image is mapped.
+ */
+NTSTATUS NTAPI LdrAddLoadAsDataTable( PVOID module, PWSTR file_path, SIZE_T size, HANDLE handle )
+{
+ FIXME("(%p, %s, %lx, %p)\n", module, debugstr_w(file_path), size, handle);
+
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/***********************************************************************
+ * LdrRemoveLoadAsDataTable (NTDLL.@)
+ *
+ * Called when a PE image is unloaded, that had been mapped for data
+ * access only.
+ */
+NTSTATUS NTAPI LdrRemoveLoadAsDataTable( PVOID init_module, PVOID *base_module, PSIZE_T size,
+ ULONG flags )
+{
+ FIXME("(%p, %p, %p, %x)\n", init_module, base_module, size, flags);
+
+ return STATUS_NOT_IMPLEMENTED;
+}
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index d27aaf1da58..11a233d4e9b 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -73,6 +73,7 @@
# @ stub LdrAccessOutOfProcessResource
@ stdcall LdrAccessResource(long ptr ptr ptr)
@ stdcall LdrAddDllDirectory(ptr ptr)
+@ stdcall LdrAddLoadAsDataTable(ptr ptr long ptr)
@ stdcall LdrAddRefDll(long ptr)
# @ stub LdrAlternateResourcesEnabled
# @ stub LdrCreateOutOfProcessImage
@@ -102,6 +103,7 @@
@ stdcall LdrQueryProcessModuleInformation(ptr long ptr)
@ stdcall LdrRegisterDllNotification(long ptr ptr ptr)
@ stdcall LdrRemoveDllDirectory(ptr)
+@ stdcall LdrRemoveLoadAsDataTable(ptr ptr ptr long)
@ stdcall LdrResolveDelayLoadedAPI(ptr ptr ptr ptr ptr long)
@ stub LdrSetAppCompatDllRedirectionCallback
@ stdcall LdrSetDefaultDllDirectories(long)
diff --git a/include/winternl.h b/include/winternl.h
index fcdedaec8aa..a14feba0a8a 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -3444,6 +3444,7 @@ NTSYSAPI NTSTATUS WINAPI DbgUiWaitStateChange(DBGUI_WAIT_STATE_CHANGE*,LARGE_IN
NTSYSAPI void WINAPI DbgUserBreakPoint(void);
NTSYSAPI NTSTATUS WINAPI LdrAccessResource(HMODULE,const IMAGE_RESOURCE_DATA_ENTRY*,void**,PULONG);
NTSYSAPI NTSTATUS WINAPI LdrAddDllDirectory(const UNICODE_STRING*,void**);
+NTSYSAPI NTSTATUS WINAPI LdrAddLoadAsDataTable(PVOID, PWSTR, SIZE_T, HANDLE);
NTSYSAPI NTSTATUS WINAPI LdrAddRefDll(ULONG,HMODULE);
NTSYSAPI NTSTATUS WINAPI LdrDisableThreadCalloutsForDll(HMODULE);
NTSYSAPI NTSTATUS WINAPI LdrFindEntryForAddress(const void*, PLDR_DATA_TABLE_ENTRY*);
@@ -3460,6 +3461,7 @@ NTSYSAPI NTSTATUS WINAPI LdrQueryImageFileExecutionOptions(const UNICODE_STRING
NTSYSAPI NTSTATUS WINAPI LdrQueryProcessModuleInformation(SYSTEM_MODULE_INFORMATION*, ULONG, ULONG*);
NTSYSAPI NTSTATUS WINAPI LdrRegisterDllNotification(ULONG,PLDR_DLL_NOTIFICATION_FUNCTION,void*,void**);
NTSYSAPI NTSTATUS WINAPI LdrRemoveDllDirectory(void*);
+NTSYSAPI NTSTATUS WINAPI LdrRemoveLoadAsDataTable(PVOID, PVOID*, PSIZE_T, ULONG);
NTSYSAPI NTSTATUS WINAPI LdrSetDefaultDllDirectories(ULONG);
NTSYSAPI NTSTATUS WINAPI LdrSetDllDirectory(const UNICODE_STRING*);
NTSYSAPI void WINAPI LdrShutdownProcess(void);
--
2.26.3
More information about the wine-devel
mailing list