【文章标题】: 设备管理02
【文章作者】: 有酒醉
【作者邮箱】: wuqr32@sina.com
【下载地址】: 自己搜索下载
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
接下来我们使用本地代码完成这些程序所执行的操作
示例 -- 启动Oralce Linstener服务































编译运行:
E:/>cl OracleLinstenerStart.cpp /clr /EHsc
Microsoft (R) C/C++ Optimizing Compiler Version 13.10.3077 for .NET Framework
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
OracleLinstenerStart.cpp
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.
/out:OracleLinstenerStart.exe
OracleLinstenerStart.obj
E:/>OracleLinstenerStart
Oralce Linstener服务正常启动.
E:/>
示例 -- 查找当前正在运行的进程




























































编译运行:
E:/>cl T.cpp /clr /EHsc
Microsoft (R) C/C++ Optimizing Compiler Version 13.10.3077 for .NET Framework
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
T.cpp
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.
/out:T.exe
T.obj
E:/>T
System Idle Process 0
System 4
smss.exe 376
csrss.exe 436
winlogon.exe 464
services.exe 508
lsass.exe 520
ati2evxx.exe 676
...
金山词霸正常关闭
四、WMI的结构
WMI最主要的组件是对象管理器,它是客户程序和提供程序之间的代理.客户程序通过System.Management与对象管理器打教道.WMI中的类指的是实体类别,WMI中的实体是确确实实在计算机中存在的.比如:WMI中驱动类,它有实例C盘,D盘,E盘..等等.所以,创建一个WMI实例时,事实上是获取计算机上一个真正实体的引用.
在安全性方面,CLR将阻止代码直接调用实现System.Management类的System.Management.dll.因为System.Management.dll是强命名的,但没有定义AllowPartiallyTrustedCallersAttribute.命名空间的安全性查阅MSDN:__SystemSecurity.
每个命名空间都包含一个__namespace类,它的作用上允许枚举出给定命名空间中的子命名空间.命名空间和类用分号隔开.
示例 -- 罗列所有的命名空间

































本机运行如下:
SECURITY
RSOP
User
ms_804
S_1_5_21_1060284298_220523388_682003330_500
Computer
ms_804
Cli
SecurityCenter
WMI
ms_409
ms_804
CIMV2
ms_409
ms_804
Applications
MicrosoftACT
MicrosoftIE
MSAPPS10
Policy
ms_409
ms_804
Microsoft
HomeNet
DEFAULT
ms_409
ms_804
directory
LDAP
ms_409
ms_804
subscription
ms_409
ms_804
MSAPPS11
E:/>
要理解的一点是命名空间和提供程序之间没有任何关系;一个提供程序可以在许多命名空间中实现类,并且许多提供程序也可以
在相同的命名空间中实现不同的类。
PS:WMI客户程序需要知道它想要的对象所驻留的命名空间,但是,客户程序不需要知道由哪个提供程序实现了类.
疑问:
1、如何编写提供程序?
2、如何添加新命名空间以及新类?
带着这两个疑问,下次在来研究研究.我现在也不知道.哈哈.
<续>
--------------------------------------------------------------------------------
【版权声明】: 本文原创于泉州软件基地, 转载请注明作者并保持文章的完整, 谢谢!
2007年03月13日 17:47:14