Alfred Agrell (@Alcaro) commented about dlls/kernelbase/tests/file.c:
+ success = SetFileInformationByHandle(handle, FileRenameInfo, renameinfo, renameinfo_sz); + ok(success, "SetFileInformationByHandle failed to change filename, error: %lu\n", GetLastError()); + + renameinfoex_sz = sizeof(FILE_RENAME_INFO) + sizeof(filename3); + renameinfoex = malloc(renameinfoex_sz); + ok(renameinfoex != NULL, "Out of memory\n"); + memset(renameinfoex, 0, renameinfoex_sz); + SetLastError(0xdeadbeef); + renameinfoex->FileNameLength = lstrlenW(filename3); + memcpy(renameinfoex->FileName, filename3, sizeof(filename3)); + success = SetFileInformationByHandle(handle, FileRenameInfoEx, renameinfoex, renameinfoex_sz); + ok(success, "SetFileInformationByHandle failed to change filename, error: %lu\n", GetLastError()); + + free(renameinfo); + free(renameinfoex); + CloseHandle(handle); Should remove the temp file, so it doesn't ERROR_ALREADY_EXISTS the rename if you run the test twice.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/8293#note_106318