📄 fsfe.h
字号:
#ifndef _FSFE_HEADER_KDJIEUFKD9_9409504_238423_H_
#define _FSFE_HEADER_KDJIEUFKD9_9409504_238423_H_
#include "wdf_filter.h"
#include "wdf/wd_ustr.h"
#include "wdf/wd_dev.h"
#include "wdf/wd_irp.h"
#include "wdf/wd_mem.h"
/**
* @defgroup fsfe 文件系统过滤
*
*/
/*@{*/
/** 设置控制设备路径.
* 必须在fsfe_main中调用此函数,而且不能在其他地方调用.
* 如果未调用,你的控制设备没有名字,初始化会失败。
* @param name 你要产生的控制设备的全路径。应该用L"\\FileSystem
\\Filters\\开头",这是微软推荐.
* @return 返回一个wd_ustr_h,这是此字符串的句柄。你可
* 以保留它。但是请不要释放或者修改它.
*/
wd_ustr_h *fsfe_set_cdo_name(const wd_wchar *name);
/** 设置控制设备路径.
* 必须在fsfe_main中调用此函数,而且不能在其他地方调用.
* 如果未调用,你的控制
* 设备没有符号连接,无法和应用程序通信。
* @param link 你要产生的控制设备的符号连接名
* @return 返回一个wd_ustr_h,这是此字符串的句柄。你可
以保留它。但是请不要释
* 放或者修改它.
*/
wd_ustr_h *fsfe_set_cdo_link(const wd_wchar *link);
/** 设置控制2000下的控制设备路径.
* 必须在fsfe_main中调用此函数,而且不能在其他地方调用.
如果未调用,在2000下加
载驱动的时候,会没有控制设备名。
* @param name 你要产生的控制设备的全路径。应该用
L"\\FileSystem\\开头",这是微软推荐.
* @return 返回一个wd_ustr_h,这是此字符串的句柄。你可
* 以保留它。但是请不要释放或者修改它.
*/
wd_ustr_h *fsfe_set_cdo_name_2k(const wd_wchar *name);
/** 设置控制2000下的控制设备符号连接.
* 必须在fsfe_main中调用此函数,而且不能在其他地方调用.
* 如果未调用,在2000下加载驱动的时候,会没有控制设备名。
* 设备没有符号连接,无法和应用程序通信。
* @param link 你要产生的控制设备的符号连接名
* @return 返回一个wd_ustr_h,这是此字符串的句柄。你可
以保留它。但是请不要释放或者修改它.
*/
wd_ustr_h *fsfe_set_cdo_link_2k(const wd_wchar *link);
wd_void fsfe_set_read_write(wdff_callback_pre_func read_write);
wd_void fsfe_set_device_io_ctrl(wdff_callback_pre_func device_io_ctrl);
wd_void fsfe_set_close_clean_up(wdff_callback_pre_func close_clean_up);
wd_void fsfe_set_create(wdff_callback_pre_func create);
wd_void fsfe_set_read_write_comp(wdff_callback_post_func read_write_comp);
wd_void fsfe_set_device_io_ctrl_comp(wdff_callback_post_func device_io_ctrl_comp);
wd_void fsfe_set_close_clean_up_comp(wdff_callback_post_func close_clean_up_comp);
wd_void fsfe_set_create_comp(wdff_callback_post_func create_comp);
wd_void fsfe_set_other(wdff_callback_pre_func other);
wd_void fsfe_set_other_comp(wdff_callback_post_func other_comp);
_inline wd_void FsfeSetDeviceIoCtrl(WdffCallbackPreFunc DeviceIoCtrl)
{ fsfe_set_device_io_ctrl(DeviceIoCtrl); }
_inline wd_void FsfeSetReadWrite(WdffCallbackPreFunc ReadWrite)
{ fsfe_set_read_write(ReadWrite); }
_inline wd_ustr_h *FsfeSetCdoName(const wd_wchar *name)
{ return fsfe_set_cdo_name(name); }
_inline wd_ustr_h *FsfeSetCdoLink(const wd_wchar *link)
{ return fsfe_set_cdo_link(link); }
_inline wd_ustr_h *FsfeSetCdoName2k(const wd_wchar *name)
{ return fsfe_set_cdo_name_2k(name); }
_inline wd_ustr_h *FsfeSetCdoLink2k(const wd_wchar *link)
{ return fsfe_set_cdo_link_2k(link); }
/*@}*/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -