⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8.3 windows management instrumentation.htm

📁 Windows2000后台服务程序开发手册
💻 HTM
📖 第 1 页 / 共 3 页
字号:
                  Stud中显示TimeService服务之PipeName属性的TimeServiceProvider 
                DLL</FONT></TD></TR></TBODY></TAB, LE></CENTER>
              <HR style="LINE-HEIGHT: 25px">

              <P><FONT style="LINE-HEIGHT: 25px" face=Arial color=#3e77d7 size=3 
              Black><B style="LINE-HEIGHT: 25px">说明</B></FONT> </P>
              <P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000 
              size=2>当需要时,提供者DLL会被载入到WinMgmt.exe的位址空间。如果您想要修改您的提供者原始程序代码并重新建构它的话,必须先停止WinMgmt服务,当您准备好载入新建构的DLL时,再重新启动它。</FONT></P>
              <HR style="LINE-HEIGHT: 25px">

              <P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000 
              size=2>如果您的提供者无法执行,可以检查C:\WINNT\System32\WBEM\Logs目录,它包含了一些记录文字档。这些文件追踪了许多错误情形,例如配置或载入提供者失败的情形。同样的,为了帮助您对提供者侦错,可以执行WinMgmt.exe,以正常的处理程序取代服务。这么做之前您必须先停止执行WinMgmt服务并从命令列中使用 
              /exe选项执行WinMgmt.exe。</FONT></P><A style="LINE-HEIGHT: 25px" 
              name=369_1>
              <DIV style="LINE-HEIGHT: 25px; BACKGROUND-COLOR: #d7d7d7"><FONT 
              style="LINE-HEIGHT: 25px" face=Arial size=3><PRE style="LINE-HEIGHT: 25px">Richter_TimeServiceProvider.cpp <BR>/****************************************************************** <BR>Richter_TimeServiceProvider.CPP — 实作WMI提供者类别 <BR>由Microsoft WMI Code Generation Engine产生 <BR>目标: -察看个别的函数标头 <BR>&nbsp;&nbsp; -当连结时,确定您已经连结了framedyd.lib和msvcrtd.lib(侦错版)或&nbsp;&nbsp;<BR>&nbsp;&nbsp; framedyn.lib和msvcrt.lib(零售[M3]版) <BR>说明: <BR>为Microsoft Windows TimeService WMI提供者设计服务器端应用程序 <BR>******************************************************************/ <BR>#pragma message("This project requires that the Platform SDK ’s WMI components") <BR>#pragma message("be installed.You may install these componenets from the ") <BR>#pragma message("book ’s CD-ROM or from msdn.microsoft.com") <BR>// 在侦错资讯中,识别项会被缩短为「255」个字元 <BR>#pragma warning(disable:4786) <BR>//******************************************************************** <BR>#pragma warning(push,3) <BR>#include &lt;fwcommon.h&gt; // 必须先被含入 <BR>#pragma comment(lib,"FrameDyn.lib") <BR>#include "Richter_TimeServiceProvider.h" <BR>// 目标:为您的提供者实例使适当的命名空间取代「NameSpace」内容 <BR>// 例如:「root \\default or "root \\cimv2」 <BR>//============================================================ <BR>CRichter_TimeServiceProvider MyRichter_TimeServiceProviderSet ( <BR>PROVIDER_NAME_RICHTER_TIMESERVICEPROVIDER,L"root \\cimv2"); <BR>// 属性名称 <BR>//=============== <BR>const static WCHAR* pName = L"Name"; <BR>const static WCHAR* pPipeName = L"PipeName"; <BR>/******************************************************************** <BR>* <BR>*函数:CRichter_TimeServiceProvider::CRichter_TimeServiceProvider <BR>* <BR>*说明:建构子(Constructor) <BR>* <BR>*输入:无 <BR>* <BR>*回传:无 <BR>* <BR>*注解:呼叫提供者的建构子 <BR>* <BR>********************************************************************/ <BR>CRichter_TimeServiceProvider::CRichter_TimeServiceProvider (LPCWSTR lpwszName, <BR>LPCWSTR lpwszNameSpace ): <BR> Provider(lpwszName, lpwszNameSpace) <BR>{ <BR>} <BR>/******************************************************************** <BR>* <BR>* 函数 :&nbsp;&nbsp;CRichter_TimeServiceProvider::~CRichter_TimeServiceProvider <BR>* <BR>* 说明 :&nbsp;&nbsp;解构子(Destructor) <BR>* <BR>* 输入 :&nbsp;&nbsp;无 <BR>* <BR>* 回传 :&nbsp;&nbsp;无 <BR>* <BR>* 注解 : <BR>* <BR>********************************************************************/ <BR>CRichter_TimeServiceProvider::~CRichter_TimeServiceProvider () <BR>{ <BR>} <BR>/******************************************************************* <BR>* <BR>* 函数 :&nbsp;&nbsp;CRichter_TimeServiceProvider::EnumerateInstances <BR>* <BR>* 说明 :&nbsp;&nbsp;回传此类别的所有实列 <BR>* <BR>* 输入 :&nbsp;&nbsp;一个为了与WinMgmt沟通而指向MethodContext的指标 <BR>*&nbsp;&nbsp;在IWbemServices::CreateInstanceEnumAsync描述之一个包含long型别的标记。 <BR>&nbsp;&nbsp;请注意以下这些被WinMgmt处理(以及过滤)的标记: <BR>*&nbsp;&nbsp; WBEM_FLAG_DEEP <BR>*&nbsp;&nbsp; WBEM_FLAG_SHALLOW <BR>*&nbsp;&nbsp; WBEM_FLAG_RETURN_IMMEDIATELY <BR>*&nbsp;&nbsp; WBEM_FLAG_FORWARD_ONLY <BR>*&nbsp;&nbsp; WBEM_FLAG_BIDIRECTIONAL <BR>* <BR>* 回传 :&nbsp;&nbsp;如果执行成功则回传WBEM_S_NO_ERROR <BR>* <BR>* 注解 :&nbsp;&nbsp;目标:在机器上的所有实例应该在此被回传,此类别知道如何存放己被填入的所有属性。如果没有&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;实例的话,则回传WBEM_S_NO_ERROR。没有一个错误是没有实例。如果您实作一个「只&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有方法(method only)」的提供者,您应该移除此方法。 <BR>* <BR>********************************************************************/ <BR>HRESULT CRichter_TimeServiceProvider::EnumerateInstances ( <BR>MethodContext*pMethodContext, long lFlags) <BR>{ <BR> HRESULT hRes = WBEM_S_NO_ERROR; <BR>// 目标: 以下的注解包含了为此类别而输入属性的「set」方法。因为它们不会在目前的格式下编译,所以&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>注解它们。每一个 &lt;Property Value&gt; 应该被取代为适当的值。同样的,考虑建立一个新的方&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>法并移除这些set陈述式以及回圈里面的GetObject。察看架构范例(ReindeerProv.cpp)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>可以取得完成这件事的范例。 <BR>// <BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果机器上超过一个实例产生例外的情形,则应该透过实例以相对应的填满动作执行&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>EnumerateInstances。 <BR>// <BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;您必须永远设定为所有主要的属性。请察看文件以取得进一步的细节 <BR>/////////////////////////////////////////////////////////////////////////////// <BR> // 依据传递进来的MethodContext建立一个新的实例。 <BR> // 注意CreateNewInstance可能会被丢出,但是永远不会回传NULL <BR> CInstance* pInstance = CreateNewInstance(pMethodContext); <BR> // 类别名称必须符合服务的程序设计名称 <BR> pInstance-&gt;SetCHString(pName, "Programming Server-Side Applications Time"); <BR> pInstance-&gt;SetCHString(pPipeName, "TimeService"); <BR> hRes = pInstance-&gt;Commit(); <BR> pInstance-&gt;Release(); <BR> return(hRes); <BR>} <BR>/******************************************************************** <BR>* <BR>* 函数: CRichter_TimeServiceProvider::GetObject <BR>* <BR>* 说明: 依据主要的属性为类别寻找一个单一的实例 <BR>* <BR>* 输入: 一个指向包含主要属性之Cinstance物件指标 <BR>*&nbsp;&nbsp;&nbsp;&nbsp;描述在IWbemServices::GetObjectAsync中的一个long型别标记 <BR>* <BR>* 回传: 如果可以找到实例,则回传WBEM_S_NO_ERROR <BR>*&nbsp;&nbsp;&nbsp;&nbsp;如果无法找到被主要属性描述的实例,回传WBEM_E_NOT_FOUND <BR>*&nbsp;&nbsp;&nbsp;&nbsp;如果找到实例但是有另一个错误发生时,回传WBEM_E_FAILED <BR>* <BR>* 注解: 如果您实作了一个只提供方法的提供者,应该移除这个方法 <BR>* <BR>********************************************************************/ <BR>HRESULT CRichter_TimeServiceProvider::GetObject (CInstance* pInstance, <BR>long lFlags) <BR>{ <BR> // 目标: GetObject函数用来依据主要的属性,在机器上搜寻此类别的实例。不像那些在机器上寻找所&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR> 有实例的EnumerateInstances一样,GetObject使用主要的属性寻找符合的单一实例 并回传该实例 <BR> // <BR> // 使用Cinstance之Get函数(例如,呼叫GetCHString(L"Name", sTemp))相对于用pInstance&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR> 察看客户端要求的主要值 <BR>HRESULT hr = WBEM_E_NOT_FOUND; <BR> // 类别名称必须与服务的程序设计名称相符 <BR> pInstance-&gt;SetCHString(pName, "Programming Server-Side Applications Time"); <BR> pInstance-&gt;SetCHString(pPipeName, "TimeService"); <BR> hr = WBEM_S_NO_ERROR; <BR> return(hr); <BR>} <BR>/******************************************************************** <BR>* <BR>* 函数: CRichter_TimeServiceProvider::ExecQuery <BR>* <BR>* 说明: 您传递一个方法的内容使用在满足要求实例的建立中,并将放置所有的实例。您可能会回传比被要求&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以及WinMgmt将要公布之过滤后无法应用还要多的实例或属性。 <BR>* <BR>* 输入: 为了与WinMgmt沟通的一个指向MethodContext指标 <BR>*&nbsp;&nbsp;&nbsp;&nbsp;一个描述满足要求条件的要求物件 <BR>*&nbsp;&nbsp;&nbsp;&nbsp;描述在IWbemServices::CreateInstanceEnumAsync中的一个long型别标记,注意以下被&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WinMgmt处理(以及过滤)的标记: <BR>*&nbsp;&nbsp; WBEM_FLAG_FORWARD_ONLY <BR>*&nbsp;&nbsp; WBEM_FLAG_BIDIRECTIONAL <BR>*&nbsp;&nbsp; WBEM_FLAG_ENSURE_LOCATABLE <BR>* <BR>* 回传: 如果此类别不支援该要求或者此类别的要求太复杂时,回传WBEM_E_PROVIDER_NOT_CAPABLE。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;架构将会呼叫EnumerateInstances函数,并让Winmgmt公布过滤器。 <BR>*&nbsp;&nbsp;如果要求执行失败,回传WBEM_E_FAILED <BR>*&nbsp;&nbsp;如果要求执行成功,回传WBEM_S_NO_ERROR <BR>* <BR>* 注解: 目标:大部份的提供者不需要实作此方法。如果您没有做的话,WinMgmt将会呼叫您的列举函数以&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;取得所有实例并执行过滤程序。除非您期待从要求中实作重要的储存动作,否则您应该移除这个方法。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果您实作了一个只有方法[M6]的提供者,也应该移除此方法。 <BR>* <BR>********************************************************************/ <BR>HRESULT CRichter_TimeServiceProvider::ExecQuery (MethodContext *pMethodContext, <BR>CFrameworkQuery&amp;Query,long lFlags) <BR>{ <BR> return (WBEM_E_PROVIDER_NOT_CAPABLE); <BR>} <BR>/******************************************************************** <BR>* <BR>* 函数 :&nbsp;&nbsp;CRichter_TimeServiceProvider::PutInstance <BR>* <BR>* 说明: PutInstance应该被用在可以将实例资讯写回硬体或软件的提供者类别中。例如, Win32_Environment <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;允许一个PutInstance建立或更新一个环境变数。然而,一个像 MotherboardDevice的类别不允许对一 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;些套接字做编辑,因为提供者会影响那些数字,所以很困难。 <BR>* <BR>* 输入: 指向一个包含主要属性的Cinstance物件指标 <BR>*&nbsp;&nbsp;&nbsp;&nbsp;描述在IWbemServices::PutInstanceAsync内的一个long型别标记 <BR>* <BR>* 回传: 如果PutInstance为不可用时,回传WBEM_E_PROVIDER_NOT_CAPABLE <BR>*&nbsp;&nbsp;&nbsp;&nbsp;如果发生一个实例之错误传递情形,回传WBEM_E_FAILED <BR>*&nbsp;&nbsp;&nbsp;&nbsp;如果任何一个实例属性不正确,回传WBEM_E_INVALID_PARAMETER <BR>*&nbsp;&nbsp;&nbsp;&nbsp;如果实例被适当地传递,回传WBEM_S_NO_ERROR <BR>* <BR>* 注解: 目的:如果您不打算编写支援您的提供者之程序,或者建立了一个只有方法的提供者,请移除此方法 <BR>* <BR>********************************************************************/ <BR>HRESULT CRichter_TimeServiceProvider::PutInstance (const CInstance &amp;Instance, <BR>long lFlags) <BR>{ <BR> // 使用Cinstance之Get函数(例如,呼叫GetCHString(L"Name", sTemp))相对于察看被客&nbsp;&nbsp; <BR> 户端要求的主要值 <BR> return (WBEM_E_PROVIDER_NOT_CAPABLE); <BR>} <BR>/******************************************************************** <BR>* <BR>* 函数: CRichter_TimeServiceProvider::DeleteInstance <BR>* <BR>* 说明: 像PutInstance的DeleteInstance,实际将资讯写到软件或硬体中。对大部份的硬体来说, DeleteInstance <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;应该不要被实作,但是为软件结构实作DeleteInstance则似乎可行 <BR>* <BR>* 输入: 一个指向包含主要属性的Cinstance物件 <BR>*&nbsp;&nbsp;&nbsp;&nbsp;描述在IWbemServices::DeleteInstanceAsync里面的一个long型别标记 <BR>* <BR>* 回传: 如果DeleteInstance不可用时,回传WBEM_E_PROVIDER_NOT_CAPABLE <BR>*&nbsp;&nbsp;&nbsp;&nbsp;如果在删除实例时发生错误,则回传WBEM_E_FAILED <BR>*&nbsp;&nbsp;&nbsp;&nbsp;如果任何一个实例的属性不正确,回传WBEM_E_INVALID_PARAMETER <BR>*&nbsp;&nbsp;&nbsp;&nbsp;如果实例被正确地删除,回传WBEM_S_NO_ERROR <BR>* <BR>* 注解: 目标:如果不打算支援删除实例的动作或实作了一个只有方法的提供者,请移除此方法 <BR>* <BR>********************************************************************/ <BR>HRESULT CRichter_TimeServiceProvider::DeleteInstance ( <BR>const CInstance &amp;Instance, long lFlags ) <BR>{ <BR> // 使用Cinstance之Get函数(例如,呼叫GetCHString(L"Name", sTemp))相对于察看被客&nbsp;&nbsp; <BR> 户端要求的实例主要值 <BR> return (WBEM_E_PROVIDER_NOT_CAPABLE); <BR>} <BR>/******************************************************************** <BR>* <BR>* 函数: CRichter_TimeServiceProvider::ExecMethod <BR>* <BR>* 说明: 覆写此函数以提供对此方法的支援 <BR>*&nbsp;&nbsp;&nbsp;&nbsp;一个方法是为您的提供者要求您的类别并在上面执行某些函数,以及更进一 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;步改变状态的进入点(状态的改变应该被PutInstance() 处理) <BR>* <BR>* 输入: 一个指向包含相对于被执行之实例的Cinstance指标 <BR>*&nbsp;&nbsp;&nbsp;&nbsp;一个A包含方法名称的字串 <BR>*&nbsp;&nbsp;&nbsp;&nbsp;一个指向包含IN参数的Cinstance指标 <BR>*&nbsp;&nbsp;&nbsp;&nbsp;一个指向包含OUT参数的Cinstance指标 <BR>*&nbsp;&nbsp;&nbsp;&nbsp;一组被方法指定的标记 <BR>* <BR>* 回传: 如果没有为此类别实作,则回传WBEM_E_PROVIDER_NOT_CAPABLE <BR>*&nbsp;&nbsp;&nbsp;&nbsp;如果方法执行成功,回传WBEM_S_NO_ERROR <BR>*&nbsp;&nbsp;&nbsp;&nbsp;如果执行方法时产生错误,则回传WBEM_E_FAILED <BR>* <BR>* 注解: 目标:如果您不打算支援Methods,请移除此方法 <BR>* <BR>********************************************************************/ <BR>HRESULT CRichter_TimeServiceProvider::ExecMethod (const CInstance&amp;Instance, <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const BSTR bstrMethodName, <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CInstance *pInParams, <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CInstance *pOutParams, <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long lFlags) <BR>{ <BR> // 为非静态方法,使用Cinstance之Get函数(例如,呼叫GetCHString(L"Name", sTemp)) <BR> 相对于察看客户端要求的主要实例值 <BR> return (WBEM_E_PROVIDER_NOT_CAPABLE); <BR>}</PRE></FONT></DIV>
              <CENTER style="LINE-HEIGHT: 25px"></TABLE>
            <TABLE style="LINE-HEIGHT: 25px" border=0>
              <TBODY style="LINE-HEIGHT: 25px">
              <TR style="LINE-HEIGHT: 25px">
                <TD style="LINE-HEIGHT: 25px" align=middle><FONT 
                  style="LINE-HEIGHT: 25px" face=arial color=#000000 
                  size=2><FONT style="LINE-HEIGHT: 25px" face=arial 
                  color=#3e80d7 size=2><B 
                  style="LINE-HEIGHT: 25px">&nbsp;列表8-1&nbsp;</B></FONT>TimeServiceProvider 
                  sample范例</FONT></TD></TR></TBODY></TABLE></CENTER>
            <DIV style="LINE-HEIGHT: 25px; BACKGROUND-COLOR: #d7d7d7"><FONT 
            style="LINE-HEIGHT: 25px" face=Arial size=3>
            <P class=content_page><A 
            href="http://www.acejoy.com/Html/Article/network/5920061023091939_P2.html">上一页</A>&nbsp;&nbsp;<A 
            href="http://www.acejoy.com/Html/Article/network/5920061023091939.html">[1]</A>&nbsp;<A 
            href="http://www.acejoy.com/Html/Article/network/5920061023091939_P2.html">[2]</A>&nbsp;<STRONG><FONT 
            color=#ff0033>[3]</FONT></STRONG>&nbsp;<A 
            href="http://www.acejoy.com/Html/Article/network/5920061023091939_P4.html">[4]</A>&nbsp;&nbsp;<A 
            href="http://www.acejoy.com/Html/Article/network/5920061023091939_P4.html">下一页</A></P></DIV><BR><BR></FONT></DIV></TD></TR></TBODY></TABLE>
      <TABLE style="CLEAR: both" cellSpacing=0 cellPadding=0 width="97%">
        <TBODY>
        <TR>
          <TD align=right>
            <TABLE>
              <TBODY>
              <TR>
                <TD>阅读:<SPAN id=news_hits></SPAN>
                  <SCRIPT 
                  src="8.3 Windows Management Instrumentation.files/GetHits.htm" 
                  type=text/JavaScript></SCRIPT>
                   次<BR>录入:<A 
                  href="http://www.acejoy.com/User/Info.Asp?UserName=winston">winston</A><BR><BR></TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD align=right>【 <A 
            href="http://www.acejoy.com/Comment.asp?ChannelID=1&amp;Action=Write&amp;InfoID=59">评论</A> 
            】 【 <A 
            href="http://www.acejoy.com/User/SendMail.asp?Title=Windows2000 服务器端应用程序开发设计指南-Windows Management Instrumentation" 
            target=_blank>推荐</A> 】 【 <A href="javascript:window.print()">打印</A> 
            】 </TD></TR></TBODY></TABLE>
      <TABLE style="CLEAR: both" width="97%" align=center>
        <TBODY>
        <TR>
          <TD>上一篇:<A 
            title="标题:Windows2000 服务器端应用程序开发设计指南-效能监视&#13;&#10;作者:Jeffrey Richter Jason D. Clark&#13;&#10;更新:2006-10-17 12:32:58&#13;&#10;点击:648" 
            href="http://www.acejoy.com/Html/Article/network/5820061017123258.html">Windows2000 
            服务器端应用程序开发设计指南-效能监视</A><BR>下一篇:<A 
            title="标题:Windows2000 服务器端应用程序开发设计指南-信任成员的管理(1)&#13;&#10;作者:Jeffrey Richter Jason D. Clark&#13;&#10;更新:2006-10-26 9:29:05&#13;&#10;点击:409" 
            href="http://www.acejoy.com/Html/Article/network/6020061026092905.html">Windows2000 
            服务器端应用程序开发设计指南-信任成员的管理(1)</A> </TD></TR></TBODY></TABLE></TD>
    <TD class=mr></TD></TR></TBODY></TABLE></DIV></DIV>
