Stefan Leichter : ntdll: Partly implement RtlDosPathNameToRelativeNtPathName_U_WithStatus.
Alexandre Julliard
julliard at winehq.org
Fri Jun 1 18:19:54 CDT 2018
Module: wine
Branch: master
Commit: bbfc01ccdcf887b76a1f22c79aa5d42a7fdc5a36
URL: https://source.winehq.org/git/wine.git/?a=commit;h=bbfc01ccdcf887b76a1f22c79aa5d42a7fdc5a36
Author: Stefan Leichter <sle85276 at gmx.de>
Date: Thu May 31 17:15:35 2018 +0200
ntdll: Partly implement RtlDosPathNameToRelativeNtPathName_U_WithStatus.
Signed-off-by: Stefan Leichter <sle85276 at gmx.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntdll/ntdll.spec | 1 +
dlls/ntdll/path.c | 21 +++++++++++++++++++++
include/winternl.h | 7 +++++++
3 files changed, 29 insertions(+)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 66d4e7c..c0f5d6f 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -564,6 +564,7 @@
# @ stub RtlDosApplyFileIsolationRedirection_Ustr
@ stdcall RtlDosPathNameToNtPathName_U(wstr ptr ptr ptr)
@ stdcall RtlDosPathNameToNtPathName_U_WithStatus(wstr ptr ptr ptr)
+@ stdcall RtlDosPathNameToRelativeNtPathName_U_WithStatus(wstr ptr ptr ptr)
@ stdcall RtlDosSearchPath_U(wstr wstr wstr long ptr ptr)
# @ stub RtlDosSearchPath_Ustr
@ stdcall RtlDowncaseUnicodeChar(long)
diff --git a/dlls/ntdll/path.c b/dlls/ntdll/path.c
index 3062787..0533946 100644
--- a/dlls/ntdll/path.c
+++ b/dlls/ntdll/path.c
@@ -436,6 +436,27 @@ BOOLEAN WINAPI RtlDosPathNameToNtPathName_U(PCWSTR dos_path,
return RtlDosPathNameToNtPathName_U_WithStatus(dos_path, ntpath, file_part, cd) == STATUS_SUCCESS;
}
+/**************************************************************************
+ * RtlDosPathNameToRelativeNtPathName_U_WithStatus [NTDLL.@]
+ *
+ * See RtlDosPathNameToNtPathName_U_WithStatus (except the last parameter)
+ */
+NTSTATUS WINAPI RtlDosPathNameToRelativeNtPathName_U_WithStatus(const WCHAR *dos_path,
+ UNICODE_STRING *ntpath, WCHAR **file_part, RTL_RELATIVE_NAME *relative)
+{
+ TRACE("(%s,%p,%p,%p)\n", debugstr_w(dos_path), ntpath, file_part, relative);
+
+ if (relative)
+ {
+ FIXME("Unsupported parameter\n");
+ memset(relative, 0, sizeof(*relative));
+ }
+
+ /* FIXME: fill parameter relative */
+
+ return RtlDosPathNameToNtPathName_U_WithStatus(dos_path, ntpath, file_part, NULL);
+}
+
/******************************************************************
* RtlDosSearchPath_U
*
diff --git a/include/winternl.h b/include/winternl.h
index 9452f8c..3ecd068 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -148,6 +148,13 @@ typedef struct RTL_DRIVE_LETTER_CURDIR
UNICODE_STRING DosPath;
} RTL_DRIVE_LETTER_CURDIR, *PRTL_DRIVE_LETTER_CURDIR;
+typedef struct _RTL_RELATIVE_NAME
+{
+ UNICODE_STRING RelativeName;
+ HANDLE ContainerDirectory;
+ void *CurDirRef;
+} RTL_RELATIVE_NAME, *PRTL_RELATIVE_NAME;
+
typedef struct tagRTL_BITMAP {
ULONG SizeOfBitMap; /* Number of bits in the bitmap */
PULONG Buffer; /* Bitmap data, assumed sized to a DWORD boundary */
More information about the wine-cvs
mailing list