winfsp unit tests and fixes
This commit is contained in:
parent
3871e44732
commit
8018ce51a0
@ -986,22 +986,22 @@ auto remote_server::winfsp_create(PWSTR file_name, UINT32 create_options,
|
||||
{utils::string::to_utf8(file_name)}))
|
||||
.exists());
|
||||
|
||||
auto create_flags{FILE_FLAG_BACKUP_SEMANTICS};
|
||||
attributes |= FILE_FLAG_BACKUP_SEMANTICS;
|
||||
if ((create_options & FILE_DIRECTORY_FILE) != 0U) {
|
||||
create_flags |= FILE_FLAG_POSIX_SEMANTICS;
|
||||
attributes |= FILE_FLAG_POSIX_SEMANTICS;
|
||||
}
|
||||
|
||||
if ((create_options & FILE_DELETE_ON_CLOSE) != 0U) {
|
||||
create_flags |= FILE_FLAG_DELETE_ON_CLOSE;
|
||||
attributes |= FILE_FLAG_DELETE_ON_CLOSE;
|
||||
}
|
||||
|
||||
attributes |=
|
||||
((create_options & FILE_DIRECTORY_FILE) == 0U ? FILE_ATTRIBUTE_ARCHIVE
|
||||
: FILE_ATTRIBUTE_DIRECTORY);
|
||||
auto *handle = ::CreateFileW(
|
||||
file_path.c_str(), granted_access,
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, nullptr,
|
||||
CREATE_NEW, static_cast<DWORD>(create_flags) | attributes, nullptr);
|
||||
auto *handle =
|
||||
::CreateFileW(file_path.c_str(), granted_access,
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
|
||||
nullptr, CREATE_NEW, attributes, nullptr);
|
||||
if (handle != INVALID_HANDLE_VALUE) {
|
||||
*file_desc = reinterpret_cast<PVOID>(handle);
|
||||
normalized_name = utils::string::to_utf8(file_name);
|
||||
|
Loading…
x
Reference in New Issue
Block a user