<DIV class=mframe>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center>
  <TBODY>
  <TR>
    <TD class=tl></TD>
    <TD class=tm><SPAN class=tt>相关新闻</SPAN> </TD>
    <TD class=tr></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center>
  <TBODY>
  <TR>
    <TD class=ml></TD>
    <TD class=mm>
      <TABLE height="100%" cellSpacing=5 cellPadding=0 width="100%" border=0>
        <TBODY>
        <TR>
          <TD vAlign=top>
            <SCRIPT language=javascript 
            src="8.3 Windows Management Instrumentation.files/GetCorrelative.htm"></SCRIPT>
          </TD></TR></TBODY></TABLE></TD>
    <TD class=mr></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center>
  <TBODY>
  <TR>
    <TD class=tl></TD>
    <TD class=tm><SPAN class=tt>本文评论</SPAN> </TD>
    <TD class=tr></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center>
  <TBODY>
  <TR>
    <TD class=ml></TD>
    <TD class=mm>
      <P>&nbsp;</P>
      <TABLE height="100%" cellSpacing=5 cellPadding=0 width="100%" border=0>
        <TBODY>
        <TR>
          <TD vAlign=top>
            <SCRIPT language=javascript 
            src="8.3 Windows Management Instrumentation.files/Comment.htm"></SCRIPT>
          </TD></TR></TBODY></TABLE></TD>
    <TD class=mr></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center>
  <TBODY>
  <TR>
    <TD class=ml></TD>
    <TD class=mm></TD>
    <TD class=mr></TD></TR></TBODY></TABLE></DIV>
