• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3532
  • Last Modified:

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
0
alice_2003
Asked:
alice_2003
  • 3
1 Solution
 
CrazyOneCommented:
Well according to this the link .NET also required in Win2000 also

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.
0
 
CrazyOneCommented:
Well maybe not that statement may have be an "or" for each item.
0
 
CrazyOneCommented:
There is one realesed early this year on CD

http://qmedia.e-storefront.com/product.asp?productid=26
0
 
alice_2003Author Commented:
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;
      }
}



0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now