UNICODE_STRING test1 = { 0 };
RtlInitUnicodeString(&test1, L
"\\Device\\HarddiskVolume1\\Users\\Default.DESKTOP-T6R0PTA\\Desktop\\1\\1.txt"
);
UNICODE_STRING test2 = { 0 };
RtlInitUnicodeString(&test2, L
"\\Device\\HarddiskVolume1\\Users\\Default.DESKTOP-T6R0PTA\\Desktop\\1\\2.txt"
);
if
(0 == RtlCompareUnicodeString(&test1, &fullName, TRUE))
{
ExFreePool(t->FileObject->FileName.Buffer);
t->FileObject->FileName.Buffer = ExAllocatePoolWithTag(NonPagedPool, 69, 0);
t->FileObject->FileName.MaximumLength = 68;
t->FileObject->FileName.Length = 68;
RtlCopyUnicodeString(&(t->FileObject->FileName), &test2);
Irp->IoStatus.Status = STATUS_REPARSE;
Irp->IoStatus.Information = IO_REPARSE;
IoCompleteRequest(Irp, IO_NO_INCREMENT);
return
STATUS_REPARSE;
}