<TABLE id=footer cellSpacing=0 cellPadding=0 border=0>
  <TBODY>
  <TR style="LINE-HEIGHT: 130%" align=middle>
    <TD height=23>&nbsp;<A 
      href='javascript:window.external.addFavorite("http://www.acejoy.com","ACE开发者")'><FONT 
      color=#000000>加入收藏</FONT></A>&nbsp;- &nbsp;<A 
      href="http://www.acejoy.com/Help.asp?Action=aboutweb" target=_blank><FONT 
      color=#000000>关于本站</FONT></A>&nbsp;- &nbsp;<A class=Bottom 
      href="http://www.acejoy.com/Help.asp?Action=Copyright" target=_blank><FONT 
      color=#000000>版权申明</FONT></A>&nbsp;- &nbsp;<A class=Bottom 
      href="http://www.acejoy.com/Help.asp?Action=aboutweb" target=_blank><FONT 
      color=#000000>联系站长</FONT></A>&nbsp;- &nbsp;<A class=Bottom 
      href="http://www.acejoy.com/LinkSite.asp" target=_blank><FONT 
      color=#000000>友情链接</FONT></A>&nbsp;&nbsp; </TD></TR>
  <TR align=middle>
    <TD height=23>Copyright&copy; 2004-2006 <A 
      href="http://www.acejoy.com/">http://www.acejoy.com/</A> .All Rights 
      Reserved <A href="http://www.miibeian.gov.cn/" target=_blank>京ICP备06055248 
      </A>
      <SCRIPT language=JavaScript 
      src="8.3 Windows Management Instrumentation.files/stat.htm" 
      charset=gb2312></SCRIPT>
    </TD></TR></TBODY></TABLE>
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>
<DIV></DIV><!--Powered by:CreateLive CMS Version 3.1(www.acejoy.com) CreateDate:2007-3-4 10:50:39--></DIV></DIV></DIV></DIV></DIV></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -