我正在使用MSVC ++和SetupAPI(.h),并尝试针对远程PC调用SetupDiGetClassDevsEx,但失败并显示错误消息:“此系统不支持此功能。”重要的是要注意,此调用(不提供远程PC名称时)可以成功运行(定位到我自己的PC。)
我的代码段如下:
HDEVINFO hDevInfo;
hDevInfo = SetupDiGetClassDevsEx(
0,
0,
0,
DIGCF_ALLCLASSES | DIGCF_PRESENT,
0,
L"TestPC",
0
);
if (hDevInfo == INVALID_HANDLE_VALUE)
{
wchar_t buffer[255];
FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
buffer,
255,
NULL);
}
MSDN没有提及此方法已被弃用和/或不可用,但是我发现有矛盾的证据表明该方法在Windows 7中可用,但在8 / 8.1中不可用,然后也许/也许在Windows中不可用10。
我尝试了以下方法:
我是否还缺少其他一些对于利用此功能至关重要的东西?或者,这是否可能已被弃用和/或不再起作用,并且MSDN尚未更新以反映更改?