青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運轉,開心的工作
簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

File System Filters Driver(一)

Posted on 2009-10-30 12:14 S.l.e!ep.¢% 閱讀(346) 評論(0)  編輯 收藏 引用 所屬分類: Windows WDM
[資料] http://m.shnenglu.com/Files/sleepwom/Windows%20File%20Filters%20Driver%20StudyII.rar

看的資料是狂人的 Windows File Filter Driver II
1. NTSTATUS
??? DriverEntry(
??? IN PDRIVER_OBJECT DriverObject,
??? IN PUNICODE_STRING RegistryPath
??? );? 函數是每個驅動的入口函數

2. DriverObject?簡稱 DO
??? DriverObject 是我們所寫的驅動對應的 DriverObject, 在加載驅動時,由系統分配的一個對象
??? DriverObject?有一組函數指針,稱為 dispatch functions, 開發驅動的任務就是撰寫這些 dispatch function

3. RegistryPath 是專門用于記錄本驅動相關參數的注冊表路徑,也是由系統分配的

4. 小試牛刀
#ifdef?__cplusplus

extern?"C"
{
#endif

#include?
"ntddk.h"

#ifdef?__cplusplus
}
#endif

PDEVICE_OBJECT?gSFilterControlDeviceObject;

VOID?OnUnLoad(IN?PDRIVER_OBJECT?pDriverObject)?
{
????DbgPrint((
"Enter?DriverUnload\n"));
????
????IoDeleteDevice(?gSFilterControlDeviceObject?);

????DbgPrint((
"Leave?DriverUnload\n"));
}

extern?"C"?NTSTATUS?
DriverEntry(
IN?PDRIVER_OBJECT??DriverObject,
IN?PUNICODE_STRING?RegistryPath)
{

????DbgPrint(
"Entry?DriverEntry?Function!\n");

????DriverObject
->DriverUnload?=?OnUnLoad;

????
//?define?a?unicode?string
????UNICODE_STRING?nameString;
????RtlInitUnicodeString(
&nameString,?L"\\FileSystem\\MyFilter");
????
????
//?create?a?control?driver
????NTSTATUS?status;
????status?
=?IoCreateDevice(DriverObject,?
????????????????????????????
0,?//?has?no?device?extension
????????????????????????????&nameString,
????????????????????????????FILE_DEVICE_DISK_FILE_SYSTEM,
????????????????????????????FILE_DEVICE_SECURE_OPEN,
????????????????????????????FALSE,
????????????????????????????
&gSFilterControlDeviceObject);

????
if(?!NT_SUCCESS(?status?)?)
????{
????????DbgPrint((
"DriverEntry:Error?Creating?Control?Device?Object?%wZ?status?=?%08x?\n"),
?????????????????
&nameString,?status);
????????
return?status;
????}

????DbgPrint(
"Leave?DriverEntry!\n");

????
return?STATUS_SUCCESS;
}?

保存為 testwdm.cpp

#
#?DO?NOT?EDIT?THIS?FILE
!!!?Edit?.\sources.?If?you?want?to?add?a?new?source
#?file?to?
this?component.?This?file?merely?indirects?to?the?real?make?file
#?that?
is?shared?by?all?the?driver?components?of?the?Windows?NT?DDK
#

!INCLUDE?$(NTMAKEENV)\makefile.def

保存為 MAKEFILE

TARGETNAME=testwdm
TARGETPATH
=.\sys
TARGETTYPE
=DRIVER
SOURCES
=testwdm.cpp

保存為 SOURCE

三個文件,然后就可以BUILD了
使用 DriverMonitor 加載驅動后,然后使用 WinObj.exe 查看
在 \FileSystem 下面就會多一個 MyFilter 的驅動

使用 DriverMonitor Stop Driver, 并刪除 Driver
\FileSystem 下面的 'MyFilter' 就會消失

FastIo:
FastIo 是獨立于普通的IRP的分發函數之外的另一組接口,但是他們的作用是一樣的, 就是由驅動處理外部給予的請求,
而且所處理的請求也基本相同

FastIo例程返回 FALSE 表示不做任何事,這樣這些請求都會通過IRP重新發送到 普通分發函數.

Q1.? NTSTATUS
???? DriverEntry(
??? IN PDRIVER_OBJECT DriverObject,
??? IN PUNICODE_STRING RegistryPath
??? );
?? 函數無疑是驅動的入口函數,但操作系統加載驅動 至 system 線程調用 DriverEntry() 函數的過程是如何的?


Q2.在本例中,IoCreateDevice() 函數創建的設備是什么設備?假如我想過濾某個物理設備的IRP,是不是需要使用
????? IoCreateDevice()?函數去創建一個設備,并綁定到物理設備上面?

Q3: FastIo 接口位于 普通的 Driver分派函數之上?系統會先調用 FastIo 接口再調用 Driver的分派函數?
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            最新69国产成人精品视频免费| 国产精品99久久不卡二区 | 欧美久久电影| 欧美一级久久久久久久大片| 久久av二区| 一本色道久久综合狠狠躁篇的优点 | 性欧美暴力猛交另类hd| 欧美一区二区三区免费在线看| 亚洲国产精品女人久久久| 99精品欧美一区二区三区综合在线| 国产欧美一区二区三区在线看蜜臀| 欧美成人综合一区| 国产日本精品| 日韩写真视频在线观看| 尤物精品在线| 午夜一级久久| 亚洲一区欧美一区| 欧美国产一区二区在线观看| 久久久噜噜噜| 国产精品激情电影| 亚洲国产日日夜夜| 国产综合av| 亚洲一区视频在线| 亚洲午夜久久久| 欧美福利视频网站| 欧美aaa级| 精品动漫3d一区二区三区| 这里是久久伊人| 一本色道久久88精品综合| 免费久久精品视频| 蜜臀久久久99精品久久久久久| 国产精一区二区三区| 日韩一区二区高清| 一区二区三区|亚洲午夜| 欧美freesex8一10精品| 欧美成黄导航| 亚洲电影免费在线| 久久久噜噜噜久久久| 久久久99免费视频| 国产亚洲第一区| 午夜在线视频观看日韩17c| 亚洲自拍啪啪| 国产精品久久久一区二区三区| 夜夜爽夜夜爽精品视频| 亚洲天堂成人在线观看| 欧美日韩在线视频观看| 日韩一级黄色av| 亚洲一区久久久| 国产精品国产三级国产普通话蜜臀 | 亚洲视频中文字幕| 亚洲综合色激情五月| 欧美日韩调教| 一区二区高清视频在线观看| 亚洲午夜在线观看| 国产精品免费一区豆花| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 久久久久在线观看| 伊人成人开心激情综合网| 久久精品一区四区| 亚洲欧美日韩综合| 欧美在线观看视频| 看欧美日韩国产| 在线视频成人| 欧美激情aaaa| 一区二区三区国产| 欧美一区在线视频| 国产综合久久| 免费观看30秒视频久久| 亚洲经典一区| 亚洲免费综合| 国模吧视频一区| 麻豆视频一区二区| 99综合精品| 久久九九99| 亚洲国产成人porn| 欧美日本成人| 午夜免费在线观看精品视频| 六十路精品视频| 99国产精品国产精品毛片| 国产精品黄色| 久久综合九色综合欧美就去吻| 欧美激情精品久久久久久蜜臀 | 久久精品国产免费| 亚洲第一精品在线| 亚洲综合色激情五月| 狠狠色丁香久久婷婷综合丁香 | 久久久在线视频| 亚洲免费观看高清完整版在线观看熊 | 亚洲精品在线视频观看| 国产精品欧美风情| 久久精品噜噜噜成人av农村| 亚洲片区在线| 久久久久久久久久久久久女国产乱 | 欧美国产日韩xxxxx| 亚洲欧美成人一区二区三区| 一区免费观看视频| 国产精品嫩草影院av蜜臀| 免费观看亚洲视频大全| 亚洲欧美日韩中文播放| 亚洲欧洲日韩在线| 久久先锋影音av| 午夜亚洲视频| 一本色道久久综合狠狠躁篇的优点 | 香蕉免费一区二区三区在线观看| 亚洲成人中文| 国产欧美一区二区三区在线看蜜臀 | 国外成人性视频| 国产精品久久国产愉拍| 欧美aaaaaaaa牛牛影院| 欧美中文字幕在线| 国产日韩av高清| 先锋影院在线亚洲| 一区二区三区日韩精品视频| 免费观看不卡av| 欧美一区二区黄色| 亚洲一区在线免费观看| 亚洲精品中文字| 亚洲激情六月丁香| 影音先锋成人资源站| 国产欧美日本一区二区三区| 欧美日韩精品高清| 欧美人与禽猛交乱配视频| 男女激情视频一区| 奶水喷射视频一区| 免费国产一区二区| 毛片一区二区三区| 免费成人av| 欧美成人精品一区二区| 老鸭窝毛片一区二区三区| 久久先锋资源| 麻豆精品在线视频| 欧美sm重口味系列视频在线观看| 久久夜色精品| 免费久久99精品国产| 欧美第一黄色网| 欧美日韩福利视频| 国产精品爱久久久久久久| 国产精品ⅴa在线观看h| 欧美视频在线免费看| 国产精品s色| 国产欧美在线| 韩国女主播一区二区三区| 一区免费观看| 亚洲破处大片| 99re66热这里只有精品4| 亚洲精品在线三区| 中文亚洲视频在线| 午夜电影亚洲| 久久久久久久久久看片| 鲁鲁狠狠狠7777一区二区| 欧美成人精品h版在线观看| 欧美成人中文字幕| 亚洲欧洲日本专区| 亚洲图片你懂的| 欧美伊人久久| 美女精品在线| 欧美日韩一级黄| 国产视频久久久久| 在线精品视频一区二区三四| 亚洲欧洲日本一区二区三区| 日韩午夜激情电影| 亚洲欧美日本精品| 久久亚洲一区| 亚洲看片网站| 亚洲男人第一av网站| 久久青草久久| 欧美午夜精品久久久久久久| 国产欧美在线视频| 亚洲国产女人aaa毛片在线| 一区二区三区欧美在线| 欧美一区=区| 欧美激情一区二区三区不卡| 一区二区三区国产在线观看| 久久国产精品亚洲77777| 欧美大胆人体视频| 国产精品一级| 日韩视频二区| 久久久一区二区三区| 日韩午夜在线视频| 久久久久成人精品| 欧美性一区二区| 亚洲黄色av| 久久精品视频播放| 日韩午夜激情av| 美女精品在线观看| 国产美女精品一区二区三区| 亚洲另类春色国产| 久久久九九九九| a4yy欧美一区二区三区| 久久久免费观看视频| 国产精品毛片大码女人| 亚洲精品一区二区在线| 久久免费的精品国产v∧| 日韩亚洲欧美一区| 日韩一区二区精品视频| 一区二区免费在线播放| 久久精品在这里| 国产精品九九| 亚洲精品综合精品自拍| 久久久国产视频91|