Module: wine Branch: master Commit: bbfc01ccdcf887b76a1f22c79aa5d42a7fdc5a36 URL: https://source.winehq.org/git/wine.git/?a=commit;h=bbfc01ccdcf887b76a1f22c79...
Author: Stefan Leichter sle85276@gmx.de Date: Thu May 31 17:15:35 2018 +0200
ntdll: Partly implement RtlDosPathNameToRelativeNtPathName_U_WithStatus.
Signed-off-by: Stefan Leichter sle85276@gmx.de Signed-off-by: Alexandre Julliard julliard@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 */