DIRECTORY_ALL_ACCESS is not the correct flag, because it is used with the NtCreateDirectoryObject API
that creates virtual "directories" in the NT object namespace; that's not our purpose here.
svn path=/branches/setup_improvements/; revision=74716
HANDLE DirectoryHandle;
NTSTATUS Status;
- if(!RtlCreateUnicodeString(&PathName, DirectoryName))
+ if (!RtlCreateUnicodeString(&PathName, DirectoryName))
return STATUS_NO_MEMORY;
if (PathName.Length > sizeof(WCHAR) &&
NULL);
Status = NtCreateFile(&DirectoryHandle,
- DIRECTORY_ALL_ACCESS,
+ FILE_LIST_DIRECTORY | SYNCHRONIZE,
&ObjectAttributes,
&IoStatusBlock,
NULL,
FILE_ATTRIBUTE_DIRECTORY,
FILE_SHARE_READ | FILE_SHARE_WRITE,
FILE_OPEN_IF,
- FILE_DIRECTORY_FILE,
+ FILE_OPEN_FOR_BACKUP_INTENT | FILE_DIRECTORY_FILE,
NULL,
0);
if (NT_SUCCESS(Status))