?? 過濾驅動開發學習的收獲(一) - 驅動開發 - 私のウェブサイト.htm
字號:
a58117 = ContentsTree.AddNode(a0, "Com技術", "article_58117.html");a58353 = ContentsTree.AddNode(a0, "軟件工程", "article_58353.html");a58355 = ContentsTree.AddNode(a58353, "UML", "article_58355.html");a58356 = ContentsTree.AddNode(a58353, "設計模式", "article_58356.html");a58586 = ContentsTree.AddNode(a0, "心情日記", "article_58586.html");a84044 = ContentsTree.AddNode(a0, "漢化破解", "article_84044.html");a101427 = ContentsTree.AddNode(a0, "Mobile開發", "article_101427.html"); p3428 = ContentsTree.AddNode(p0, "GG收藏", "photo_3428.html"); f10642 = ContentsTree.AddNode(f0, "Linux下載大全", "links_10642.html");f7671 = ContentsTree.AddNode(f0, "音樂娛樂影視", "links_7671.html");f7672 = ContentsTree.AddNode(f0, "java精華站點", "links_7672.html");f9939 = ContentsTree.AddNode(f0, "ONLINE手冊", "links_9939.html");f10693 = ContentsTree.AddNode(f0, "EBooks下載", "links_10693.html");f7729 = ContentsTree.AddNode(f0, "blog地址", "links_7729.html");f7668 = ContentsTree.AddNode(f0, "視頻下載鏈接", "links_7668.html");f10709 = ContentsTree.AddNode(f0, "VC++ study websites", "links_10709.html");f10871 = ContentsTree.AddNode(f0, "匯編語言學習站點", "links_10871.html");f12315 = ContentsTree.AddNode(f0, "軟件下載", "links_12315.html");f12474 = ContentsTree.AddNode(f0, "北京生活", "links_12474.html");f13021 = ContentsTree.AddNode(f0, "日語學習網站", "links_13021.html");f13536 = ContentsTree.AddNode(f0, "軟件外包", "links_13536.html");f14823 = ContentsTree.AddNode(f0, "圖片", "links_14823.html"); //document.write(ContentsTree.GetHTMLCode());document.getElementById("lefttree").innerHTML=ContentsTree.GetHTMLCode();</SCRIPT>
</TD></TR>
<TR>
<TD height=5></TD></TR></TBODY></TABLE><BR><A
href="http://blog.chinaunix.net/u/rss.php?id=21790"><IMG alt=""
src="過濾驅動開發學習的收獲(一) - 驅動開發 - 私のウェブサイト.files/xmlrss.gif" border=0></A>
<BR><BR></TD>
<TD width=10></TD>
<TD vAlign=top width=685>
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0
width="100%" align=center border=0>
<TBODY>
<TR>
<TD align=middle bgColor=#bbf0ff><BR><FONT style="FONT-SIZE: 14pt"
color=#000066><B>過濾驅動開發學習的收獲(一) </B></FONT></TD>
<TR>
<TD>
<TABLE style="BORDER-COLLAPSE: collapse" borderColor=#bbf0ff
cellSpacing=1 cellPadding=0 width="100%" border=1>
<TBODY>
<TR>
<TD align=middle>
<TABLE
style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word"
cellSpacing=0 cellPadding=0 width=650 border=0>
<TBODY>
<TR>
<TD align=middle>
<TABLE
style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word"
cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD width=650>
<DIV id=art style="MARGIN: 15px">
<DIV>
<P><STRONG><SPAN
style="FONT-SIZE: 14pt">開發環境搭建:</SPAN></STRONG></P>
<P>1、虛擬機里的XP(因為怕自己電腦被搞崩潰,呵呵,畢竟剛接觸)<BR>2、IFS DDK
for Windows 2003(過去自己一直死腦筋,認為一定要用XP下的IFS
DDK,哪知網上找了半天,都沒找到可以下的鏈接。后來才知道:2003的IFS
DDK里已經包含2K和XP的了,里面還有2K和XP的BUILD環境)自己從電驢上拖吧:<A
tabIndex=-1
href="http://board.verycd.com/t135114.html"><FONT
color=#0000ff>http://board.verycd.com/t135114.html</FONT></A><BR></P>
<P><FONT color=#0000ff></FONT> </P>
<P><STRONG><SPAN
style="FONT-SIZE: 14pt">一些細枝末節:</SPAN></STRONG>【但往往不知道就很容易混淆】</P>
<P>1、IFS
DDK與DDK的關系:IFS=DDK+文件系統驅動支持,所以IFS下載后就不需要DDK了。(結果我們看的都是《Windows驅動開發技術詳解》,里面只介紹了要安裝DDK,白忙活了半天。。。不過也好,體驗了一下HelloDDK和HelloWDM的編譯和安裝)<BR>2、DDK與WDM的關系:<BR>DDK
是指設備驅動程序開發包。<BR>WDM(Win32 Driver
Model),即Win32驅動程序模型,旨在通過提供一種靈活的方式來簡化驅動程序的開發。(簡而言之,我的看法就是提供給了你一種框架)<BR></P>
<P> </P>
<P><STRONG><SPAN
style="FONT-SIZE: 14pt">編譯安裝sfilter:</SPAN></STRONG></P>
<P>1、編譯:Build Environments ->Windows Server
2003->Windows Server 2003 Checked (free)Build
Environment打開命令行窗口后,轉到sfilter目錄(里面有makefile和source文件),直接執行build命令。<BR><IMG
id=Code_Open_Image_214513 style="DISPLAY: none"
onclick="this.style.display='none'; document.getElementById('Code_Open_Text_214513').style.display='none'; getElementById('Code_Closed_Image_214513').style.display='inline'; getElementById('Code_Closed_Text_214513').style.display='inline';"
height=16
src="過濾驅動開發學習的收獲(一) - 驅動開發 - 私のウェブサイト.files/ExpandedBlockStart.gif"
width=11 align=top>
<DIV class=cnblogs_code><IMG
id=Code_Closed_Image_214607 style="DISPLAY: none"
onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_214607').style.display='none'; document.getElementById('Code_Open_Image_214607').style.display='inline'; document.getElementById('Code_Open_Text_214607').style.display='inline';"
height=16
src="過濾驅動開發學習的收獲(一) - 驅動開發 - 私のウェブサイト.files/ContractedBlock.gif"
width=11 align=top><IMG id=Code_Open_Image_214607
style="DISPLAY: inline"
onclick="this.style.display='none'; document.getElementById('Code_Open_Text_214607').style.display='none'; getElementById('Code_Closed_Image_214607').style.display='inline'; getElementById('Code_Closed_Text_214607').style.display='inline';"
height=16
src="過濾驅動開發學習的收獲(一) - 驅動開發 - 私のウェブサイト.files/ExpandedBlockStart.gif"
width=11 align=top><SPAN
class=cnblogs_code_Collapse
id=Code_Closed_Text_214607
style="DISPLAY: none">我的編譯信息</SPAN><SPAN
id=Code_Open_Text_214607
style="DISPLAY: inline"><BR><SPAN
style="COLOR: #000000">C:\WINDDK\</SPAN><SPAN
style="COLOR: #800080">3790</SPAN><SPAN
style="COLOR: #000000">\src\filesys\filter\sfilter</SPAN><SPAN
style="COLOR: #000000">></SPAN><SPAN
style="COLOR: #000000">build<BR>BUILD: Adding </SPAN><SPAN
style="COLOR: #000000">/</SPAN><SPAN
style="COLOR: #000000">Y to COPYCMD so xcopy ops won</SPAN><SPAN
style="COLOR: #800000">'</SPAN><SPAN
style="COLOR: #800000">t hang.</SPAN><SPAN
style="COLOR: #800000"><BR></SPAN><SPAN
style="COLOR: #000000">BUILD: Object root </SPAN><SPAN
style="COLOR: #0000ff">set</SPAN><SPAN
style="COLOR: #000000"> to: </SPAN><SPAN
style="COLOR: #000000">==></SPAN><SPAN
style="COLOR: #000000"> objchk_wnet_x86<BR>BUILD: Compile and Link </SPAN><SPAN
style="COLOR: #0000ff">for</SPAN><SPAN
style="COLOR: #000000"> i386<BR>BUILD: Loading C:\WINDDK\</SPAN><SPAN
style="COLOR: #800080">3790</SPAN><SPAN
style="COLOR: #000000">\build.dat<IMG alt=""
src="過濾驅動開發學習的收獲(一) - 驅動開發 - 私のウェブサイト.files/dot.gif"><BR>BUILD: Computing Include file dependencies:<BR>BUILD: Examining c:\winddk\</SPAN><SPAN
style="COLOR: #800080">3790</SPAN><SPAN
style="COLOR: #000000">\src\filesys\filter\sfilter directory </SPAN><SPAN
style="COLOR: #0000ff">for</SPAN><SPAN
style="COLOR: #000000"> <BR><BR>files t<BR>o compile.<BR> c:\winddk\</SPAN><SPAN
style="COLOR: #800080">3790</SPAN><SPAN
style="COLOR: #000000">\src\filesys\filter\sfilter </SPAN><SPAN
style="COLOR: #000000">-</SPAN><SPAN
style="COLOR: #000000"> </SPAN><SPAN
style="COLOR: #800080">2</SPAN><SPAN
style="COLOR: #000000"> source files (</SPAN><SPAN
style="COLOR: #800080">6</SPAN><SPAN
style="COLOR: #000000">,</SPAN><SPAN
style="COLOR: #800080">551</SPAN><SPAN
style="COLOR: #000000"> lines)<BR>BUILD: Saving C:\WINDDK\</SPAN><SPAN
style="COLOR: #800080">3790</SPAN><SPAN
style="COLOR: #000000">\build.dat<IMG alt=""
src="過濾驅動開發學習的收獲(一) - 驅動開發 - 私のウェブサイト.files/dot.gif"><BR>BUILD: Compiling c:\winddk\</SPAN><SPAN
style="COLOR: #800080">3790</SPAN><SPAN
style="COLOR: #000000">\src\filesys\filter\sfilter directory<BR>Compiling </SPAN><SPAN
style="COLOR: #000000">-</SPAN><SPAN
style="COLOR: #000000"> sfilter.rc </SPAN><SPAN
style="COLOR: #0000ff">for</SPAN><SPAN
style="COLOR: #000000"> i386<BR>Compiling </SPAN><SPAN
style="COLOR: #000000">-</SPAN><SPAN
style="COLOR: #000000"> sfilter.c </SPAN><SPAN
style="COLOR: #0000ff">for</SPAN><SPAN
style="COLOR: #000000"> i386<BR>BUILD: Linking c:\winddk\</SPAN><SPAN
style="COLOR: #800080">3790</SPAN><SPAN
style="COLOR: #000000">\src\filesys\filter\sfilter directory<BR>Linking Executable </SPAN><SPAN
style="COLOR: #000000">-</SPAN><SPAN
style="COLOR: #000000"> objchk_wnet_x86\i386\sfilter.sys </SPAN><SPAN
style="COLOR: #0000ff">for</SPAN><SPAN
style="COLOR: #000000"> i386<BR>BUILD: Done<BR><BR> </SPAN><SPAN
style="COLOR: #800080">3</SPAN><SPAN
style="COLOR: #000000"> files compiled </SPAN><SPAN
style="COLOR: #000000">-</SPAN><SPAN
style="COLOR: #000000"> </SPAN><SPAN
style="COLOR: #800080">2183</SPAN><SPAN
style="COLOR: #000000"> LPS<BR> </SPAN><SPAN
style="COLOR: #800080">1</SPAN></SPAN></DIV>2、安裝:直接運行sfilter目錄下的sfilterInstall.cmd,然后選擇一下sfilter.sys就可以了。<BR>
<P></P>
<P> </P>
<P><STRONG><SPAN
style="FONT-SIZE: 14pt">過濾驅動基本流程:</SPAN></STRONG></P>
<P>1、生成一個控制設備對象CDO<BR>2、設置IRP 分發例程<BR>3、設置FAST IO
分發例程<BR>4、編寫SfFsNotification
回調例程<BR>5、調用IoRegisterFsRegistrationChange
注冊SfFsNotification 回調例程<BR></P>
<P> </P>
<P>時間太忙,先寫到這了!</P></DIV></DIV></TD></TR></TBODY></TABLE>
<P style="MARGIN: 5px; LINE-HEIGHT: 150%"></P></TD></TR>
<TR>
<TD height=25><FONT color=#000066> 發表于:
2008-12-15,修改于: 2008-12-15
23:06 已瀏覽215次,有評論0條</FONT> <A id=star title=推薦這篇文章
onclick="NewWindows(this.href);return false;"
href="http://blog.chinaunix.net/u2/star.php?blogid=21790&artid=1722292">推薦</A>
<A id=complaint title=投訴這篇文章
onclick="NewWindows(this.href);return false;"
href="http://blog.chinaunix.net/u2/complaint.php?blogid=21790&artid=1722292">投訴</A>
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<TABLE style="BORDER-COLLAPSE: collapse" borderColor=#bbf0ff cellSpacing=0
cellPadding=0 width="100%" align=center border=1>
<TBODY>
<TR>
<TD background="過濾驅動開發學習的收獲(一) - 驅動開發 - 私のウェブサイト.files/bg_line.gif"
height=28> <B>網友評論</B></TD></TR>
<TR>
<TD align=middle>
<TABLE style="COLOR: #0066cc; BORDER-COLLAPSE: collapse"
cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<TABLE style="BORDER-COLLAPSE: collapse" borderColor=#bbf0ff cellSpacing=0
cellPadding=0 width="100%" align=center border=1>
<TBODY>
<TR>
<TD background="過濾驅動開發學習的收獲(一) - 驅動開發 - 私のウェブサイト.files/bg_line.gif"
height=28> <B>發表評論</B></TD></TR>
<TR>
<TD bgColor=#ffffff height=1></TD></TR>
<TR>
<TD align=middle bgColor=#ffffff><IFRAME name=comment
src="過濾驅動開發學習的收獲(一) - 驅動開發 - 私のウェブサイト.files/comment.htm"
frameBorder=0 width=600
height=160></IFRAME></TD></TR></TBODY></TABLE><BR><BR></TD>
<TD width=10></TD></TR></TBODY></TABLE>
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0 width=950
align=center border=0>
<TBODY>
<TR>
<TD height=50></TD></TR>
<TR>
<TD align=middle><BR>
<P>Copyright © 2001-2006 ChinaUnix.net All Rights Reserved<BR>
<P>感謝所有關心和支持過ChinaUnix的朋友們 <BR>頁面生成時間:0.02043
<P><A href="http://www.miibeian.gov.cn/" target=_blank>京ICP證041476號</A>
</P></TD></TR></TBODY></TABLE></CENTER></BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -