WMI多网卡情况下如何使用WQL语句查询指定网卡断开事件

Jinziyatoo 2012-04-28 03:25:50

现在我遇到如下问题:电脑有两个网卡,但是使用WMI事件通知的话,任意一个网卡网络断开都会捕获到消息。使用的WQL查询语句如下:

Select * from MSNdis_StatusMediaDisconnect

我想知道如何才能查询指定网卡的网络断开(网线拔除)时得到消息通知. 有没有类似 Select * from MSNdis_StatusMediaDisconnect where ...之类的WQL语句可供查询。 但是我不晓得MSNdis_StatusMediaDisconnect有没有可供查询的属性。请各位多多帮忙。。急死人啊。
...全文
312 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jinziyatoo 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

HRESULT EventSink::Indicate(long lObjectCount, IWbemClassObject **apObjArray)
{
HRESULT hres = S_OK;

for (int i = 0; i < lObjectCount; i++)
{
cout << "Event occurred" << e……
[/Quote]

如果用dephi实现,该如何写呢。这个是c++实现。
蒋晟 2012-04-29
  • 打赏
  • 举报
回复
HRESULT EventSink::Indicate(long lObjectCount, IWbemClassObject **apObjArray)
{
HRESULT hres = S_OK;

for (int i = 0; i < lObjectCount; i++)
{
cout << "Event occurred" << endl;
IWbemClassObject *pObj = apObjArray[i];

HRESULT hres;
       _variant_t instance;
hres = pObj->Get(L"TargetInstance", 0, &instance, 0, 0);
        IWbemClassObjectPtr pInstance(instance);
       _variant_t instanceName;
hres = pInstance->Get(L"InstanceName", 0, &instanceName, 0, 0);
Jinziyatoo 2012-04-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

是你不会用吧?还是你不想动脑筋?
SQL code

select * From Win32_LogicalDisk where drivetype=3
SELECT * FROM Win32_NetworkAdapterConfiguration WHERE DHCPEnabled=TRUE
SELECT Description FROM Win32_Account WHERE Name=……
[/Quote]

如果就是用Select * from MSNdis_StatusMediaDisconnect来进行网线拔除检测,是可以的,但是两个网卡,随便哪个网线拔除,都会收到消息,我无法判断是哪一个网卡发来的消息啊。但是有不知道MSNdis_这个事件类有没有属性一说啊。因为确实找不到啥资料。win32的我会,运行Wbemtest就搞定了。
周公 2012-04-28
  • 打赏
  • 举报
回复
是你不会用吧?还是你不想动脑筋?

select * From Win32_LogicalDisk where drivetype=3
SELECT * FROM Win32_NetworkAdapterConfiguration WHERE DHCPEnabled=TRUE
SELECT Description FROM Win32_Account WHERE Name='Administrator'

其中drivetype/DHCPEnabled/Name分别是Win32_LogicalDisk、Win32_NetworkAdapterConfiguration、Win32_Account的属性。
在我这边WMI中没MSNdis_StatusMediaDisconnect这个类,如果它确实存在的话,应该会有属性表示连接状态的。
向立天 2012-04-28
  • 打赏
  • 举报
回复
这个确实不太熟悉
再等等吧
一般不是太大众化的问题总是要看缘分的
Jinziyatoo 2012-04-28
  • 打赏
  • 举报
回复
怎么都没有人来回答啊。。大家都没遇到过这样的问题吗?

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