1
미니 필터에서 이름 바꾸기 작업을 취소하고 싶습니다. 파일 이름을 바꿀 때를 감지하는 코드를 작성했지만 작업을 실제로 취소하는 방법이 명확하지 않습니다. 아무도 이것으로 나를 도울 수 있습니까?미니 필터 드라이버에서 이름 바꾸기 작업을 취소하는 방법
다음은 파일 이름 변경을 감지하는 콜백 루틴입니다.
FLT_PREOP_CALLBACK_STATUS
PreSetInformation(
_Inout_ PFLT_CALLBACK_DATA Cbd,
_In_ PCFLT_RELATED_OBJECTS FltObjects,
_Flt_CompletionContext_Outptr_ PVOID *CompletionContext
)
{
if (Cbd->Iopb->Parameters.SetFileInformation.FileInformationClass == FileRenameInformation)
{
WCHAR buf[MAX_PATH] = { 0 };
PFILE_RENAME_INFORMATION renameInfo = Cbd->Iopb->Parameters.SetFileInformation.InfoBuffer;
memcpy(buf, renameInfo->FileName, renameInfo->FileNameLength);
DbgPrint("renameInfo %ws\n", buf);
if (anCondition(buf))
{
// TO DO: cancel a rename
}
}
return FLT_PREOP_SUCCESS_NO_CALLBACK;
}