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.