NewPathU.Buffer = NULL;
ExistingPathU.Buffer = NULL;
- _SEH3_TRY
+ _SEH2_TRY
{
/* Don't allow renaming to a disk */
if (lpNewFileName && RtlIsDosDeviceName_U(lpNewFileName))
{
BaseSetLastNTError(STATUS_OBJECT_NAME_COLLISION);
- _SEH3_LEAVE;
+ _SEH2_LEAVE;
}
ReplaceIfExists = !!(dwFlags & MOVEFILE_REPLACE_EXISTING);
if (!RtlDosPathNameToNtPathName_U(lpExistingFileName, &ExistingPathU, NULL, NULL))
{
BaseSetLastNTError(STATUS_OBJECT_PATH_NOT_FOUND);
- _SEH3_LEAVE;
+ _SEH2_LEAVE;
}
/* Sanitize input */
if (DelayUntilReboot && (dwFlags & MOVEFILE_CREATE_HARDLINK))
{
BaseSetLastNTError(STATUS_INVALID_PARAMETER);
- _SEH3_LEAVE;
+ _SEH2_LEAVE;
}
/* Unless we manage a proper opening, we'll attempt to reopen without reparse support */
else if (Status != STATUS_INVALID_PARAMETER)
{
BaseSetLastNTError(Status);
- _SEH3_LEAVE;
+ _SEH2_LEAVE;
}
}
else
if (Status != STATUS_NOT_IMPLEMENTED && Status != STATUS_INVALID_PARAMETER)
{
BaseSetLastNTError(Status);
- _SEH3_LEAVE;
+ _SEH2_LEAVE;
}
/* Not a reparse point, no need to reopen, it's fine */
if (!NT_SUCCESS(Status))
{
BaseSetLastNTError(Status);
- _SEH3_LEAVE;
+ _SEH2_LEAVE;
}
}
else if (!RtlDosPathNameToNtPathName_U(lpNewFileName, &NewPathU, 0, 0))
{
BaseSetLastNTError(STATUS_OBJECT_PATH_NOT_FOUND);
- _SEH3_LEAVE;
+ _SEH2_LEAVE;
}
/* Handle postponed renaming */
if (NewBuffer == NULL)
{
BaseSetLastNTError(STATUS_NO_MEMORY);
- _SEH3_LEAVE;
+ _SEH2_LEAVE;
}
NewBuffer[0] = L'!';
if (!NT_SUCCESS(Status))
{
BaseSetLastNTError(Status);
- _SEH3_LEAVE;
+ _SEH2_LEAVE;
}
Ret = TRUE;
- _SEH3_LEAVE;
+ _SEH2_LEAVE;
}
/* At that point, we MUST have a source handle */
if (RenameInfo == NULL)
{
BaseSetLastNTError(STATUS_NO_MEMORY);
- _SEH3_LEAVE;
+ _SEH2_LEAVE;
}
RtlCopyMemory(&RenameInfo->FileName, NewPathU.Buffer, NewPathU.Length);
{
/* If it succeed, all fine, quit */
Ret = TRUE;
- _SEH3_LEAVE;
+ _SEH2_LEAVE;
}
/* If we failed for any other reason than not the same device, fail
* If we failed because of different devices, only allow renaming if user allowed copy
else
{
BaseSetLastNTError(Status);
- _SEH3_LEAVE;
+ _SEH2_LEAVE;
}
}
}
}
}
- _SEH3_FINALLY
+ _SEH2_FINALLY
{
if (SourceHandle != INVALID_HANDLE_VALUE)
NtClose(SourceHandle);
RtlFreeHeap(RtlGetProcessHeap(), 0, ExistingPathU.Buffer);
RtlFreeHeap(RtlGetProcessHeap(), 0, NewPathU.Buffer);
}
- _SEH3_END;
+ _SEH2_END;
return Ret;
}