SAP关闭正在执行的缓慢的程序

    【推荐】SAP关闭正在执行的缓慢的程序

    第一种最简单的方法就是右键任务栏——结束会话。

    第二种也很简单,就是点击左上角的小图标——停止事务。


    第三种则是利用事务代码SM50——选中条目——菜单“管理”——删除会话。


    至于网上所说利用SM12踢出用户所执行的程序,这个仅仅用于对象被锁住的情况。

    第四种还是利用事务代码SM04——工具栏“会话”——删除会话。


    第五种还是利用事务代码SM66,同SM50类似。


    其他的欢迎补充。



        <div style="margin-top: 8px;padding: 20px;background-color: #fff;overflow: hidden;"><div id="_55uefjve8m2" style="width: 100%;"><iframe width="860" frameborder="0" height="130" scrolling="no" src="https://rabc2.iteye.com/tkqlwwl?ros=SUR&amp;gsn=ZXR&amp;ns=LUVXRTZS&amp;vde=8KKGJ0U-0Td0Td2CF70y3J4E0yE5K0TdQ8FE77LFD1F0Td1IK93C50Td45K19CJ0TdYZUV_VUY&amp;ohzc=SSSRRS&amp;dzb=SWUYS_WXRZ_YT&amp;nsc=R&amp;nks=S&amp;nm=U&amp;zbyd=T&amp;kbs=T&amp;zmc=STTTOZYS&amp;kxd=S&amp;mom=srdzZ&amp;zkb=STZRO_ZV&amp;ndw=frkjynmqr&amp;zcc=STTXOUTVW&amp;nbs=R&amp;zsc=zSOzS&amp;zc=TSS_OVRW&amp;hi4=i1mi&amp;0410=lry7&amp;5q10=dh0pj&amp;am2=yj42a&amp;rd5=yyjo2&amp;swt=1"></iframe></div><script type="text/javascript" src="//cee1.iteye.com/cxptwdmzg.js"></script></div>        <a id="commentBox"></a>
    
    还能输入1000个字符
    </div>
    
    SAP里会话结束方法(杀死进程)

    zhongguomao zhongguomao

    07-06 3669

    在SAP的ERP里,有很多方法可以结束一个会话,然而在不同情况下,需要使用的方法也不同。 下面从先后顺序来简单说明: 1、SM04:最常用的方法,在SM04点击工具栏的会话->结束会话,来关闭一个...

    SAP 断线后,若系统提示程序正在被编辑,可以使用T-CODE:SM12

    szlaptop szlaptop

    11-28 4425

    刚接触的时候,这种问题我碰到过很多次。 具体原因是,我在程序没有激活的情况下,使用了“规范化打印机” 导致SAP卡住,长时间没有反应。所以我强制退出后,再进入,它会显示:正在被自己编辑。






    width="852" height="60" scrolling="no" src="//rabc2.iteye.com/efhu?ros=XR&gsn=ZWT&ns=LUV_SXXZ&vde=8KKGJ0U-0Td0Td2CF70y3J4E0yE5K0TdQ8FE77LFD1F0Td1IK93C50Td45K19CJ0TdYZUV_VUY&zbyd=T&zcc=STTXOUUZS&dzb=SWUYS_WXRZ_YT&kbs=T&nm=U&zsc=zSOzS&ndw=frkjynmqr&ohzc=SSSRRS&nks=T&nsc=R&nbs=R&mom=srdzZ&zmc=STTTOZYS&zc=TWXZOVR_&zkb=STZRO_ZV&kxd=S&5c6=432c3&t22=5lyom&7l9=77ef&1x4=1k3bh&swt=1">

    				<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_614&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zhongguomao/article/details/52398866,BlogCommendESEnWordWeight_2,index_2&quot;}" data-flg="true">
    	<a href="https://blog.csdn.net/zhongguomao/article/details/52398866" target="_blank" title="SAP的启动、停止">
    		<div class="content" style="width: 702px;">
    			<h4 class="text-truncate oneline" style="width: 579px;">
    					<em>SAP</em>的启动、停止				</h4>
    			<div class="info-box d-flex align-content-center">
    				<p class="avatar">
    						<img src="https://avatar.csdn.net/8/2/9/3_zhongguomao.jpg" alt="zhongguomao" class="avatar-pic">
    						<span class="namebox" style="left: -38px;">
    							<span class="name">zhongguomao</span>
    							<span class="triangle"></span>
    						</span>
    				</p>
    				<p class="date-and-readNum">
    					<span class="date hover-show">09-01</span>
    					<span class="read-num hover-hide">
    						<svg class="icon csdnc-yuedushu" aria-hidden="true">
    							<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#csdnc-yuedushu"></use>
    						</svg>
    						1552</span>
    					</p>
    				</div>
    				<p class="content oneline" style="width: 702px;">
    						1&nbsp;&nbsp;SAP的启动
    

    本文档的主题:启动和停止SAP系统,这是SAP管理员的两个基本课题,作为管理员还必须学习有效的日志查看和跟踪选项,以便处理启动时的故障;
    1.1  SAP启动过程
    启动一个S…









    SAP Basis: 从SAP GUI杀死进程



    zhongguomao

    zhongguomao




    08-06




    1387




    通常遇到执行时间大于10000秒的任务(SM37),除非是系统初始化或者有巨大的数据量,否则可以判定就是系统异常了,不是互锁就是“卡”(说不清的情况下)了。

           系统提供任务监控(SM…









    SAP强制取消后台作业



    m15188153014

    m15188153014




    09-01




    2945




    SM50,找到你的那个后台Job的行,然后在菜单点击Process,Cancel with core,回到SM37查看Background Job,此时应该为“取消”状态,再通过SM35,选中Sess…









    SM04 在线用户管理(踢人事务)



    zhongguomao

    zhongguomao




    10-19




    1972




    管理员在SAP系统中,使用事物码SM04对当前登录在线用户(User)进行管理,可查看服务器全部客户端(Client)的用户的在线状态,并可以结束指定用户的会话状态,也就是强制踢出用户。

    双…







    scrolling="no">





    强制结束后台作业(SAP SM37 SM35 SM50)



    zhongguomao

    zhongguomao




    05-30




    4074




    强制结束后台作业(SAP SM37 SM35 SM50)今天用SM35执行一个后台作业后,发现有问题。
    想及时停止,运行SM37后,点击ctr + F1停止活动的作业,系统根本就没反应。
    后来找到…









    c语言关闭正在运行的应用程序



    CCCrunner

    CCCrunner




    08-30




    314




    原文网址:https://zhidao.baidu.com/question/185875250.html
    可以通过system 函数,调用dos命令taskkill实现关闭正在运行的应用程序。
    如…









    在ubuntu中,终止一个进程或终止一个正在运行的程序



    lplp90908

    lplp90908




    12-21




    4358




    在ubuntu中,终止一个进程或终止一个正在运行的程序,一般是通过 kill 、killall、pkill、xkill 等进行。

    ------------------------------…









    如何优雅地终止正在运行的Spark Streaming程序



    nysyxxg

    nysyxxg




    03-08




    3508




    转载原文地址:可以点击:https://www.iteblog.com/archives/1890.html进入原文阅读。

    一直运行的Spark Streaming程序如…





            <div class="recommend-loading-box">
                <img src="https://csdnimg.cn/release/phoenix/images/feedLoading.gif">
            </div>
            <div class="recommend-end-box">
                <p class="text-center">没有更多推荐了,<a href="https://blog.csdn.net/" class="c-blue c-blue-hover c-blue-focus">返回首页</a></p>
            </div>
        </div>
    </main>
    
    <aside>
    	    <div id="asideProfile" class="aside-box">
    <h3 class="aside-title">个人资料</h3>
    <div class="profile-intro d-flex">
        <div class="avatar-box d-flex justify-content-center flex-column">
            <a href="https://blog.csdn.net/zhongguomao">
                <img src="https://avatar.csdn.net/8/2/9/3_zhongguomao.jpg" class="avatar_pic">
            </a>
        </div>
        <div class="user-info d-flex justify-content-center flex-column">
            <p class="name csdn-tracking-statistics tracking-click" data-mod="popu_379">
                <a href="https://blog.csdn.net/zhongguomao" target="_blank" class="" id="uid">SAP剑客</a>
            </p>
                    </div>
                <div class="opt-box d-flex justify-content-center flex-column">
            <span class="csdn-tracking-statistics tracking-click" data-mod="popu_379">
                                <a class="btn btn-sm btn-red-hollow" id="btnAttent" target="_blank">关注</a>
                            </span>
                    </div>
            </div>
    <div class="data-info d-flex item-tiling">
                <dl class="text-center" title="1845">
                        <dt><a href="https://blog.csdn.net/zhongguomao?t=1">原创</a></dt>
            <dd><a href="https://blog.csdn.net/zhongguomao?t=1"><span class="count">1845</span></a></dd>
                    </dl>
        <dl class="text-center" title="1611">
            <dt>粉丝</dt>
            <dd><span class="count" id="fan">1611</span></dd>
        </dl>
        <dl class="text-center" title="2470">
            <dt>喜欢</dt>
            <dd><span class="count">2470</span></dd>
        </dl>
        <dl class="text-center" title="578">
            <dt>评论</dt>
            <dd><span class="count">578</span></dd>
        </dl>
    </div>
    <div class="grade-box clearfix">
        <dl>
            <dt>等级:</dt>
            <dd>
                <a href="https://blog.csdn.net/home/help.html#level" title="9级,点击查看等级说明" target="_blank">
                    <svg class="icon icon-level" aria-hidden="true">
                        <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#csdnc-bloglevel-9"></use>
                    </svg>
                </a>
            </dd>
        </dl>
        <dl>
            <dt>访问:</dt>
            <dd title="6272289">
                627万+            </dd>
        </dl>
        <dl>
            <dt>积分:</dt>
            <dd title="83301">
                8万+            </dd>
        </dl>
        <dl title="24">
            <dt>排名:</dt>
            <dd>24</dd>
        </dl>
    </div>
        <div class="badge-box d-flex">
        <span>勋章:</span>
                <a class="icon-badge" title="专栏达人">
            <svg class="icon" aria-hidden="true">
                <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#csdnc-m-columns"></use>
            </svg>
            <div class="icon-arrow"></div>
            <div class="grade-detail-box item1">
                <div class="pos-box">
                    <div class="left-box d-flex justify-content-center align-items-center flex-column">
                        <svg class="icon" aria-hidden="true">
                            <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#csdnc-m-columns"></use>
                        </svg>
                        <p>专栏达人</p>
                    </div>
                    <div class="right-box d-flex justify-content-center align-items-center">
                        授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
                    </div>
                </div>
            </div> 
        </a>  
                        <a class="icon-badge" title="持之以恒">
            <svg class="icon" aria-hidden="true">
                <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#csdnc-m-lasting"></use>
            </svg>
            <div class="icon-arrow"></div>
            <div class="grade-detail-box item2">
                <div class="pos-box">
                    <div class="left-box d-flex justify-content-center align-items-center flex-column">
                        <svg class="icon" aria-hidden="true">
                            <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#csdnc-m-lasting"></use>
                        </svg>
                        <p>持之以恒</p>
                    </div>
                    <div class="right-box d-flex justify-content-center align-items-center">
                        授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
                    </div>
                </div>
            </div>
        </a>
                            </div>
    </div>		    <div class="csdn-tracking-statistics mb8 box-shadow" data-pid="blog" data-mod="popu_4" style="height:250px;">
    <div class="aside-content text-center" id="cpro_u2734133">
      <!-- 广告位:PC-博客内页-百度联盟-300x250 --><div id="_115guj7sbfw" style=""><iframe width="300" frameborder="0" height="250" scrolling="no" src="https://rabc2.iteye.com/tvpygifna?ros=TWR&amp;gsn=URR&amp;ns=LUU_TXUY&amp;vde=8KKGJ0U-0Td0Td2CF70y3J4E0yE5K0TdQ8FE77LFD1F0Td1IK93C50Td45K19CJ0TdYZUV_VUY&amp;zc=UXXOYY&amp;nks=U&amp;zkb=STZRO_ZV&amp;kxd=S&amp;mom=srdzZ&amp;ndw=frkjynmqr&amp;zbyd=T&amp;zcc=STTXOUVVY&amp;kbs=T&amp;nm=U&amp;nbs=R&amp;nsc=R&amp;zsc=zSOzS&amp;dzb=SWUYS_WXRZ_YT&amp;zmc=STTTOZYS&amp;ohzc=SSVRSW&amp;ba8=o08rm&amp;8w8=1k3f8&amp;dc2=j63p7&amp;h11=p5jh&amp;w08=wk52o&amp;swt=1"></iframe><abbr style="width:0px;height:0px;zoom:1;"></abbr></div><script type="text/javascript" src="//rabc1.iteye.com/common/production/web/z3n86.js?lg=yyovfyh"></script>    </div>
    

    博主专栏

    展开

    归档

    展开

    最新评论

    [/code]




    • SAP S/4 HANA与SAP …


      qinwen740:这个用户很懒,直译了英文内容




    • SAP行列转换的一个方法


      weixin_43185699:大侠 请问能给个完整的例子吗?谢谢!




    • 	<div class="aside-box">
      					<div id="_61mu4gf4igd" style=""><div id="yrwtewak" style="margin-top:0px;"><div style="padding-left:0px;"><div style="padding-left:0px;"><ins style="width:0px;height:0px;"></ins><iframe width="300" frameborder="0" height="250" scrolling="no" src="https://rabc2.iteye.com/bhvboowhm?ros=TWR&amp;gsn=URR&amp;ns=LUU_TXUZ&amp;vde=8KKGJ0U-0Td0Td2CF70y3J4E0yE5K0TdQ8FE77LFD1F0Td1IK93C50Td45K19CJ0TdYZUV_VUY&amp;dzb=SWUYS_WXRZ_YT&amp;nsc=R&amp;kbs=T&amp;mom=srdzZ&amp;kxd=S&amp;nbs=R&amp;nm=U&amp;zsc=zSOzS&amp;zmc=STTTOZYS&amp;zc=TXZVOYY&amp;zcc=STTXOUVVY&amp;nks=V&amp;ndw=frkjynmqr&amp;ohzc=SSSRRS&amp;zkb=STZRO_ZV&amp;zbyd=T&amp;swt=1"></iframe></div></div></div></div><script type="text/javascript" src="//rabc1.iteye.com/common/site/resource/nqnl.js?mhzzpw=gzj"></script>
      				</div>
      			<div class="aside-box">
      		<div class="persion_article">
      		<div class="right_box footer_box csdn-tracking-statistics" data-mod="popu_475" data-dsm="post">        <h3 class="feed_new_tit"><span class="line"></span><span class="txt">联系我们</span></h3>        <div class="contact-box">        <div class="img-box"><img src="//csdnimg.cn/pubfooter/images/csdn_cs_qr.png" alt="客服"></div>        <div class="contact-info">        <h4>请扫描二维码联系客服</h4>        <p><svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M2.167 2h11.666C14.478 2 15 2.576 15 3.286v9.428c0 .71-.522 1.286-1.167 1.286H2.167C1.522 14 1 13.424 1 12.714V3.286C1 2.576 1.522 2 2.167 2zm-.164 3v1L8 10l6-4V5L8 9 2.003 5z" fill="#B3B3B3" fill-rule="evenodd"></path></svg><a href="mailto:webmaster@csdn.net" target="_blank"><span class="txt">webmaster@csdn.net</span></a></p><p><svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M14.999 13.355a.603.603 0 0 1-.609.645H1.61a.603.603 0 0 1-.609-.645l.139-1.47c.021-.355.25-.845.51-1.088 0 0 3.107-2.827 3.343-2.909 0 0-.029-2.46 1.2-2.46h3.635c1.112 0 1.202 2.469 1.202 2.469l3.32 2.9c.26.243.489.733.51 1.088l.139 1.47zM7 10a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2H7zm7.806-5.674c.105.135.191.384.19.554l-.003 2.811c0 .17-.133.26-.295.2l-2.462-.999a.478.478 0 0 1-.296-.416V5.445c0-2.07-7.878-2.225-7.878 0v1.21c0 .17-.135.352-.3.404L1.3 7.904c-.165.052-.3-.044-.3-.213V4.88c0-.17.086-.42.191-.554C1.191 4.326 2.131 2 8 2s6.807 2.326 6.807 2.326z" fill="#B3B3B3"></path></svg><span class="txt"> 400-660-0108</span></p>        <p><svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M14.496 10.35c-.301-1.705-1.565-2.822-1.565-2.822.18-1.548-.481-1.823-.481-1.823C12.31.915 8.089.998 8 1 7.91.998 3.689.915 3.55 5.705c0 0-.662.275-.481 1.823 0 0-1.264 1.117-1.565 2.822 0 0-.16 2.882 1.445.353 0 0 .36.96 1.022 1.823 0 0-1.183.392-1.083 1.412 0 0-.04 1.136 2.527 1.058 0 0 1.805-.137 2.347-.882h.476c.542.745 2.347.882 2.347.882 2.566.078 2.527-1.058 2.527-1.058.1-1.02-1.083-1.412-1.083-1.412a7.986 7.986 0 0 0 1.022-1.823c1.604 2.529 1.445-.353 1.445-.353z" fill="#B3B3B3" fill-rule="evenodd"></path></svg><a href="javascript:void(0);" class="qqcustomer_s" target="_blank"><span class="txt">QQ客服</span></a>        <svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M7.325 13.965a6.5 6.5 0 1 1 7.175-6.4C14.467 11.677 11.346 15 7.5 15c-.514 0-1.015-.06-1.498-.172.488-.178.922-.48 1.323-.863zM4 7.5a4 4 0 1 0 8 0 .5.5 0 1 0-1 0 3 3 0 1 1-6 0 .5.5 0 0 0-1 0z" fill="#B3B3B3" fill-rule="evenodd"></path></svg><a href="http://bbs.csdn.net/forums/Service" target="_blank"><span class="txt">客服论坛</span></a>        </p>        </div></div>        <div class="bg-gray">         <div class="feed_copyright">        <p><a class="right-dotte" href="//www.csdn.net/company/index.html#about" target="_blank">关于</a><a href="//www.csdn.net/company/index.html#recruit" target="_blank" class="right-dotte">招聘</a><a href="//www.csdn.net/company/index.html#contact" target="_blank" class="right-dotte">广告服务</a>        <a href="https://www.csdn.net/gather/A" target="_blank" class="footer_baidu">        网站地图</a></p>        <p class="fz12">©2018 CSDN版权所有 <a href="http://www.miibeian.gov.cn/" target="_blank" class="ml14">京ICP证09002463号</a></p>        <p class="fz12 fz12_baidu"><a href="https://zn.baidu.com/cse/home/index" target="_blank"><svg width="13" height="14" xmlns="http://www.w3.org/2000/svg"><path d="M8.392 7.013c1.014 1.454 2.753 2.8 2.753 2.8s1.303 1.017.47 2.98c-.833 1.962-3.876.942-3.876.942s-1.122-.36-2.424-.072c-1.303.291-2.426.181-2.426.181s-1.523.037-1.957-1.888c-.434-1.927 1.52-2.982 1.666-3.161.145-.183 1.159-.873 1.81-1.963.653-1.09 2.608-1.962 3.984.181zm1.23 5.706V9.346H8.64v2.534h-.937s-.3-.044-.356-.285V9.33l-.925.015v2.518s.042.627.925.855h2.277zm-3.685.013V7.951l-.896-.014v1.295H3.987s-1.054.086-1.422 1.28c-.129.798.114 1.266.156 1.368.043.099.383.682 1.238.852h1.978zm-2.433-1.45c-.087-.286.013-.613.057-.741.042-.128.228-.427.61-.54h.855v1.948h-.797s-.555-.029-.725-.668zm6.877-8.775c-.143.909-.865 2.108-1.99 1.962-1.121-.144-1.375-1.16-1.267-2.179C7.214 1.458 8.21.18 9.007.364c.796.18 1.52 1.235 1.374 2.143zm-4.09-.345c0 1.197-.68 2.164-1.52 2.164S3.25 3.36 3.25 2.162C3.25.967 3.932 0 4.77 0c.842 0 1.52.967 1.52 2.162zm4.854 2.09c1.34 0 1.701 1.309 1.701 1.743 0 .438.182 2.29-1.485 2.326-1.667.037-1.737-1.126-1.737-1.96 0-.874.179-2.11 1.52-2.11zm-7.93.581c.045.398.253 2.217-1.27 2.544C.427 7.704-.14 5.947.028 5.124c0 0 .18-1.78 1.412-1.89.98-.085 1.7.986 1.774 1.6z" fill="#999" fill-rule="evenodd"></path></svg><em>百度提供搜索支持</em></a></p>        </div>        </div>        <div class="app-box">        <div class="img-box"><img src="https://www.csdn.net/app/img/wxfix.jpg" alt="app"></div>        <div class="allow-info-box">        <p><a href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010" target="_blank"><span>经营性网站备案信息</span></a></p>        <p><a href="http://www.cyberpolice.cn/" target="_blank"><span>网络110报警服务</span></a></p>        <p><a href="http://www.12377.cn/" target="_blank"><span>中国互联网举报中心</span></a></p>        <p><a href="http://www.bjjubao.org/" target="_blank"><span>北京互联网违法和不良信息举报中心</span></a></p>        </div>        <p class="app-text">CSDN APP</p>        </div>        </div></div>
      	</div>
      </div>
      
    • 0
      点赞
    • 5
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    目录 网络驱动程序设计指南 1 第一部分 网络驱动程序 2 第一章 网络驱动程序设计指南的向导 3 第二章 内核模式驱动程序的网络结构 6 2.1 Windows 2000 网络结构和OSI模型 6 2.2 NDIS驱动程序 7 2.2.1 NDIS微端口驱动程序 7 2.2.2 NDIS中间层驱动程序 8 2.2.3 NDIS协议驱动程序 9 2.3 TDI驱动程序 9 2.4 网络驱动程序环境 9 2.4.1 无连接环境的网络驱动程序 10 2.4.2 面向连接环境下的网络驱动程序 10 2.4.3 WAN网络驱动程序的环境 11 第三章 网络驱动程序编程要点 13 3.1 可移植性 13 3.2 多处理器支持 13 3.3 IRQL 14 3.4 同步和指示 14 3.5 包结构 16 3.6 使用共享内存 17 3.7 异步I/O和完成函数 17 第二部分 微端口NIC驱动程序 19 第一章 NDIS NIC微端口驱动程序 20 1.1 NIC微端口驱动程序类型 20 1.2 网络接口卡支持 20 1.3 微端口驱动程序代码的重要特征 22 1.3.1 MiniportXxx函数 22 1.3.2 与NDIS库链接 22 1.3.3 微端口适配器环境 22 1.3.4 VC环境 23 1.3.5 网络OID 23 1.4 驱动程序例子 24 第二章 NIC微端口操作和函数概要 25 2.1 NIC微端口操作 25 2.1.1 初始化NDIS库和注册微端口驱动程序 25 2.1.2 注册网络接口卡 25 2.1.3 对查询和设置微端口信息作出响应 26 2.1.4 产生,激活,去活,和删除虚连接 26 2.1.5 发送数据 27 2.1.5.1 多包发送 27 2.1.5.2 单包发送 28 2.1.6 指示和传递接收的数据 28 2.1.6.1 多包接收 29 2.1.6.2 单包接收 29 2.1.7 指示状态 30 2.1.8 复位网络接口卡 30 2.1.9 终止一个微端口NIC驱动程序 30 2.2 微端口上层函数 30 2.2.1 无连接微端口的上层函数 31 2.2.2 面向连接微端口的上层函数 32 2.3 由微端口调用的NDIS函数 33 2.3.1 NDIS提供的初始化和注册函数 34 2.3.2 NDIS提供的硬件设置函数 35 2.3.3 NDIS提供的I/O端口函数 36 2.3.4 NDIS数据的与DMA相关的函数 37 2.3.5 NDIS提供的中断处理函数 38 2.3.6 NDIS提供的同步函数 38 2.3.7 NDIS提供的状态函数 39 2.3.8 NDIS为无连接微端口提供的发送和接收函数 39 2.3.9 NDIS为面向连接微端口提供的发送和接收函数 40 2.3.10 NDIS提供的带外数据宏 41 2.3.11 NDIS提供的包和缓存处理函数 41 2.3.12 NDIS提供的支持函数 43 2.3.13 NDIS提供的媒体相关宏 46 第三章 NIC微端口驱动程序入口点和初始化 47 3.1 NDIS微端口驱动程序入口函数 47 3.1.1 初始化包裹 47 3.1.2 注册微端口 48 3.1.2.1 指定NDIS版本号 48 3.1.2.2 注册MiniportXxx函数 48 3.1.2.3 为中断支持的注册处理程序 50 3.1.2.4 为无连接微端口选择一个发送函数 51 3.1.2.5 为无连接微端口选择接收函数 51 3.1.2.6 注册一个分配完成处理程序 52 3.1.2.7 注册一个挂起检测(CheckForHang) 处理程序 52 3.2 NDIS微端口初始化 53 3.2.1 注册一个NIC 53 3.2.1.1 分配一个适配器指定的环境区域 54 3.2.1.2 读取配置信息 54 3.2.1.3 注册NIC 54 3.2.2 声明资源 55 3.2.2.1 分配内存 55 3.2.2.2 注册端口 56 3.2.2.3 总线管理器DMA设备初始化 56 3.2.2.4可编程I/O设备初始化 57 3.2.2.5 内存映射设备初始化 58 3.2.2.6 从属DMA设备初始化 58 3.2.3 注册一个中断 59 3.2.4 注册一个关闭函数 59 3.2.5 初始化轮询时钟 59 3.2.6 在初始化当中的同步 60 3.2.7 在初始化时处理错误 60 3.3 查询微端口信息 61 3.4 减少微端口初始化时间 61 第四章 数据传输 64 4.1 中断处理 64 4.2 DPC处理程序 66 4.3 带外(OOB)数据包 66 4.3.1 等待发送的OOB数据 67 4.3.2 接收的OOB数据 68 4.4 发送包 69 4.4.1 无连接微端口的多包传送 70 4.4.1.1 串行微端口的多包传送 70 4.4.1.2 非串行微端口的多包传送 71 4.4.2 无连接微端口的单包发送 71 4.4.3 面向连接微端口的多包发送 72 4.4.4 发送数据前的内存同步 73 4.4.5 发送步骤 74 4.4.5.1 在总线控制器DMA NIC上发送包 74 4.4.5.2 在PIO设备上发送单包 76 4.4.5.3 使用板上内存发送包 77 4.5 非串行微端口 78 4.5.1 非串行微端口的NDIS要求 78 4.5.2 非串行微端口的驱动程序内部要求 78 4.6 接收数据 79 4.6.1 无连接和面向连接微端口的多包接收 79 4.6.2 无连接微端口的单包接收 82 4.6.3 接收数据的高速缓存(Cache)因素 83 4.6.4 接收数据的步骤 83 4.6.4.1 接收期间的包管理 84 4.6.4.2 在总线控制器DMA NIC上接收数据 84 4.6.4.3 在PIO NIC上接收数据 85 4.6.4.4 在内存映射设备上接收数据 85 4.7 保持统计量 85 4.8 802.1P 包的优先权 86 4.8.1 查询802.1p优先权支持 87 4.8.2 802.1优先权的包支持 87 4.8.3 为发送和接收指定包的大小 88 4.8.4 默认情况下禁止802.1p的优先权支持 88 第五章 获取和设置WMI的微端口信息及NDIS支持 89 5.1 NDIS管理信息和OID 89 5.2 查询微端口信息 89 5.2.1 无连接微端口的查询 90 5.2.2 面向连接微端口的查询 91 5.3 设置微端口信息 92 5.3.1 为无连接微端口设置信息 92 5.3.2 为面向连接微端口设置信息 92 5.3.3 设置微端口信息的时机 93 5.4 报告硬件状态 93 5.5 WMI的NDIS支持 94 5.5.1 用WMI注册与注销NDIS微端口 94 5.5.2 OID和微端口状态的GUID映射 94 5.5.3 支持命名VC 94 5.5.4 NDIS支持的WMI操作 95 5.5.5 向WMI注册标准微端口OID 95 5.5.6 向WMI注册的标准微端口状态 97 5.5.7 定制OID与状态指示 98 5.5.7.1 填充NDIS_GUID 98 5.5.7.2 包括MOF文件 99 第六章 微端口的电源管理 100 6.1 电源管理的需求与可选的OID 100 6.2 网络设备电源状态 101 6.3 网络唤醒事件 102 6.3.1 连接改变唤醒 102 6.3.2 网络唤醒帧 102 6.3.3 魔包唤醒 103 6.3.4 启用唤醒事件 103 6.3.5 处理唤醒事件 103 6.4 处理OID_PNP_QUERY_POWER 104 6.5 处理OID_PNP_SET_POWER 104 6.5.1 转入睡眠状态 104 6.5.2 转入工作状态 104 6.6 早期微端口的电源管理 105 第七章 重置,停止和关闭 106 7.1 硬件重置(Reset) 106 7.2 停止(Halt)处理程序 106 7.3 关闭(Shutdown)处理程序 107 第八章 广域网微端口 NIC驱动程序 109 8.1 RAS 体系结构 109 8.2 NDISWAN 概述 111 8.3 网络卡、绑定、和连接 113 8.4 广域网微端口驱动程序的实现 114 8.4.1 标准广域网微端口驱动程序与局域网微端口驱动程序的区别 115 8.4.2 CoNDIS广域网微端口驱动程序的附加特性 115 8.4.3 广域网微端口驱动程序提供的服务 116 8.4.3.1 注册为广域网微端口驱动程序 116 8.4.3.2 查询广域网微端口驱动程序的信息 117 8.4.3.3 设置广域网小段口驱动程序的状态 122 8.4.3.4 在广域网微端口驱动程序上发送数据 123 8.4.4 广域网微端口驱动程序做出的指示 125 8.4.4.1 指示从标准广域网微端口驱动程序接收数据 125 8.5 广域网包的组帧 128 8.5.1 异步帧结构 128 8.5.2 X.25帧结构 128 8.5.3 ISDN和Switched-56K帧结构 128 8.6 标准NDIS之上的电话服务扩展 128 8.6.1 NDISTAPI概述 129 8.6.2 线路设备、地址和呼叫 129 8.6.3 设置和查询请求 130 8.6.4 保持状态信息 130 8.6.5 建立句柄 131 8.6.6 TAPI注册 131 8.6.7 TAPI初始化 132 8.6.8 打开线路 133 8.6.9 接受内入呼叫 133 8.6.10 产生TAPI呼叫 134 8.6.11 主动事件处理 135 8.6.12 Line-Up指示 135 8.6.13 关闭呼叫线路 137 8.6.14 NDISTAPI接口 139 8.7 使用支持电话服务的CoNDIS扩展 143 8.7.1 NDPROXY概述 143 8.7.2 CoNDIS TAPI注册 144 8.7.3 CoNDIS TAPI初始化 144 8.7.4 建立外出呼叫 146 8.7.5 接受内入呼叫 147 8.7.6 CoNDIS TAPI关闭 150 8.7.7 语音流对呼叫管理器的要求 151 8.7.7.1 响应OID_CO_TAPI_LINE_CAPS查询 151 8.7.7.2 为外出呼叫指定参数 151 8.7.7.3 为内入呼叫指定参数 152 8.7.8 在面向连接NDIS之上支持电话服务的非广域网专用的扩展 152 第九章 任务卸载 153 9.1 查询任务卸载能力 153 9.1.1 报告NIC的校验和性能 154 9.1.2 报告NIC的IP安全性性能 155 9.1.3 报告NIC的TCP包分段性能 157 9.2 启用任务卸载能力 157 9.3 停用任务卸载能力 158 9.4 访问Per-Packet信息 158 9.5 卸载TCP/IP校验和任务 159 9.6 卸载IP安全任务 161 9.7 卸载大TCP包分段 164 9.8 卸载组合 165 9.9 使用注册表键值激活和禁止任务卸载 166 第十章 负载平衡和失效替换 166 10.1 关于LBFO 167 10.2 指定对LBFO的支持 168 10.3 在微端口驱动程序上实现LBFO 168 10.3.1 初始化微端口束 168 10.3.2 平衡微端口驱动程序的工作量 169 10.3.3 在主微端口失效后提升一个次微端口 169 第十一章 快速转发路径 169 11.1 关于FFP 170 11.1.1 使用一个NIC的FFP 170 11.1.2 使用多个NIC的FFP 170 11.1.3 IP转发 171 11.1.4 FFP和包过滤 171 11.2 NIDS中的FFP支持 172 11.3 为IP转发在微端口实现FFP 172 第十二章 带WDM低级接口的微端口驱动程序 174 12.1 WDM低层微端口 174 12.2 注册WDM低层的微端口函数 174 12.3 初始化WDM低层微端口 175 12.4 发布命令与远程设备通信 176 12.4.1 在总线上发送包 176 12.4.2 在总线上接收包 176 12.5 WDM低层的实现要点 176 12.6 WDM低层的编译标志 177 第十三章 IrDA微端口NIC驱动程序 178 13.1 IrDA微端口驱动程序简述 178 13.2 IrDA体系结构 179 13.3 IrDA协议驱动程序 179 13.4 IrDA介质特征 179 13.4.1 通信连接速度 180 13.4.2 通信连接回转时间 180 13.4.3 接收器同步 181 13.5 IrLAP帧格式 182 13.5.1 帧格式简述 182 13.5.2 帧信息的使用 183 13.5.3 地址成员 183 13.6 IrDA微端口驱动程序包编码方案 183 13.6.1 SIR编码 184 13.6.2 MIR编码 184 13.6.3 FIR编码 184 13.7 发送和接收帧序列 185 13.8 即插即用 185 13.8.1 非即插即用外部串行连接SIR适配器 185 13.8.2 非即插即用内部SIR适配器或者象串口一样错误地呈现于外的内部SIR适配器 186 13.8.3 即插即用外部串行连接SIR适配器 186 13.8.4 即插即用内部SIR适配器 186 13.8.5 非即插即用总线连接FIR适配器 187 13.8.6 即插即用总线连接FIR适配器 187 第三部分NDIS中间层驱动程序和TDI驱动程序 189 第一章 NDIS中间层驱动程序 189 1.1中间层驱动程序的DriverEntry函数 191 1.1.1 注册NDIS中间层驱动程序 191 1.1.1.1注册中间层驱动程序的Miniport 192 1.1.1.2注册中间层驱动程序的协议 194 1.2 中间层驱动程序的动态绑定 196 1.2.1 打开中间层驱动程序下层的适配器 197 1.2.2 微端口初始化 198 1.2.3 中间层驱动程序查询和设置操作 199 1.2.4作为面向连接客户程序注册中间层驱动程序 201 1.3中间层驱动程序数据包管理 203 1.4 中间层驱动程序的限制 205 1.5 中间层驱动程序接收数据 206 1.5.1下边界面向无连接的中间层驱动程序接收数据 206 1.5.2下边界面向连接的中间层驱动程序接收数据 208 1.5.3向高层驱动程序指示接收数据包 209 1.6通过中间层驱动程序传输数据包 210 1.6.1传递介质相关信息 211 1.7处理中间层驱动程序的PnP事件和PM事件 212 1.7.1处理OID_PNP_XXX查询和设置 213 1.7.2中间层驱动程序ProtocolPnPEvent处理程序的实现 214 1.7.3处理规定的电源请求 214 1.8中间层驱动程序复位操作 215 1.9中间层驱动程序拆除绑定操作 216 1.10中间层驱动程序状态指示 217 第二章 NDIS协议驱动程序 219 2.1 协议DriverEntry及其初始化 220 2.1.1注册NDIS协议驱动程序 220 2.1.2 打开中间层驱动程序低层的适配器 223 2.1.3 协议驱动程序查询和设置操作 224 2.1.4作为呼叫管理器或者面向连接客户程序进行注册 225 2.2 协议驱动程序数据包管理 229 2.3 协议驱动程序的动态绑定 230 2.4 协议驱动程序接收数据 231 2.4.1下边界面向无连接的中间层驱动程序接收数据 231 2.4.1.1 在中间层驱动程序中实现ProtocolReceivePacket处理程序 232 2.4.1.2 在协议驱动程序中实现ProtocolReceive处理程序 233 2.4.1.3 从面向无连接协议驱动程序中访问OOB数据信息 234 2.4.2 面向连接协议驱动程序接收数据 234 2.4.2.1 ProtocolCoReceivePacket处理程序实现 235 2.4.2.2 从面向连接协议驱动程序中访问OOB数据信息 235 2.5 发送协议驱动程序创建的数据包 236 2.5.1 从面向无连接协议驱动程序发送数据包 236 2.5.1.1面向无连接协议驱动程序传递介质相关信息 237 2.5.2 面向连接协议驱动程序发送数据包 238 2.5.2.1面向连接协议驱动程序传递介质相关信息 238 2.6处理协议驱动程序的PnP事件和PM事件 239 2.7协议驱动程序复位操作 240 2.8协议驱动程序拆除绑定操作 241 2.9协议驱动程序状态指示 241 第三章 TDI传输器及其客户 243 3.1 传输驱动程序接口(TDI) 243 3.2 TDI设备对象 245 3.3 TDI文件对象 246 3.3.1代表传输地址的文件对象 247 3.3.2代表连接端点的文件对象 247 3.3.3代表控制信道的文件对象 248 3.4 TDI传输驱动程序例程 248 3.5 TDI核心模式客户交互 249 3.6 TDI请求及事件 250 第四章 TDI例程、宏和回调 251 4.1 TDI驱动程序初始化 251 4.1.1 注册TDI传输驱动程序 252 4.1.2 卸载和注销TDI传输驱动程序 252 4.2 TDI驱动程序调度例程 253 4.3 TDI IOCTL请求 254 4.4 TDI 客户回调 255 4.5 TDI 库函数和宏 257 第五章 TDI操作 260 5.1打开传输地址 260 5.2打开连接端点 261 5.3打包并提交IOCTL请求 262 5.4设置和查询信息 262 5.5建立端端连接 263 5.6发送和接收面向连接数据 264 5.7发送和接收无连接数据 266 5.8面向连接和面向无连接传输 267 5.9请求传输相关操作 268 5.10接收错误通知 268 5.11断开端端连接 268 5.12关闭连接端点 269 5.13关闭传输地址和控制信道 269 第六章Windows Sockets的传输助手DLLS 271 6.1 Windows Sockets Helper DLL结构 271 6.2用WSH DLL通信 271 6.3配置WSH DLL 272 6.4WSH DLL同步 272 6.5用WSH DLL支持连接和断开数据 273 6.5.1客户应用程序和连接数据 273 6.5.2服务器应用程序和连接数据 273 6.5.3断连(disconnect)数据 274 6.6WSH DLL函数总览 274 第四部分面向连接的网络驱动程序接口标准(NDIS) 276 第一章 面向连接的网络驱动程序接口标准(NDIS) 276 1.1面向连接环境 276 1.2使用AFs,VCs,SAP和Parties 277 1.2.1地址族 277 1.2.2虚连接 277 1.2.3 SAPs 278 1.2.4 Parties 278 1.3服务质量 278 1.4MCM和呼叫管理器有何不同 278 1.4.1初始化的不同 279 1.4.2对NdisXxx函数调用的不同 279 1.4.3虚连接的不同 279 1.5面向连接的时间特性 280 1.6面向连接操作 280 1.6.1面向连接操作总结 280 1.6.1.1由客户执行的面向连接操作 280 1.6.1.2由呼叫管理器执行的面向连接操作 281 1.6.1.3由微端口执行的面向连接操作 282 1.6.2地址族和SAPs上的操作 283 1.6.2.1注册并打开一个地址族 283 1.6.2.2注册一个SAP 284 1.6.2.3注销SAP 285 1.6.2.4关闭一个地址族 285 1.6.3 VCs上的操作 286 1.6.3.1创建VC 286 1.6.3.2激活VC 287 1.6.3.3使VC去活 288 1.6.3.4删除VC 289 1.6.4创建呼叫 289 1.6.4.1进行呼叫 290 1.6.4.2指示内入呼叫 291 1.6.5改变活动VC的QoS 292 1.6.5.1客户发起的改变呼叫参数请求。 292 1.6.5.2改变呼叫参数的内入请求 293 1.6.6增加和删除Parties 293 1.6.6.1把一个Party加入到多点呼叫 293 1.6.6.2从多点呼叫中删除Party 294 1.6.6.3从多点呼叫中删除一个Party的内入请求 295 1.6.7发送并接收数据 295 1.6.7.1在VC上发送包 295 1.6.7.2接收VC上的包 296 1.6.8断开呼叫 297 1.6.8.1客户发起的关闭呼叫请求 297 1.6.8.2关闭呼叫的内入请求 298 1.6.9获取并设置信息 298 1.6.9.1查询或设置信息 298 1.6.9.2指示微端口状态 299 1.6.10重置 299 第五部分 安装网络组件 301 第一章 安装网络组件 301 1.1用于安装网络组件的组件和文件 301 1.2创建网络INF文件 302 1.2.1网络INFS文件名的约定 302 1.2.2网络INF文件的版本节 302 1.2.3网络INF文件的模型节 303 1.2.4 INF文件的DDInstall节 304 1.2.5删除节 306 1.2.6 ControlFlags节 306 1.2.7网络INF文件的add-registry-sections 306 1.2.7.1设置静态参数 307 1.2.7.2 为WAN适配器说明WAN端点 307 1.2.7.3为ISDN适配器说明ISDN键和值 307 1.2.7.4安装多协议WAN NICs 309 1.2.7.5请求安装另一个网络组件 310 1.2.7.6说明NetCLient组件的名字和提供者 310 1.2.7.7增加HelpText值 311 1.2.7.8为通知对象增加注册值 311 1.2.7.9向Ndi键增加服务相关值 311 1.2.7.10说明绑定接口 312 1.2.7.11为高级属性页说明配置参数 314 1.2.7.12为网络适配器说明定制属性页 315 1.2.7.13说明过滤器服务值 315 1.2.7.14说明束成员关系 317 1.2.7.15 Window 2000中不用的 Window 95/98 Ndi值和键 317 1.2.8 DDInstall.Service节 318 1.2.9 NetworkProrider和PrintProvider节 318 1.2.9.1包含一个NetworkProvider节 319 1.2.9.2 包括一个PrintProvider节 319 1.2.10 Winsock节 320 1.2.11网络组件安装需求总结 322 1.2.11.1网络适配器的安装需求 322 1.2.11.2网络协议安装要求 323 1.2.11.3中间层网络驱动程序的安装需求 324 1.2.11.4网络过滤器驱动程序的安装需求 325 1.2.11.5网络客户的安装需求 326 1.2.11.6网络服务的安装请求 327 第二章 网络组件的通知对象 328 2.1关于通知对象 328 2.1.1 通知对象图 329 2.1.2通知类型 329 2.1.3网络组件的安装 329 2.1.4删除网络组件 330 2.1.5升级网络组件 330 2.1.6显示并改变属性 330 2.1.7网络配置 331 2.2创建通知对象 331 2.2.1装载通知对象DLL和类对象 331 2.2.2定义通知对象 332 2.2.3创建并初始化通知对象实例 332 2.2.4安装,升级和删除组件 333 2.2.5为组件生成属性页 333 2.2.6设置环境来显示属性 334 2.2.7评价网络配置的变化 334 2.2.8将组件变化加入注册表 335 2.2.9配置组件驱动程序 335
    这是个神奇的东西哦 投篮辅助器 让投篮更准 中锋?三分不是问题 百分百中!! 【招】应届生,入职年薪5-10万 【有奖】嵌入式开发从业人员大调查 SAP D-Code大会最低折扣倒计时 2013年热门Android应用 Android 游戏教程:让人物动起来 跟燕青一起学Android应用开发 .. 相关资源 AgileEAS.NET SOA 平台简易教程 50个Div+CSS模板 圣诞程序雪花飞舞的世界(VC++) C#5.0语法范例 读懂C++递归程序 c++ 类 的初步讨论 云计算资料大全(了解云计算者必读).pdf 云计算术语大全.docx Eclipse快捷键大全 五种令人印象深刻的网页头部设计技巧 C++初步知识(2013级-C++程序设计) 拼图游戏代码 碎纸片的拼接复原算法集合 java笔试题大集合及答案 热门招聘 【上海斐讯数据】招聘JAVA工程师 【德邦物流】高薪诚聘 软件质量工程师 【中移动】车联网产业研究员 【中移动】核心网或承载接入网 【中移动】行业市场研究员 【中移动】互联网运营经理 【中移动】服务器技术研究员 【中移动】产品体验设计师 JAVA软件开发工程师 月薪15000 C++/C# 软件开发工程师 月薪15000 技术总监- 武汉 月薪30000 android 开发工程师 月薪20000 高级算法工程师 月薪30000 地图导航上市公司 产品经理 月薪20000 【上海斐讯数据】招聘JAVA工程师 【德邦物流】高薪诚聘 软件质量工程师 【中移动】车联网产业研究员 【中移动】核心网或承载接入网 【中移动】行业市场研究员 【中移动】互联网运营经理 【中移动】服务器技术研究员 【中移动】产品体验设计师 JAVA软件开发工程师 月薪15000 C++/C# 软件开发工程师 月薪15000 技术总监- 武汉 月薪30000 android 开发工程师 月薪20000 高级算法工程师 月薪30000 地图导航上市公司 产品经理 月薪20000 电信下载网通下载 VIP免积分下载 你目前积分:0,下载后评论将有机会获得返分。 . FAQ为什么我点的下载下不了,但积分却被扣了由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。我的积分不多了,如何获取积分?上传优质资源可以获取积分,详细见 积分规则。 选择完成有奖的任务,可以获取积分。 http://task.csdn.net 选择购买VIP会员服务,无需积分下载资源 。 http://vip.csdn.net 评价资源返积分: 立即评价 第一次绑定手机,将获50下载积分及100论坛可用分。 立即绑定 论坛可用分兑换下载积分。 立即兑换 下载资源意味着您已经同意遵守以下协议1. 资源的所有权益归上传用户所有2. 未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途3. CSDN下载频道仅提供交流平台,并不能对任何下载资源负责4. 下载资源中如有侵权或不适当内容,请与我们联系。5. 本站不保证本站提供的资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。 下载频道公告. 做任务,得下载分 微软必应-英雄会在线编程 欢迎订阅CSDN社区周刊 . 本周热点资源. android4高级编程(中文) C#开发Android应用实战 使用Mono for Android和.NET C# PDF扫描版 仿新版360安全卫士主界面(基于稍作修改的duilib) C/C++指针经典资料大全 Android动画效果集合开源APP JAVA面试题目 Excel导入导出测试程序,测试通过 Unity 4.x从入门到精通 官方教材 完整版地址.rar 站群工具结合包 C#高性能大容量SOCKET并发完成端口例子 . 课程资源热门Tag. 软件测试 matlab loadrunner 测试 软件工程 qtp 教程 破解 性能测试 软件 .. . 关闭 积分不够,先来了解
    第1章 驱动程序开发环境 <br>第2章 测试驱动程序<br>第一部分 一般内核模式<br>第1章Windows 2000和WDM驱动程序<br>第2章 分层的I/O、IRP和I/O对象<br>第3章 系统定义的对象和对驱动程序的支持<br>第4章 驱动程序基本结构<br>第5章DriverEntry 和 Reinitialize 例程<br>第6章Dispatch例程<br>第7章StartIo和队列管理例程<br>第8章 中断服务例程<br>第9章 DpcForIsr例程和CustomDpc例程<br>第10章SynchCritSection例程<br>第11章AdapterControl和ControllerControl例程<br>第12章Cancel例程<br>第13章IoCompletion例程<br>第14章IoTimer和CustomTimerDpc例程<br>第15章Unload例程<br>第16章 常见的驱动程序设计问题<br><br>第1部分 图形驱动程序<br>第2部分 显示器及视频微端口驱动程序<br>第3部分 打印机驱动程序及假脱机打印部件<br><br>第五卷 网络驱动程序设计指南 1<br>第一部分 网络驱动程序 2<br>第一章 网络驱动程序设计指南的向导 3<br>第二章 内核模式驱动程序的网络结构 6<br>2.1 Windows 2000 网络结构和OSI模型 6<br>2.2 NDIS驱动程序 7<br>2.2.1 NDIS微端口驱动程序 7<br>2.2.2 NDIS中间层驱动程序 8<br>2.2.3 NDIS协议驱动程序 9<br>2.3 TDI驱动程序 9<br>2.4 网络驱动程序环境 9<br>2.4.1 无连接环境的网络驱动程序 10<br>2.4.2 面向连接环境下的网络驱动程序 10<br>2.4.3 WAN网络驱动程序的环境 11<br>第三章 网络驱动程序编程要点 13<br>3.1 可移植性 13<br>3.2 多处理器支持 13<br>3.3 IRQL 14<br>3.4 同步和指示 14<br>3.5 包结构 16<br>3.6 使用共享内存 17<br>3.7 异步I/O和完成函数 17<br>第二部分 微端口NIC驱动程序 19<br>第一章 NDIS NIC微端口驱动程序 20<br>1.1 NIC微端口驱动程序类型 20<br>1.2 网络接口卡支持 20<br>1.3 微端口驱动程序代码的重要特征 22<br>1.3.1 MiniportXxx函数 22<br>1.3.2 与NDIS库链接 22<br>1.3.3 微端口适配器环境 22<br>1.3.4 VC环境 23<br>1.3.5 网络OID 23<br>1.4 驱动程序例子 24<br>第二章 NIC微端口操作和函数概要 25<br>2.1 NIC微端口操作 25<br>2.1.1 初始化NDIS库和注册微端口驱动程序 25<br>2.1.2 注册网络接口卡 25<br>2.1.3 对查询和设置微端口信息作出响应 26<br>2.1.4 产生,激活,去活,和删除虚连接 26<br>2.1.5 发送数据 27<br>2.1.5.1 多包发送 27<br>2.1.5.2 单包发送 28<br>2.1.6 指示和传递接收的数据 28<br>2.1.6.1 多包接收 29<br>2.1.6.2 单包接收 29<br>2.1.7 指示状态 30<br>2.1.8 复位网络接口卡 30<br>2.1.9 终止一个微端口NIC驱动程序 30<br>2.2 微端口上层函数 30<br>2.2.1 无连接微端口的上层函数 31<br>2.2.2 面向连接微端口的上层函数 32<br>2.3 由微端口调用的NDIS函数 33<br>2.3.1 NDIS提供的初始化和注册函数 34<br>2.3.2 NDIS提供的硬件设置函数 35<br>2.3.3 NDIS提供的I/O端口函数 36<br>2.3.4 NDIS数据的与DMA相关的函数 37<br>2.3.5 NDIS提供的中断处理函数 38<br>2.3.6 NDIS提供的同步函数 38<br>2.3.7 NDIS提供的状态函数 39<br>2.3.8 NDIS为无连接微端口提供的发送和接收函数 39<br>2.3.9 NDIS为面向连接微端口提供的发送和接收函数 40<br>2.3.10 NDIS提供的带外数据宏 41<br>2.3.11 NDIS提供的包和缓存处理函数 41<br>2.3.12 NDIS提供的支持函数 43<br>2.3.13 NDIS提供的媒体相关宏 46<br>第三章 NIC微端口驱动程序入口点和初始化 47<br>3.1 NDIS微端口驱动程序入口函数 47<br>3.1.1 初始化包裹 47<br>3.1.2 注册微端口 48<br>3.1.2.1 指定NDIS版本号 48<br>3.1.2.2 注册MiniportXxx函数 48<br>3.1.2.3 为中断支持的注册处理程序 50<br>3.1.2.4 为无连接微端口选择一个发送函数 51<br>3.1.2.5 为无连接微端口选择接收函数 51<br>3.1.2.6 注册一个分配完成处理程序 52<br>3.1.2.7 注册一个挂起检测(CheckForHang) 处理程序 52<br>3.2 NDIS微端口初始化 53<br>3.2.1 注册一个NIC 53<br>3.2.1.1 分配一个适配器指定的环境区域 54<br>3.2.1.2 读取配置信息 54<br>3.2.1.3 注册NIC 54<br>3.2.2 声明资源 55<br>3.2.2.1 分配内存 55<br>3.2.2.2 注册端口 56<br>3.2.2.3 总线管理器DMA设备初始化 56<br>3.2.2.4可编程I/O设备初始化 57<br>3.2.2.5 内存映射设备初始化 58<br>3.2.2.6 从属DMA设备初始化 58<br>3.2.3 注册一个中断 59<br>3.2.4 注册一个关闭函数 59<br>3.2.5 初始化轮询时钟 59<br>3.2.6 在初始化当中的同步 60<br>3.2.7 在初始化时处理错误 60<br>3.3 查询微端口信息 61<br>3.4 减少微端口初始化时间 61<br>第四章 数据传输 64<br>4.1 中断处理 64<br>4.2 DPC处理程序 66<br>4.3 带外(OOB)数据包 66<br>4.3.1 等待发送的OOB数据 67<br>4.3.2 接收的OOB数据 68<br>4.4 发送包 69<br>4.4.1 无连接微端口的多包传送 70<br>4.4.1.1 串行微端口的多包传送 70<br>4.4.1.2 非串行微端口的多包传送 71<br>4.4.2 无连接微端口的单包发送 71<br>4.4.3 面向连接微端口的多包发送 72<br>4.4.4 发送数据前的内存同步 73<br>4.4.5 发送步骤 74<br>4.4.5.1 在总线控制器DMA NIC上发送包 74<br>4.4.5.2 在PIO设备上发送单包 76<br>4.4.5.3 使用板上内存发送包 77<br>4.5 非串行微端口 78<br>4.5.1 非串行微端口的NDIS要求 78<br>4.5.2 非串行微端口的驱动程序内部要求 78<br>4.6 接收数据 79<br>4.6.1 无连接和面向连接微端口的多包接收 79<br>4.6.2 无连接微端口的单包接收 82<br>4.6.3 接收数据的高速缓存(Cache)因素 83<br>4.6.4 接收数据的步骤 83<br>4.6.4.1 接收期间的包管理 84<br>4.6.4.2 在总线控制器DMA NIC上接收数据 84<br>4.6.4.3 在PIO NIC上接收数据 85<br>4.6.4.4 在内存映射设备上接收数据 85<br>4.7 保持统计量 85<br>4.8 802.1P 包的优先权 86<br>4.8.1 查询802.1p优先权支持 87<br>4.8.2 802.1优先权的包支持 87<br>4.8.3 为发送和接收指定包的大小 88<br>4.8.4 默认情况下禁止802.1p的优先权支持 88<br>第五章 获取和设置WMI的微端口信息及NDIS支持 89<br>5.1 NDIS管理信息和OID 89<br>5.2 查询微端口信息 89<br>5.2.1 无连接微端口的查询 90<br>5.2.2 面向连接微端口的查询 91<br>5.3 设置微端口信息 92<br>5.3.1 为无连接微端口设置信息 92<br>5.3.2 为面向连接微端口设置信息 92<br>5.3.3 设置微端口信息的时机 93<br>5.4 报告硬件状态 93<br>5.5 WMI的NDIS支持 94<br>5.5.1 用WMI注册与注销NDIS微端口 94<br>5.5.2 OID和微端口状态的GUID映射 94<br>5.5.3 支持命名VC 94<br>5.5.4 NDIS支持的WMI操作 95<br>5.5.5 向WMI注册标准微端口OID 95<br>5.5.6 向WMI注册的标准微端口状态 97<br>5.5.7 定制OID与状态指示 98<br>5.5.7.1 填充NDIS_GUID 98<br>5.5.7.2 包括MOF文件 99<br>第六章 微端口的电源管理 100<br>6.1 电源管理的需求与可选的OID 100<br>6.2 网络设备电源状态 101<br>6.3 网络唤醒事件 102<br>6.3.1 连接改变唤醒 102<br>6.3.2 网络唤醒帧 102<br>6.3.3 魔包唤醒 103<br>6.3.4 启用唤醒事件 103<br>6.3.5 处理唤醒事件 103<br>6.4 处理OID_PNP_QUERY_POWER 104<br>6.5 处理OID_PNP_SET_POWER 104<br>6.5.1 转入睡眠状态 104<br>6.5.2 转入工作状态 104<br>6.6 早期微端口的电源管理 105<br>第七章 重置,停止和关闭 106<br>7.1 硬件重置(Reset) 106<br>7.2 停止(Halt)处理程序 106<br>7.3 关闭(Shutdown)处理程序 107<br>第八章 广域网微端口 NIC驱动程序 109<br>8.1 RAS 体系结构 109<br>8.2 NDISWAN 概述 111<br>8.3 网络卡、绑定、和连接 113<br>8.4 广域网微端口驱动程序的实现 114<br>8.4.1 标准广域网微端口驱动程序与局域网微端口驱动程序的区别 115<br>8.4.2 CoNDIS广域网微端口驱动程序的附加特性 115<br>8.4.3 广域网微端口驱动程序提供的服务 116<br>8.4.3.1 注册为广域网微端口驱动程序 116<br>8.4.3.2 查询广域网微端口驱动程序的信息 117<br>8.4.3.3 设置广域网小段口驱动程序的状态 122<br>8.4.3.4 在广域网微端口驱动程序上发送数据 123<br>8.4.4 广域网微端口驱动程序做出的指示 125<br>8.4.4.1 指示从标准广域网微端口驱动程序接收数据 125<br>8.5 广域网包的组帧 128<br>8.5.1 异步帧结构 128<br>8.5.2 X.25帧结构 128<br>8.5.3 ISDN和Switched-56K帧结构 128<br>8.6 标准NDIS之上的电话服务扩展 128<br>8.6.1 NDISTAPI概述 129<br>8.6.2 线路设备、地址和呼叫 129<br>8.6.3 设置和查询请求 130<br>8.6.4 保持状态信息 130<br>8.6.5 建立句柄 131<br>8.6.6 TAPI注册 131<br>8.6.7 TAPI初始化 132<br>8.6.8 打开线路 133<br>8.6.9 接受内入呼叫 133<br>8.6.10 产生TAPI呼叫 134<br>8.6.11 主动事件处理 135<br>8.6.12 Line-Up指示 135<br>8.6.13 关闭呼叫线路 137<br>8.6.14 NDISTAPI接口 139<br>8.7 使用支持电话服务的CoNDIS扩展 143<br>8.7.1 NDPROXY概述 143<br>8.7.2 CoNDIS TAPI注册 144<br>8.7.3 CoNDIS TAPI初始化 144<br>8.7.4 建立外出呼叫 146<br>8.7.5 接受内入呼叫 147<br>8.7.6 CoNDIS TAPI关闭 150<br>8.7.7 语音流对呼叫管理器的要求 151<br>8.7.7.1 响应OID_CO_TAPI_LINE_CAPS查询 151<br>8.7.7.2 为外出呼叫指定参数 151<br>8.7.7.3 为内入呼叫指定参数 152<br>8.7.8 在面向连接NDIS之上支持电话服务的非广域网专用的扩展 152<br>第九章 任务卸载 153<br>9.1 查询任务卸载能力 153<br>9.1.1 报告NIC的校验和性能 154<br>9.1.2 报告NIC的IP安全性性能 155<br>9.1.3 报告NIC的TCP包分段性能 157<br>9.2 启用任务卸载能力 157<br>9.3 停用任务卸载能力 158<br>9.4 访问Per-Packet信息 158<br>9.5 卸载TCP/IP校验和任务 159<br>9.6 卸载IP安全任务 161<br>9.7 卸载大TCP包分段 164<br>9.8 卸载组合 165<br>9.9 使用注册表键值激活和禁止任务卸载 166<br>第十章 负载平衡和失效替换 166<br>10.1 关于LBFO 167<br>10.2 指定对LBFO的支持 168<br>10.3 在微端口驱动程序上实现LBFO 168<br>10.3.1 初始化微端口束 168<br>10.3.2 平衡微端口驱动程序的工作量 169<br>10.3.3 在主微端口失效后提升一个次微端口 169<br>第十一章 快速转发路径 169<br>11.1 关于FFP 170<br>11.1.1 使用一个NIC的FFP 170<br>11.1.2 使用多个NIC的FFP 170<br>11.1.3 IP转发 171<br>11.1.4 FFP和包过滤 171<br>11.2 NIDS中的FFP支持 172<br>11.3 为IP转发在微端口实现FFP 172<br>第十二章 带WDM低级接口的微端口驱动程序 174<br>12.1 WDM低层微端口 174<br>12.2 注册WDM低层的微端口函数 174<br>12.3 初始化WDM低层微端口 175<br>12.4 发布命令与远程设备通信 176<br>12.4.1 在总线上发送包 176<br>12.4.2 在总线上接收包 176<br>12.5 WDM低层的实现要点 176<br>12.6 WDM低层的编译标志 177<br>第十三章 IrDA微端口NIC驱动程序 178<br>13.1 IrDA微端口驱动程序简述 178<br>13.2 IrDA体系结构 179<br>13.3 IrDA协议驱动程序 179<br>13.4 IrDA介质特征 179<br>13.4.1 通信连接速度 180<br>13.4.2 通信连接回转时间 180<br>13.4.3 接收器同步 181<br>13.5 IrLAP帧格式 182<br>13.5.1 帧格式简述 182<br>13.5.2 帧信息的使用 183<br>13.5.3 地址成员 183<br>13.6 IrDA微端口驱动程序包编码方案 183<br>13.6.1 SIR编码 184<br>13.6.2 MIR编码 184<br>13.6.3 FIR编码 184<br>13.7 发送和接收帧序列 185<br>13.8 即插即用 185<br>13.8.1 非即插即用外部串行连接SIR适配器 185<br>13.8.2 非即插即用内部SIR适配器或者象串口一样错误地呈现于外的内部SIR适配器 186<br>13.8.3 即插即用外部串行连接SIR适配器 186<br>13.8.4 即插即用内部SIR适配器 186<br>13.8.5 非即插即用总线连接FIR适配器 187<br>13.8.6 即插即用总线连接FIR适配器 187<br>第三部分NDIS中间层驱动程序和TDI驱动程序 189<br>第一章 NDIS中间层驱动程序 189<br>1.1中间层驱动程序的DriverEntry函数 191<br>1.1.1 注册NDIS中间层驱动程序 191<br>1.1.1.1注册中间层驱动程序的Miniport 192<br>1.1.1.2注册中间层驱动程序的协议 194<br>1.2 中间层驱动程序的动态绑定 196<br>1.2.1 打开中间层驱动程序下层的适配器 197<br>1.2.2 微端口初始化 198<br>1.2.3 中间层驱动程序查询和设置操作 199<br>1.2.4作为面向连接客户程序注册中间层驱动程序 201<br>1.3中间层驱动程序数据包管理 203<br>1.4 中间层驱动程序的限制 205<br>1.5 中间层驱动程序接收数据 206<br>1.5.1下边界面向无连接的中间层驱动程序接收数据 206<br>1.5.2下边界面向连接的中间层驱动程序接收数据 208<br>1.5.3向高层驱动程序指示接收数据包 209<br>1.6通过中间层驱动程序传输数据包 210<br>1.6.1传递介质相关信息 211<br>1.7处理中间层驱动程序的PnP事件和PM事件 212<br>1.7.1处理OID_PNP_XXX查询和设置 213<br>1.7.2中间层驱动程序ProtocolPnPEvent处理程序的实现 214<br>1.7.3处理规定的电源请求 214<br>1.8中间层驱动程序复位操作 215<br>1.9中间层驱动程序拆除绑定操作 216<br>1.10中间层驱动程序状态指示 217<br>第二章 NDIS协议驱动程序 219<br>2.1 协议DriverEntry及其初始化 220<br>2.1.1注册NDIS协议驱动程序 220<br>2.1.2 打开中间层驱动程序低层的适配器 223<br>2.1.3 协议驱动程序查询和设置操作 224<br>2.1.4作为呼叫管理器或者面向连接客户程序进行注册 225<br>2.2 协议驱动程序数据包管理 229<br>2.3 协议驱动程序的动态绑定 230<br>2.4 协议驱动程序接收数据 231<br>2.4.1下边界面向无连接的中间层驱动程序接收数据 231<br>2.4.1.1 在中间层驱动程序中实现ProtocolReceivePacket处理程序 232<br>2.4.1.2 在协议驱动程序中实现ProtocolReceive处理程序 233<br>2.4.1.3 从面向无连接协议驱动程序中访问OOB数据信息 234<br>2.4.2 面向连接协议驱动程序接收数据 234<br>2.4.2.1 ProtocolCoReceivePacket处理程序实现 235<br>2.4.2.2 从面向连接协议驱动程序中访问OOB数据信息 235<br>2.5 发送协议驱动程序创建的数据包 236<br>2.5.1 从面向无连接协议驱动程序发送数据包 236<br>2.5.1.1面向无连接协议驱动程序传递介质相关信息 237<br>2.5.2 面向连接协议驱动程序发送数据包 238<br>2.5.2.1面向连接协议驱动程序传递介质相关信息 238<br>2.6处理协议驱动程序的PnP事件和PM事件 239<br>2.7协议驱动程序复位操作 240<br>2.8协议驱动程序拆除绑定操作 241<br>2.9协议驱动程序状态指示 241<br>第三章 TDI传输器及其客户 243<br>3.1 传输驱动程序接口(TDI) 243<br>3.2 TDI设备对象 245<br>3.3 TDI文件对象 246<br>3.3.1代表传输地址的文件对象 247<br>3.3.2代表连接端点的文件对象 247<br>3.3.3代表控制信道的文件对象 248<br>3.4 TDI传输驱动程序例程 248<br>3.5 TDI核心模式客户交互 249<br>3.6 TDI请求及事件 250<br>第四章 TDI例程、宏和回调 251<br>4.1 TDI驱动程序初始化 251<br>4.1.1 注册TDI传输驱动程序 252<br>4.1.2 卸载和注销TDI传输驱动程序 252<br>4.2 TDI驱动程序调度例程 253<br>4.3 TDI IOCTL请求 254<br>4.4 TDI 客户回调 255<br>4.5 TDI 库函数和宏 257<br>第五章 TDI操作 260<br>5.1打开传输地址 260<br>5.2打开连接端点 261<br>5.3打包并提交IOCTL请求 262<br>5.4设置和查询信息 262<br>5.5建立端端连接 263<br>5.6发送和接收面向连接数据 264<br>5.7发送和接收无连接数据 266<br>5.8面向连接和面向无连接传输 267<br>5.9请求传输相关操作 268<br>5.10接收错误通知 268<br>5.11断开端端连接 268<br>5.12关闭连接端点 269<br>5.13关闭传输地址和控制信道 269<br>第六章Windows Sockets的传输助手DLLS 271<br>6.1 Windows Sockets Helper DLL结构 271<br>6.2用WSH DLL通信 271<br>6.3配置WSH DLL 272<br>6.4WSH DLL同步 272<br>6.5用WSH DLL支持连接和断开数据 273<br>6.5.1客户应用程序和连接数据 273<br>6.5.2服务器应用程序和连接数据 273<br>6.5.3断连(disconnect)数据 274<br>6.6WSH DLL函数总览 274<br>第四部分面向连接的网络驱动程序接口标准(NDIS) 276<br>第一章 面向连接的网络驱动程序接口标准(NDIS) 276<br>1.1面向连接环境 276<br>1.2使用AFs,VCs,SAP和Parties 277<br>1.2.1地址族 277<br>1.2.2虚连接 277<br>1.2.3 SAPs 278<br>1.2.4 Parties 278<br>1.3服务质量 278<br>1.4MCM和呼叫管理器有何不同 278<br>1.4.1初始化的不同 279<br>1.4.2对NdisXxx函数调用的不同 279<br>1.4.3虚连接的不同 279<br>1.5面向连接的时间特性 280<br>1.6面向连接操作 280<br>1.6.1面向连接操作总结 280<br>1.6.1.1由客户执行的面向连接操作 280<br>1.6.1.2由呼叫管理器执行的面向连接操作 281<br>1.6.1.3由微端口执行的面向连接操作 282<br>1.6.2地址族和SAPs上的操作 283<br>1.6.2.1注册并打开一个地址族 283<br>1.6.2.2注册一个SAP 284<br>1.6.2.3注销SAP 285<br>1.6.2.4关闭一个地址族 285<br>1.6.3 VCs上的操作 286<br>1.6.3.1创建VC 286<br>1.6.3.2激活VC 287<br>1.6.3.3使VC去活 288<br>1.6.3.4删除VC 289<br>1.6.4创建呼叫 289<br>1.6.4.1进行呼叫 290<br>1.6.4.2指示内入呼叫 291<br>1.6.5改变活动VC的QoS 292<br>1.6.5.1客户发起的改变呼叫参数请求。 292<br>1.6.5.2改变呼叫参数的内入请求 293<br>1.6.6增加和删除Parties 293<br>1.6.6.1把一个Party加入到多点呼叫 293<br>1.6.6.2从多点呼叫中删除Party 294<br>1.6.6.3从多点呼叫中删除一个Party的内入请求 295<br>1.6.7发送并接收数据 295<br>1.6.7.1在VC上发送包 295<br>1.6.7.2接收VC上的包 296<br>1.6.8断开呼叫 297<br>1.6.8.1客户发起的关闭呼叫请求 297<br>1.6.8.2关闭呼叫的内入请求 298<br>1.6.9获取并设置信息 298<br>1.6.9.1查询或设置信息 298<br>1.6.9.2指示微端口状态 299<br>1.6.10重置 299<br>第五部分 安装网络组件 301<br>第一章 安装网络组件 301<br>1.1用于安装网络组件的组件和文件 301<br>1.2创建网络INF文件 302<br>1.2.1网络INFS文件名的约定 302<br>1.2.2网络INF文件的版本节 302<br>1.2.3网络INF文件的模型节 303<br>1.2.4 INF文件的DDInstall节 304<br>1.2.5删除节 306<br>1.2.6 ControlFlags节 306<br>1.2.7网络INF文件的add-registry-sections 306<br>1.2.7.1设置静态参数 307<br>1.2.7.2 为WAN适配器说明WAN端点 307<br>1.2.7.3为ISDN适配器说明ISDN键和值 307<br>1.2.7.4安装多协议WAN NICs 309<br>1.2.7.5请求安装另一个网络组件 310<br>1.2.7.6说明NetCLient组件的名字和提供者 310<br>1.2.7.7增加HelpText值 311<br>1.2.7.8为通知对象增加注册值 311<br>1.2.7.9向Ndi键增加服务相关值 311<br>1.2.7.10说明绑定接口 312<br>1.2.7.11为高级属性页说明配置参数 314<br>1.2.7.12为网络适配器说明定制属性页 315<br>1.2.7.13说明过滤器服务值 315<br>1.2.7.14说明束成员关系 317<br>1.2.7.15 Window 2000中不用的 Window 95/98 Ndi值和键 317<br>1.2.8 DDInstall.Service节 318<br>1.2.9 NetworkProrider和PrintProvider节 318<br>1.2.9.1包含一个NetworkProvider节 319<br>1.2.9.2 包括一个PrintProvider节 319<br>1.2.10 Winsock节 320<br>1.2.11网络组件安装需求总结 322<br>1.2.11.1网络适配器的安装需求 322<br>1.2.11.2网络协议安装要求 323<br>1.2.11.3中间层网络驱动程序的安装需求 324<br>1.2.11.4网络过滤器驱动程序的安装需求 325<br>1.2.11.5网络客户的安装需求 326<br>1.2.11.6网络服务的安装请求 327<br>第二章 网络组件的通知对象 328<br>2.1关于通知对象 328<br>2.1.1 通知对象图 329<br>2.1.2通知类型 329<br>2.1.3网络组件的安装 329<br>2.1.4删除网络组件 330<br>2.1.5升级网络组件 330<br>2.1.6显示并改变属性 330<br>2.1.7网络配置 331<br>2.2创建通知对象 331<br>2.2.1装载通知对象DLL和类对象 331<br>2.2.2定义通知对象 332<br>2.2.3创建并初始化通知对象实例 332<br>2.2.4安装,升级和删除组件 333<br>2.2.5为组件生成属性页 333<br>2.2.6设置环境来显示属性 334<br>2.2.7评价网络配置的变化 334<br>2.2.8将组件变化加入注册表 335<br>2.2.9配置组件驱动程序 335<br><br>

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值