Minifilter Generated IO’s.ppt_第1页
Minifilter Generated IO’s.ppt_第2页
Minifilter Generated IO’s.ppt_第3页
Minifilter Generated IO’s.ppt_第4页
Minifilter Generated IO’s.ppt_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 2004 Microsoft Corporation. All rights reserved.,1,Minifilter Generated IOs, 2004 Microsoft Corporation. All rights reserved.,2,Benefits of Using Filter Manager Routines for IO Generation,Operations can be targeted at a given instance Only seen by instances BELOW the specified instance You usually

2、specify your current instance Solves recursive IO problems Minifilter unload will wait for outstanding operations, 2004 Microsoft Corporation. All rights reserved.,3,Creating/Opening files,FltCreateFile() Filter Manager equivalent to IoCreateFileSpecifyDeviceObjectHint() Optionally specify instance

3、CREATE and all other operations to this handle will be seen by all filters BELOW the given instance If instance is NULL, request will go to the top of the device stack Returns a handle that can be used with Zw() and Nt() APIs These operations will be properly targeted Includes “options” parameter li

4、ke IoCreateFileSpecifyDeviceObjectHint() IO_IGNORE_SHARE_ACCESS_CHECK allows share access checks to be bypassed, 2004 Microsoft Corporation. All rights reserved.,4,Reading and writing files,FltReadFile()/FltWriteFile() Equivalent to rolling your own READ/WRITE IRP in legacy model Specify instance Al

5、l instances BELOW specified instance will see operation Takes FileObject, not handle Works with any FileObject (even those opened in user mode) Supports Synchronous as well as Asynchronous operations Determined by whether or not an AsyncCallback parameter is passed in, 2004 Microsoft Corporation. Al

6、l rights reserved.,5,Reparse points,FltTagFile() Set a reparse point on the given file Equivalent to rolling your own FSCTL_SET_REPARSE_POINT IRP Specify instance All instances BELOW specified instance will see operation Takes FileObject, not handle Works with any FileObject FltUntagFile() Remove a

7、reparse point from the given file Equivalent to rolling your own FSCTL_DELETE_REPARSE_POINT IRP Specify instance All instances BELOW specified instance will see operation Takes FileObject, not handle Works with any FileObject, 2004 Microsoft Corporation. All rights reserved.,6,Generating your own IO

8、s,FltAllocateCallbackData() Specify instance All instances BELOW specified instance will see operation Optionally specify Optionally specify FileObject You setup IRP_MAJOR, IRP_MINOR, and operation specific parameters FltPerformSynchronousIo() Issues the IO synchronously FltPerformAsynchronousIo() I

9、ssues the IO asynchronously Specify callback routine and context Callback routine may be called at DPC level FltReissueSynchronousIo(), 2004 Microsoft Corporation. All rights reserved.,7,Generating your own IOs,FltReuseCallbackData() Will reinitialize structure for use with another operation to the

10、same Instance and FileObject Cannot change Instance or FileObject Faster then freeing and reallocating You re-setup IRP_MAJOR, IRP_MINOR, operation specific parameters FltFreeCallbackData() Must free all CallbackData structures you allocate, 2004 Microsoft Corporation. All rights reserved.,8,Reissue

11、 IO,FltReissueSynchronousIo() Given an arbitrary CallbackData, will issue a synchronous operation using the current parameter definitions Cannot change instance All instances BELOW your instance will see operation Cannot be called from DPC level Sample usage: Reissuing a create request with the FILE

12、_OPEN_REPARSE_POINT flag set because the original request failed with STATUS_REPARSE, 2004 Microsoft Corporation. All rights reserved.,9,Canceling File Open,FltCancelFileOpen() Allows a filter to close a file that was opened by the file system driver. Should be called from the post-operation routine after a successful create completion. The IoCancelFileOpen() bug has been fixed, 2004 Microsoft Corporation. All rights reserved.,10,General Purpose IO Routines,FltQueryInformationFile FltSetInformationFile FltQueryVolumeInformationFile FltSetVolumeInformation FltQueryS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论