📄 wdf_filter_fio.h
字号:
// 头文件: wdf_filter_fio.h
//
// 代码文件: wdf_filter_fio.c
//
// 说明: 这两个文件中含有所有wdf_filter所用到fastio函数的声明和
// 实现。开发filesys filter驱动的时候需要用到这个
//
// 依赖: 这个头文件依赖于wdf.h和wdf_fast_io.h
#ifndef _WDF_FILTER_FIO_H_DKJKJDF_EJ8RER_DKJFEA_
#define _WDF_FILTER_FIO_H_DKJKJDF_EJ8RER_DKJFEA_
#include "wdf_filter.h"
#include "wdf/wd_dev.h"
#include "wdf/wd_irp.h"
#include "wdf/wd_mem.h"
wd_bool
wdff_fio_check(
in wd_file * fileobject,
in wd_lgint * fileoffset,
in wd_ulong length,
in wd_bool wait,
in wd_ulong lockkey,
in wd_bool checkforreadoperation,
out wd_io_stat_block * iostatus,
in wd_dev * deviceobject
);
wd_bool
wdff_fio_read(
in wd_file * fileobject,
in wd_lgint * fileoffset,
in wd_ulong length,
in wd_bool wait,
in wd_ulong lockkey,
out wd_void * buffer,
out wd_io_stat_block * iostatus,
in wd_dev * deviceobject
);
wd_bool
wdff_fio_write(
in wd_file * fileobject,
in wd_lgint * fileoffset,
in wd_ulong length,
in wd_bool wait,
in wd_ulong lockkey,
in wd_void * buffer,
out wd_io_stat_block * iostatus,
in wd_dev * deviceobject
);
wd_bool
wdff_fio_query_basic_info(
in wd_file * fileobject,
in wd_bool wait,
out wd_file_basic_infor * buffer,
out wd_io_stat_block * iostatus,
in wd_dev * deviceobject
);
wd_bool
wdff_fio_query_standard_info(
in wd_file * fileobject,
in wd_bool wait,
out wd_file_standard_infor * buffer,
out wd_io_stat_block * iostatus,
in wd_dev * deviceobject
);
wd_bool
wdff_fio_io_lock(
in wd_file * fileobject,
in wd_lgint * fileoffset,
in wd_lgint * length,
wd_proc_id processid,
wd_ulong key,
wd_bool failimmediately,
wd_bool exclusivelock,
out wd_io_stat_block * iostatus,
in wd_dev * deviceobject
);
wd_bool
wdff_fio_unlock_s(
in wd_file * fileobject,
in wd_lgint * fileoffset,
in wd_lgint * length,
wd_proc_id processid,
wd_ulong key,
out wd_io_stat_block * iostatus,
in wd_dev * deviceobject
);
wd_bool
wdff_fio_unlock_a(
in wd_file * fileobject,
wd_proc_id processid,
out wd_io_stat_block * iostatus,
in wd_dev * deviceobject
);
wd_bool
wdff_fio_unlock_a_by_key(
in wd_file * fileobject,
wd_void * processid,
wd_ulong key,
out wd_io_stat_block * iostatus,
in wd_dev * deviceobject
);
wd_bool
wdff_fio_dev_ctl(
in wd_file * fileobject,
in wd_bool wait,
in wd_void * inputbuffer optional,
in wd_ulong inputbufferlength,
out wd_void * outputbuffer optional,
in wd_ulong outputbufferlength,
in wd_ulong iocontrolcode,
out wd_io_stat_block * iostatus,
in wd_dev * deviceobject
);
wd_void wdff_fio_detach_dev(
in wd_dev * sourcedevice,
in wd_dev * targetdevice
);
wd_bool wdff_fio_query_net_open_info(
in wd_file * fileobject,
in wd_bool wait,
out wd_file_net_open_infor * buffer,
out wd_io_stat_block * iostatus,
in wd_dev * deviceobject
);
wd_bool wdff_fio_mdl_read(
in wd_file * fileobject,
in wd_lgint * fileoffset,
in wd_ulong length,
in wd_ulong lockkey,
out wd_pmdl *mdlchain,
out wd_io_stat_block * iostatus,
in wd_dev * deviceobject
);
wd_bool wdff_fio_mdl_read_complete(
in wd_file * fileobject,
in wd_pmdl mdlchain,
in wd_dev * deviceobject
);
wd_bool wdff_fio_prepare_mdl_write(
in wd_file * fileobject,
in wd_lgint * fileoffset,
in wd_ulong length,
in wd_ulong lockkey,
out wd_pmdl *mdlchain,
out wd_io_stat_block * iostatus,
in wd_dev * deviceobject
);
wd_bool wdff_fio_mdl_write_complete(
in wd_file * fileobject,
in wd_lgint * fileoffset,
in wd_pmdl mdlchain,
in wd_dev * deviceobject
);
wd_bool wdff_fio_read_compressed(
in wd_file * fileobject,
in wd_lgint * fileoffset,
in wd_ulong length,
in wd_ulong lockkey,
out wd_void * buffer,
out wd_pmdl *mdlchain,
out wd_io_stat_block * iostatus,
out wd_compressed_data_info *compresseddatainfo,
in wd_ulong compresseddatainfolength,
in wd_dev * deviceobject
);
wd_bool wdff_fio_write_compressed(
in wd_file * fileobject,
in wd_lgint * fileoffset,
in wd_ulong length,
in wd_ulong lockkey,
in wd_void * buffer,
out wd_pmdl *mdlchain,
out wd_io_stat_block * iostatus,
in wd_compressed_data_info *compresseddatainfo,
in wd_ulong compresseddatainfolength,
in wd_dev * deviceobject
);
wd_bool wdff_fio_mdl_read_complete_compressed(
in wd_file * fileobject,
in wd_pmdl mdlchain,
in wd_dev * deviceobject
);
wd_bool wdff_fio_mdl_write_complete_compressed(
in wd_file * fileobject,
in wd_lgint * fileoffset,
in wd_pmdl mdlchain,
in wd_dev * deviceobject
);
wd_bool wdff_fio_query_open(
in wd_pirp irp,
out wd_file_net_open_infor * networkinformation,
in wd_dev * deviceobject
);
#endif //_WDF_FILTER_FIO_H_DKJKJDF_EJ8RER_DKJFEA_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -