#ifndef _TESTWMI_H_INCLUDED #define _TESTWMI_H_INCLUDED #define _WIN32_DCOM #include #include #include #include #include #include // For common controls, e.g. Tree #include #include #include #include // // Resource editor generated header file. // #include "resource.h" // // Default namespace. // #define DEFAULT_NAMESPACE L"root\\wmi" #define ROOT_CLASS NULL typedef struct _PROPERTY_INFO { IWbemServices *pIWbemServices; IWbemClassObject *pInstance; LPTSTR lpszProperty; LPTSTR lpszType; LPVARIANT pvaValue; } PROPERTY_INFO, *LPPROPERTY_INFO; // // Function defined in testwmi.cpp // int APIENTRY WinMain (HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow); INT_PTR CALLBACK MainDlgProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK DlgProcScalar (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); VOID ListDefaults (HWND hwndDlg); VOID ShowProperties (HWND hwndDlg, HWND hwndInstTree); VOID EditProperty (HWND hwndDlg, HWND hwndPropTree); BOOL ModifyProperty (HWND hwndDlg); BOOL DisplayArrayProperty (LPTSTR lpszProperty, VARIANT *pvaValue, HWND hwndDlg); HRESULT AddToList (HWND hwndDlg, VARIANT *pvaValue); VOID ModifyArrayProperty(HWND hwndDlg, LPPROPERTY_INFO pPropInfo); VOID RefreshOnClassSelection (HWND hwndDlg); LPTSTR GetSelectedClass (HWND hwndClassList); LPTSTR GetSelectedItem (HWND hwndTree); VOID InsertItem (HWND hwndTree, LPTSTR lpszItem); VOID PrintError (HRESULT hr, UINT uiLine, LPTSTR lpszFile, LPCTSTR lpFmt, ...); // // Functions defined in wmicode.c // IWbemServices *ConnectToNamespace (VOID); VOID EnumInstances (IWbemServices *pIWbemServices, LPTSTR lpszClass, HWND hwndInstTree); VOID EnumProperties (IWbemServices *pIWbemServices, LPTSTR lpszClass, LPTSTR lpszInstance, HWND hwndPropTree); IWbemClassObject *GetInstanceReference (IWbemServices *pIWbemServices, LPTSTR lpszClass, LPTSTR lpszInstance); BOOL IsInstance (IWbemClassObject *pInst, LPTSTR lpszInstance); BOOL GetPropertyValue (IWbemClassObject *pRef, LPTSTR lpszProperty, VARIANT *pvaPropertyValue, LPTSTR *lppszPropertyType); HRESULT UpdatePropertyValue (IWbemServices *pIWbemServices, IWbemClassObject *pInstance, LPTSTR lpszProperty, LPVARIANT pvaNewValue); BSTR StringToBstr (LPTSTR lpSrc, int nLenSrc); LPTSTR BstrToString (BSTR lpSrc, int nLenSrc); #endif // _TESTWMI_H_INCLUDED