﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-aurain</title><link>http://www.cppblog.com/aurain/</link><description>专注网络编程</description><language>zh-cn</language><lastBuildDate>Sun, 21 Mar 2010 19:20:46 GMT</lastBuildDate><pubDate>Sun, 21 Mar 2010 19:20:46 GMT</pubDate><ttl>60</ttl><item><title>Windows内核驱动中操作文件</title><link>http://www.cppblog.com/aurain/archive/2009/12/31/104563.html</link><dc:creator>水</dc:creator><author>水</author><pubDate>Thu, 31 Dec 2009 07:27:00 GMT</pubDate><guid>http://www.cppblog.com/aurain/archive/2009/12/31/104563.html</guid><wfw:comment>http://www.cppblog.com/aurain/comments/104563.html</wfw:comment><comments>http://www.cppblog.com/aurain/archive/2009/12/31/104563.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/aurain/comments/commentRss/104563.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aurain/services/trackbacks/104563.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在Windows执行体中，通过文件对象来代表文件，该文件对象是一种由对象管理器管理的执行体对象。例如：目录也是由文件对象代表的。<br><br>内核组件通过对象名来引用文件，即在文件的全路径前面加\DosDevices。（在Windows 2000及后续操作系统中，\??等同于\DosDevices）。例如，文件C:\WINDOWS\example.txt的对象名为\DosDevices\C:\WINDOWS\example.txt。你需要用对象名来打开文件以获取句柄。<br><br>&nbsp;&nbsp;<a href='http://www.cppblog.com/aurain/archive/2009/12/31/104563.html'>阅读全文</a><img src ="http://www.cppblog.com/aurain/aggbug/104563.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aurain/" target="_blank">水</a> 2009-12-31 15:27 <a href="http://www.cppblog.com/aurain/archive/2009/12/31/104563.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一种自定义网络通信协议</title><link>http://www.cppblog.com/aurain/archive/2009/12/31/104521.html</link><dc:creator>水</dc:creator><author>水</author><pubDate>Thu, 31 Dec 2009 00:57:00 GMT</pubDate><guid>http://www.cppblog.com/aurain/archive/2009/12/31/104521.html</guid><wfw:comment>http://www.cppblog.com/aurain/comments/104521.html</wfw:comment><comments>http://www.cppblog.com/aurain/archive/2009/12/31/104521.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aurain/comments/commentRss/104521.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aurain/services/trackbacks/104521.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX_MSG_SIZE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2048</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>typedef&nbsp;</span><span style="COLOR: #0000ff">enum</span><span style="COLOR: #000000">&nbsp;_MSG_TYPE<br><img id=Codehighlighter1_55_263_Open_Image onclick="this.style.display='none'; Codehighlighter1_55_263_Open_Text.style.display='none'; Codehighlighter1_55_263_Closed_Image.style.display='inline'; Codehighlighter1_55_263_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_55_263_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_55_263_Closed_Text.style.display='none'; Codehighlighter1_55_263_Open_Image.style.display='inline'; Codehighlighter1_55_263_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_55_263_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_55_263_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;EN_CLIENT_REQ_PING&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;MSG_BASE_CLIENT_REQ,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;EN_CLIENT_REQ_LOGIN,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img id=Codehighlighter1_128_202_Open_Image onclick="this.style.display='none'; Codehighlighter1_128_202_Open_Text.style.display='none'; Codehighlighter1_128_202_Closed_Image.style.display='inline'; Codehighlighter1_128_202_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_128_202_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_128_202_Closed_Text.style.display='none'; Codehighlighter1_128_202_Open_Image.style.display='inline'; Codehighlighter1_128_202_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_128_202_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_128_202_Open_Text><span style="COLOR: #808080">////////////////////////////////////////////////////////////////////////</span><span style="COLOR: #008000">//</span><span style="COLOR: #808080"></span></span><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;EN_SVR_RES_PING&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;MSG_BASE_SVR_RES,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;EN_SVR_RES_LOGIN,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">MSG_TYPE,</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">PMSG_TYPE;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>typedef&nbsp;</span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;_MSG_HEAD<br><img id=Codehighlighter1_311_364_Open_Image onclick="this.style.display='none'; Codehighlighter1_311_364_Open_Text.style.display='none'; Codehighlighter1_311_364_Closed_Image.style.display='inline'; Codehighlighter1_311_364_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_311_364_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_311_364_Closed_Text.style.display='none'; Codehighlighter1_311_364_Open_Image.style.display='inline'; Codehighlighter1_311_364_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_311_364_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_311_364_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;USHORT&nbsp;&nbsp;&nbsp;&nbsp;usLen;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;USHORT&nbsp;&nbsp;&nbsp;&nbsp;usKey;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;MSG_TYPE&nbsp;enMsgType;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">MSG_HEAD,</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">PMSG_HEAD;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>typedef&nbsp;</span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;_SEND_TRACE_ROUTE<br><img id=Codehighlighter1_420_474_Open_Image onclick="this.style.display='none'; Codehighlighter1_420_474_Open_Text.style.display='none'; Codehighlighter1_420_474_Closed_Image.style.display='inline'; Codehighlighter1_420_474_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_420_474_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_420_474_Closed_Text.style.display='none'; Codehighlighter1_420_474_Open_Image.style.display='inline'; Codehighlighter1_420_474_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_420_474_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_420_474_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ULONG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ulIdentify;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ULONG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ulDstIP;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;USHORT&nbsp;&nbsp;&nbsp;&nbsp;usTTL;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">SEND_TRACE_ROUTE,</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">PSEND_TRACE_ROUTE;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>typedef&nbsp;</span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;_SEND_TEST_RTT<br><img id=Codehighlighter1_543_601_Open_Image onclick="this.style.display='none'; Codehighlighter1_543_601_Open_Text.style.display='none'; Codehighlighter1_543_601_Closed_Image.style.display='inline'; Codehighlighter1_543_601_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_543_601_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_543_601_Closed_Text.style.display='none'; Codehighlighter1_543_601_Open_Image.style.display='inline'; Codehighlighter1_543_601_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_543_601_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_543_601_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ULONG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ulIdentify;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ULONG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ulDstIP;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;USHORT&nbsp;&nbsp;&nbsp;&nbsp;usDstPort;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">SEND_TEST_RTT,</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">PSEND_TEST_RTT;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>typedef&nbsp;</span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;_PACKET_SEND<br><img id=Codehighlighter1_662_806_Open_Image onclick="this.style.display='none'; Codehighlighter1_662_806_Open_Text.style.display='none'; Codehighlighter1_662_806_Closed_Image.style.display='inline'; Codehighlighter1_662_806_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_662_806_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_662_806_Closed_Text.style.display='none'; Codehighlighter1_662_806_Open_Image.style.display='inline'; Codehighlighter1_662_806_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_662_806_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_662_806_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;MSG_HEAD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sUdpMsgHead;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;union<br><img id=Codehighlighter1_697_803_Open_Image onclick="this.style.display='none'; Codehighlighter1_697_803_Open_Text.style.display='none'; Codehighlighter1_697_803_Closed_Image.style.display='inline'; Codehighlighter1_697_803_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_697_803_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_697_803_Closed_Text.style.display='none'; Codehighlighter1_697_803_Open_Image.style.display='inline'; Codehighlighter1_697_803_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_697_803_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_697_803_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHAR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;szReq[MAX_MSG_SIZE];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEND_TRACE_ROUTE&nbsp;&nbsp;&nbsp;&nbsp;sendTraceRoute;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEND_TEST_RTT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendTestRtt;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">PACKET_SEND,</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">PPACKET_SEND;</span></div>
<img src ="http://www.cppblog.com/aurain/aggbug/104521.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aurain/" target="_blank">水</a> 2009-12-31 08:57 <a href="http://www.cppblog.com/aurain/archive/2009/12/31/104521.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常见tcp/ip协议结构定义</title><link>http://www.cppblog.com/aurain/archive/2009/12/03/102451.html</link><dc:creator>水</dc:creator><author>水</author><pubDate>Thu, 03 Dec 2009 03:47:00 GMT</pubDate><guid>http://www.cppblog.com/aurain/archive/2009/12/03/102451.html</guid><wfw:comment>http://www.cppblog.com/aurain/comments/102451.html</wfw:comment><comments>http://www.cppblog.com/aurain/archive/2009/12/03/102451.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aurain/comments/commentRss/102451.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aurain/services/trackbacks/102451.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 整理了tcp/ip协议栈中一些常见的协议格式结构体定义，如以太网包、arp、ip等&nbsp;&nbsp;<a href='http://www.cppblog.com/aurain/archive/2009/12/03/102451.html'>阅读全文</a><img src ="http://www.cppblog.com/aurain/aggbug/102451.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aurain/" target="_blank">水</a> 2009-12-03 11:47 <a href="http://www.cppblog.com/aurain/archive/2009/12/03/102451.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL——表结构、表数据的复制</title><link>http://www.cppblog.com/aurain/archive/2009/11/15/100974.html</link><dc:creator>水</dc:creator><author>水</author><pubDate>Sun, 15 Nov 2009 07:52:00 GMT</pubDate><guid>http://www.cppblog.com/aurain/archive/2009/11/15/100974.html</guid><wfw:comment>http://www.cppblog.com/aurain/comments/100974.html</wfw:comment><comments>http://www.cppblog.com/aurain/archive/2009/11/15/100974.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/aurain/comments/commentRss/100974.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aurain/services/trackbacks/100974.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 12pt">1.复制表结构(源表名：a 新表名：b)&nbsp;<br></span><span style="COLOR: #0000ff">select * into b from a where 1&lt;&gt;1 <br></span><br>2.拷贝表数据(源表名：a 目标表名：b) <br><span style="COLOR: #0000ff">insert into b(a, b, c) select d,e,f from b</span>
<img src ="http://www.cppblog.com/aurain/aggbug/100974.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aurain/" target="_blank">水</a> 2009-11-15 15:52 <a href="http://www.cppblog.com/aurain/archive/2009/11/15/100974.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>驱动开发中使用安全字符串函数</title><link>http://www.cppblog.com/aurain/archive/2009/09/27/97363.html</link><dc:creator>水</dc:creator><author>水</author><pubDate>Sun, 27 Sep 2009 06:50:00 GMT</pubDate><guid>http://www.cppblog.com/aurain/archive/2009/09/27/97363.html</guid><wfw:comment>http://www.cppblog.com/aurain/comments/97363.html</wfw:comment><comments>http://www.cppblog.com/aurain/archive/2009/09/27/97363.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aurain/comments/commentRss/97363.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aurain/services/trackbacks/97363.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 大量的系统安全问题是由于薄弱的缓冲处理以及由此产生的缓冲区溢出造成的，而薄弱的缓冲区处理常常与字符串操作相关。c/c++语言运行库提供的标准字符串操作函数（strcpy, strcat, sprintf等）不能阻止在超出字符串尾端的写入。<br><br>       基于Windows XP SP1以及随后的操作系统的Windows DDK版本提供了安全字符串函数（safe string functions）。这类函数被设计的目的是用来取代相同功能的c/c++标准函数和其它微软提供的库函数。这类函数具有以下特征：<br><br>每个函数以目标缓冲区所占的字节大小作为其一个输入参数，因此可以保证在写入时不会超出缓冲区末端。<br>每个函数的输出字符串均以NULL结尾（null-terminate），即使该函数可能会对正确的结果进行截断。<br>所有函数均有返回值，类型为NTSTATUS，只有返回STATUS_SUCCESS时，操作结果才正确。<br>每个函数均有两种类型的版本，按字节或者按字符数。例如，RtlStringCbCatW和RtlStringCchCatW。<b&nbsp;&nbsp;<a href='http://www.cppblog.com/aurain/archive/2009/09/27/97363.html'>阅读全文</a><img src ="http://www.cppblog.com/aurain/aggbug/97363.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aurain/" target="_blank">水</a> 2009-09-27 14:50 <a href="http://www.cppblog.com/aurain/archive/2009/09/27/97363.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>详解IRP之数据传输的机制</title><link>http://www.cppblog.com/aurain/archive/2009/09/27/97355.html</link><dc:creator>水</dc:creator><author>水</author><pubDate>Sun, 27 Sep 2009 05:50:00 GMT</pubDate><guid>http://www.cppblog.com/aurain/archive/2009/09/27/97355.html</guid><wfw:comment>http://www.cppblog.com/aurain/comments/97355.html</wfw:comment><comments>http://www.cppblog.com/aurain/archive/2009/09/27/97355.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aurain/comments/commentRss/97355.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aurain/services/trackbacks/97355.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Windows 操作系统家族支持三种数据传输机制&nbsp;&nbsp;<a href='http://www.cppblog.com/aurain/archive/2009/09/27/97355.html'>阅读全文</a><img src ="http://www.cppblog.com/aurain/aggbug/97355.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aurain/" target="_blank">水</a> 2009-09-27 13:50 <a href="http://www.cppblog.com/aurain/archive/2009/09/27/97355.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转】Windows下删除.svn文件夹的最简易方法</title><link>http://www.cppblog.com/aurain/archive/2009/09/01/95033.html</link><dc:creator>水</dc:creator><author>水</author><pubDate>Tue, 01 Sep 2009 13:04:00 GMT</pubDate><guid>http://www.cppblog.com/aurain/archive/2009/09/01/95033.html</guid><wfw:comment>http://www.cppblog.com/aurain/comments/95033.html</wfw:comment><comments>http://www.cppblog.com/aurain/archive/2009/09/01/95033.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/aurain/comments/commentRss/95033.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aurain/services/trackbacks/95033.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Windows下删除.svn文件夹的最简易方法&nbsp;&nbsp;<a href='http://www.cppblog.com/aurain/archive/2009/09/01/95033.html'>阅读全文</a><img src ="http://www.cppblog.com/aurain/aggbug/95033.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aurain/" target="_blank">水</a> 2009-09-01 21:04 <a href="http://www.cppblog.com/aurain/archive/2009/09/01/95033.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转：如何删除windows服务(regedit进入注册表) </title><link>http://www.cppblog.com/aurain/archive/2009/08/17/93547.html</link><dc:creator>水</dc:creator><author>水</author><pubDate>Mon, 17 Aug 2009 01:15:00 GMT</pubDate><guid>http://www.cppblog.com/aurain/archive/2009/08/17/93547.html</guid><wfw:comment>http://www.cppblog.com/aurain/comments/93547.html</wfw:comment><comments>http://www.cppblog.com/aurain/archive/2009/08/17/93547.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aurain/comments/commentRss/93547.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aurain/services/trackbacks/93547.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 如果你要卸载一个本地服务，可以通过命令行输入如下命令<br>                       sc delete ServiceName<br>或者在直接修改注册表<br>                       在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 中删除相应的键值.&nbsp;&nbsp;<a href='http://www.cppblog.com/aurain/archive/2009/08/17/93547.html'>阅读全文</a><img src ="http://www.cppblog.com/aurain/aggbug/93547.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aurain/" target="_blank">水</a> 2009-08-17 09:15 <a href="http://www.cppblog.com/aurain/archive/2009/08/17/93547.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>中断请求级（转）</title><link>http://www.cppblog.com/aurain/archive/2009/08/13/93150.html</link><dc:creator>水</dc:creator><author>水</author><pubDate>Thu, 13 Aug 2009 03:34:00 GMT</pubDate><guid>http://www.cppblog.com/aurain/archive/2009/08/13/93150.html</guid><wfw:comment>http://www.cppblog.com/aurain/comments/93150.html</wfw:comment><comments>http://www.cppblog.com/aurain/archive/2009/08/13/93150.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aurain/comments/commentRss/93150.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aurain/services/trackbacks/93150.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Windows NT为每个硬件中断和少数软件事件赋予了一个优先级，即中断请求级(interrupt request level - IRQL)。IRQL为单CPU上的活动提供了同步方法，它基于下面规则：<br><br>一旦某CPU执行在高于PASSIVE_LEVEL的IRQL上时，该CPU上的活动仅能被拥有更高IRQL的活动抢先。<br><br>&nbsp;&nbsp;<a href='http://www.cppblog.com/aurain/archive/2009/08/13/93150.html'>阅读全文</a><img src ="http://www.cppblog.com/aurain/aggbug/93150.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aurain/" target="_blank">水</a> 2009-08-13 11:34 <a href="http://www.cppblog.com/aurain/archive/2009/08/13/93150.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>以太网包（帧）格式</title><link>http://www.cppblog.com/aurain/archive/2009/08/12/93018.html</link><dc:creator>水</dc:creator><author>水</author><pubDate>Wed, 12 Aug 2009 04:35:00 GMT</pubDate><guid>http://www.cppblog.com/aurain/archive/2009/08/12/93018.html</guid><wfw:comment>http://www.cppblog.com/aurain/comments/93018.html</wfw:comment><comments>http://www.cppblog.com/aurain/archive/2009/08/12/93018.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aurain/comments/commentRss/93018.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aurain/services/trackbacks/93018.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在以太网的发展过程中，出现了很多的帧格式，目前，应用最多的是以太网II格式，也就是以太网版本2，是由DEC、Intel和Xerox在1982年制定的，现在几乎是以太网的标准，它是由RFC894所定义的，其帧格式如下图所示：&nbsp;&nbsp;<a href='http://www.cppblog.com/aurain/archive/2009/08/12/93018.html'>阅读全文</a><img src ="http://www.cppblog.com/aurain/aggbug/93018.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aurain/" target="_blank">水</a> 2009-08-12 12:35 <a href="http://www.cppblog.com/aurain/archive/2009/08/12/93018.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>