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

S.l.e!ep.¢%

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

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
??? );? 函數(shù)是每個驅動的入口函數(shù)

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

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

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的分發(fā)函數(shù)之外的另一組接口,但是他們的作用是一樣的, 就是由驅動處理外部給予的請求,
而且所處理的請求也基本相同

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

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


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

Q3: FastIo 接口位于 普通的 Driver分派函數(shù)之上?系統(tǒng)會先調用 FastIo 接口再調用 Driver的分派函數(shù)?
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            99精品欧美一区二区三区| 一区二区欧美视频| 欧美巨乳在线观看| 欧美国产在线电影| 欧美日韩国产色站一区二区三区| 老司机亚洲精品| 欧美高清在线一区| 欧美午夜大胆人体| 亚洲激情啪啪| 亚洲精品欧美一区二区三区| 亚洲一区二区三区中文字幕在线 | 亚洲在线中文字幕| 香蕉久久国产| 免费日韩av| 国产精品久久91| 国外成人性视频| 一级成人国产| 久久天天躁夜夜躁狠狠躁2022| 欧美黑人一区二区三区| 亚洲精品国产系列| 欧美一区二区性| 欧美精品乱人伦久久久久久| 国产欧美精品国产国产专区| 亚洲国产毛片完整版 | 欧美影院一区| 欧美激情一区二区三区四区| 亚洲伊人观看| 欧美久久久久久久久久| 国产在线一区二区三区四区| 99re亚洲国产精品| 免费91麻豆精品国产自产在线观看| 亚洲精品在线观看视频| 久久躁狠狠躁夜夜爽| 国产欧美一区二区三区在线看蜜臀 | 久久国内精品视频| 亚洲精品午夜| 免费人成精品欧美精品| 国内揄拍国内精品少妇国语| 亚洲一区在线播放| 亚洲三级国产| 免费久久99精品国产自在现线| 国产精品五区| 中文精品视频| 亚洲国产精品va在看黑人| 久久精品久久99精品久久| 国产精品永久免费视频| 亚洲在线观看视频| 99精品国产一区二区青青牛奶| 久久综合伊人77777| 国产一区二区三区在线免费观看| 午夜精彩国产免费不卡不顿大片| 亚洲毛片av在线| 欧美国产日韩一二三区| 亚洲人成人一区二区在线观看 | 欧美精品18videos性欧美| 精品成人一区二区| 久久精品人人做人人爽| 欧美一区二区成人| 亚洲午夜激情免费视频| 国产精品第一页第二页第三页| 中文日韩在线视频| 9l视频自拍蝌蚪9l视频成人| 欧美日韩国产91| 亚洲综合日韩| 性色av一区二区三区| 国产一区二区三区不卡在线观看| 久久久综合精品| 久久男女视频| 日韩午夜黄色| 亚洲一区精品视频| 国产真实乱子伦精品视频| 久久亚洲综合色一区二区三区| 久久爱另类一区二区小说| 狠狠色综合一区二区| 噜噜噜躁狠狠躁狠狠精品视频| 久久亚洲精品一区二区| 亚洲精品在线二区| 日韩午夜在线播放| 国产精品系列在线| 开心色5月久久精品| 欧美国产一区二区| 性刺激综合网| 欧美大片在线观看一区| 亚洲欧美日韩另类精品一区二区三区| 亚洲午夜高清视频| 在线观看av一区| 亚洲久色影视| 国语自产精品视频在线看8查询8 | 欧美在线3区| 久久一区中文字幕| 亚洲桃花岛网站| 久久精品国产999大香线蕉| 亚洲精品视频啊美女在线直播| 亚洲一二三级电影| 91久久黄色| 小黄鸭精品aⅴ导航网站入口| 亚洲国产精品电影| 亚洲欧美日韩人成在线播放| 最新国产成人av网站网址麻豆| 日韩一级片网址| 在线免费观看日韩欧美| 一区二区三区精品| 亚洲日本国产| 久久国产日本精品| 亚洲一区在线观看视频 | 欧美国产日韩一区二区三区| 国产精品高潮呻吟久久av无限| 欧美成人69av| 国产欧美日韩视频在线观看| 亚洲人成小说网站色在线| 国产性做久久久久久| 99re亚洲国产精品| 亚洲国产欧美国产综合一区| 亚洲欧美在线另类| 亚洲一区三区电影在线观看| 欧美激情一二三区| 欧美 日韩 国产一区二区在线视频| 亚洲在线观看| 中文国产成人精品| 欧美福利影院| 欧美激情一区二区三区在线视频观看 | 欧美三级视频在线播放| 免费一区视频| 国产欧亚日韩视频| 一区二区三区免费网站| 一卡二卡3卡四卡高清精品视频| 蜜臀av一级做a爰片久久 | 久久久久久久久综合| 国产精品一区二区久激情瑜伽| 亚洲另类在线视频| 日韩一级在线| 欧美精品情趣视频| 亚洲国产精品高清久久久| 亚洲国产成人av在线| 久久亚洲一区二区| 欧美大片在线看免费观看| 在线精品视频免费观看| 久久阴道视频| 欧美高清视频www夜色资源网| **欧美日韩vr在线| 欧美a级理论片| 亚洲黄色av一区| 一本大道av伊人久久综合| 欧美日韩第一区| 这里只有精品丝袜| 欧美一区成人| 在线观看三级视频欧美| 裸体女人亚洲精品一区| 亚洲欧洲美洲综合色网| 亚洲欧美综合另类中字| 黑丝一区二区| 欧美国产国产综合| 一区二区欧美在线| 欧美在线观看视频在线 | 黄色一区二区三区| 欧美.www| 99人久久精品视频最新地址| 亚洲欧美日韩精品在线| 狠狠色综合播放一区二区| 免费在线亚洲欧美| 中日韩视频在线观看| 久久久青草婷婷精品综合日韩| 亚洲国产精品女人久久久| 欧美日本不卡高清| 欧美一级久久久| 亚洲第一久久影院| 亚洲一区不卡| 狠狠色丁香婷综合久久| 欧美极品aⅴ影院| 午夜精品国产| 亚洲黄色在线视频| 欧美专区18| 日韩一级大片在线| 黑丝一区二区| 国产精品久久一卡二卡| 欧美a级一区二区| 亚洲欧美日韩国产综合精品二区| 久久最新视频| 午夜精品久久一牛影视| 亚洲激情欧美激情| 国产美女一区二区| 欧美日韩成人一区二区| 亚洲福利av| 欧美一区二区免费视频| 亚洲毛片在线看| 国产亚洲午夜| 国产精品a久久久久久| 蜜臀av性久久久久蜜臀aⅴ| 亚洲免费视频在线观看| 亚洲美女视频在线观看| 蜜桃av一区二区| 久久大香伊蕉在人线观看热2| 一区二区久久久久久| 亚洲黄网站在线观看| 黑丝一区二区| 国产嫩草影院久久久久| 欧美色大人视频| 欧美日韩一区二区在线| 欧美激情精品久久久久久黑人 | 一本久久a久久免费精品不卡|