ntdll: Partly implement RtlDosPathNameToRelativeNtPathName_U_WithStatus.

Signed-off-by: Stefan Leichter <sle85276@gmx.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Stefan Leichter 2018-05-31 17:15:35 +02:00 committed by Alexandre Julliard
parent 914d387214
commit bbfc01ccdc
3 changed files with 29 additions and 0 deletions

View File

@ -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)

View File

@ -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
*

View File

@ -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 */