: http://code.msdn.microsoft.com/windowshardware/Delete-File-System-b904651d타당성 검사 I이 (가)에있는 MSDN에서 미니 필터 예를 삭제 사용하고
내가 달성하기 위해 필요한 것은 :
- 삭제 후보에 대한 핸들을 얻기 DfPreCleanupCallback.
- DfPostCleanupCallback에서 - 파일을 얻은 핸들이 아닌 경우 삭제되어야한다고 결정.
- 또한 DfPostCleanupCallback에서 - 삭제 된 파일에 대한 일부 작업을 수행하고 핸들을 해제합니다. 무한 루프를 피하기 위해 다음에 IRP_MJ_CLEANUP을 입력 할 때 삭제를 보장합니다.
저는 미니 필터와 필터 관리자에 대해 매우 모호한 이해가 있습니다. 따라서 미니 필터 세계를 깊이 파고 들기 전에 이것이 원칙적으로 가능한지 알고 싶습니다.
짧은 버전 - 내가 의심 할 여지없이 삭제됩니다 파일을 결정하고 해당 파일에 일부 작업을 수행하는 방법이 필요합니다.
내가 알고있는 것처럼 삭제 작업을 취소하는 사전 정리 콜백 (삭제 처리 상태를 변경하는 경쟁 조건) 후에 발생할 수있는 몇 가지 사항이 있습니다. 즉, 전 콜백에서 파일이 100 % 확실하게 삭제 될 것임을 알 수 없습니다. 내 생각은 pre 콜백에서 발생하는 정리를 멈추고 포스트 콜백에서 삭제되었는지 결정하기위한 핸들을 얻는 것이 었습니다. 이렇게하면 파일을 필요로하지 않을 것입니다. – ollo
그냥하지 마세요. 이것은 설계 상 부러진다. 청소 후에도 확신 할 수 없습니다. 이 FILE_OBJECT를 닫은 후에도. 하나의 파일에 대해 많은 FILE_OBJECT가있을 수 있습니다. –