alice_2003
asked on
WMI SDK for windows XP
I would like to download WMI SDK to WIndows XP. However, WDI SDK is only available to windows 2000 and early. Microsoft .NET has some WMI SDK facility.
If I do not want to use .NET, is there any workaround for me to have WMI SDK functions? To be more specific, I can not find "wbemcli.h" in Microsoft Visual C++ 6.0 and Microsoft SDK. It is in WMI SDK for windows which I can not download for XP. How can I get it for Windows XP?
Thanks.
Alice
If I do not want to use .NET, is there any workaround for me to have WMI SDK functions? To be more specific, I can not find "wbemcli.h" in Microsoft Visual C++ 6.0 and Microsoft SDK. It is in WMI SDK for windows which I can not download for XP. How can I get it for Windows XP?
Thanks.
Alice
Well maybe not that statement may have be an "or" for each item.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I have downloaded the WMI SDK. Now my program compiled and is working. However, there is still one issue with it:
I am implementing a NT service which calls an executable (cm.exe). Inside cm.exe, it creates another process (rec.exe). When I stop the service from Service Control Manager(SCM), cm.exe stops. I can manually end the process rec.exe from SCM in windows XP (it is under system account). However, in Windows 2000, it can not be stopped. I have to reboot to stop rec.exe.
I want to change my program such that when cm.exe is killed, its created process rec.exe is stopped as well. I used the following functions in my program. But rec.exe is not stopped when cm.exe is stopped. Any other way? Thanks. --A.
HANDLE pid;
void (signal (WM_CHAR,endprog));
void (signal (WM_QUIT,endprog));
void (signal (SIGTERM,endprog));
void (signal (SIGABRT,endprog));
void (signal (SIGSEGV,endprog));
void endprog (int signal_num)
{
printf("Got signal %d\n",signal_num);
if (pid) {
/* Shut down rec.exe process */
TerminateProcess(pid, 0);
pid = 0;
}
}
I am implementing a NT service which calls an executable (cm.exe). Inside cm.exe, it creates another process (rec.exe). When I stop the service from Service Control Manager(SCM), cm.exe stops. I can manually end the process rec.exe from SCM in windows XP (it is under system account). However, in Windows 2000, it can not be stopped. I have to reboot to stop rec.exe.
I want to change my program such that when cm.exe is killed, its created process rec.exe is stopped as well. I used the following functions in my program. But rec.exe is not stopped when cm.exe is stopped. Any other way? Thanks. --A.
HANDLE pid;
void (signal (WM_CHAR,endprog));
void (signal (WM_QUIT,endprog));
void (signal (SIGTERM,endprog));
void (signal (SIGABRT,endprog));
void (signal (SIGSEGV,endprog));
void endprog (int signal_num)
{
printf("Got signal %d\n",signal_num);
if (pid) {
/* Shut down rec.exe process */
TerminateProcess(pid, 0);
pid = 0;
}
}
https://qmedia.e-storefront.com/showcontent.asp?contentname=PlatformSDKHome
Microsoft Windows .NET Server RC1, Microsoft Windows XP, Microsoft Windows 2000 SP2, or Microsoft Windows NT 4.0 SP6.