// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved SCODE MakeSafeArray(SAFEARRAY FAR ** pRet, VARTYPE vt, int iLen); SCODE PutStringInSafeArray(SAFEARRAY FAR * psa,CString *pcs, int iIndex); BOOL GetErrorObjectText (IWbemClassObject *pErrorObject, CString &rcsDescription); BOOL NamespaceEqual (CString *pcsNamespace1, CString *pcsNamespace2); BOOL WbemObjectIdentity(CString &rcsWbem1, CString &rcsWbem2); BOOL COMObjectIdentity(IWbemClassObject *piWbem1, IWbemClassObject *piWbem2); CString GetBSTRProperty (IWbemClassObject * pInst, CString *pcsProperty); long GetAttribBool (IWbemClassObject * pClassInt,CString *pcsPropName, CString *pcsAttribName, BOOL &bReturn); COleVariant GetProperty (IWbemServices * pProv, IWbemClassObject * pInst, CString *pcsProperty); int GetAssocRolesAndPaths (IWbemClassObject *pAssoc , CString *&pcsRolesAndPaths); CString GetPropertyNameByAttrib (IWbemClassObject *pObject , CString *pcsAttrib); COleVariant GetPropertyValueByAttrib (IWbemClassObject *pObject , CString *pcsAttrib); CStringArray *GetAllKeys(CString &rcsFullPath); BOOL HasAttribBool (IWbemClassObject * pClassInt,CString *pcsPropName, CString *pcsAttribName); int GetPropNames (IWbemClassObject * pClass, CString *&pcsReturn); CString GetBSTRAttrib (IWbemClassObject * pClassInt,CString *pcsPropName, CString *pcsAttribName); CString BuildOBJDBGetRefQuery (IWbemServices *pProv, CString *pcsTarget, CString *pcsResultClass, CString *pcsRoleFilter, CString *pcsReqAttrib = NULL, BOOL bClassOnly = FALSE); CString BuildOBJDBGetAssocsQuery (IWbemServices *pProv, CString *pcsTargetPath, CString *pcsAssocClass, CString *pcsResultClass, CString *pcsMyRoleFilter, CString *pcsReqAttrib, CString *pcsReqAssocAttrib, CString *pcsResultRole, BOOL bClassOnly, BOOL bKeysOnly); IEnumWbemClassObject *ExecOBJDBQuery (IWbemServices * pProv, CString &csQuery, CString & rcsNamespace); CStringArray *GetAssocInstances (IWbemServices * pProv, CString *pcsInst, CString *pcsAssocClass, CString *pcsRole, CString csCurrentNamespace, CString &rcsAuxNamespace, IWbemServices *&rpAuxServices, CNavigatorCtrl *pControl); CStringArray *GetAssocRoles (IWbemServices * pProv,IWbemClassObject *pimcoAssoc, IWbemClassObject *pimcoExclude); CString GetIWbemGroupingClass (IWbemServices *pProv,IWbemClassObject *pClass, BOOL bPath = FALSE); CStringArray *AssocPathRoleKey(CString *pcsPath); CString GetDisplayLabel (CString &rcsClass,CString *pcsNamespace); CString GetDisplayLabel (IWbemServices *pProv,IWbemClassObject *pimcoClass,CString *pcsNamespace); CString GetIWbemClass(CString &rcsFullPath); CString GetIWbemClass(IWbemServices *pProv, IWbemClassObject *pClass); CString GetIWbemRelPath(IWbemServices *pProv, IWbemClassObject *pClass); CString GetIWbemRelPath(CString *pcsFullPath); CString GetIWbemFullPath(IWbemServices *pProv, IWbemClassObject *pClass); BOOL ObjectInDifferentNamespace (CString *pcsNamespace, CString *pcsObjectPath); CString GetPCMachineName(); long GetAttribLong (IWbemClassObject * pClassInt,CString *pcsPropName, CString *pcsAttribName, long &lReturn); CStringArray * CrossProduct(CStringArray *pcsaFirst, CStringArray *pcsaSecond); void AddIWbemClassObjectToArray (IWbemServices *pProv,IWbemClassObject *pObject,CStringArray *pcsaObjectInstances, BOOL bAllowDups = FALSE, BOOL bTestOnPath = TRUE); void AddIWbemClassObjectToArray(CString *pcsPath, CStringArray *pcsaObjectInstances); CPtrArray *GetInstances(IWbemServices *pServices, CString *pcsClass, CString &rcsNamespace, BOOL bDeep = FALSE, BOOL bQuietly = FALSE); BOOL IsClass(CString &rcsObject); BOOL ClassCanHaveInstances(IWbemClassObject* pObject); BOOL IsSystemClass(IWbemClassObject* pObject); BOOL IsAssoc(IWbemClassObject* pObject); CStringArray *GetNamespaces(IWbemLocator *pLocator, CString *pcsNamespace, BOOL bDeep = FALSE); BOOL PathHasKeys(CString *pcsPath); CString GetObjectNamespace(CString *pcsPath); extern IWbemClassObject *GetIWbemObject (CNavigatorCtrl *pControl,IWbemServices *pServices, CString csCurrentNameSpace, CString& csAuxNameSpace, IWbemServices *&pAuxServices, CString &rcsObject,BOOL bErrorMsg); void ReleaseErrorObject(IWbemClassObject *&rpErrorObject); void ErrorMsg (CString *pcsUserMsg, SCODE sc, IWbemClassObject *pErrorObject, BOOL bLog, CString *pcsLogMsg, char *szFile, int nLine, UINT uType = MB_ICONEXCLAMATION); void LogMsg (CString *pcsLogMsg, char *szFile, int nLine); CString ObjectsRoleInAssocInstance (IWbemServices *pProv, IWbemClassObject *pAssoc, IWbemClassObject *pObject); CString GetObjectClassForRole (IWbemServices *pProv,IWbemClassObject *pAssocRole,CString *pcsRole); int GetCBitmapWidth(const CBitmap & cbm); int GetCBitmapHeight(const CBitmap & cbm); HBITMAP LoadResourceBitmap(HINSTANCE hInstance, LPCTSTR lpString, HPALETTE FAR* lphPalette); HPALETTE CreateDIBPalette (LPBITMAPINFO lpbmi, LPINT lpiNumColors); CPalette *GetResourcePalette(HINSTANCE hInstance, LPCTSTR lpString, HPALETTE FAR* lphPalette); CPalette *CreateCPalette (LPBITMAPINFO lpbmi, LPINT lpiNumColors); BOOL StringInArray (CStringArray *&rpcsaArrays, CString *pcsString, int nIndex); void InitializeLogFont (LOGFONT &rlfFont, CString csName, int nHeight, int nWeight); CRect OutputTextString (CPaintDC *pdc, CWnd *pcwnd, CString *pcsTextString, int x, int y, CString *pcsFontName, int nFontHeight, int nFontWeigth); void OutputTextString (CPaintDC *pdc, CWnd *pcwnd, CString *pcsTextString, int x, int y, CRect &crExt, CString *pcsFontName, int nFontHeight, int nFontWeigth); HRESULT ConfigureSecurity(IWbemServices *pServices); HRESULT ConfigureSecurity(IEnumWbemClassObject *pEnum); HRESULT ConfigureSecurity(IUnknown *pUnknown); SCODE CreateNamespaceConfigClassAndInstance (IWbemServices *pProv, CString *pcsNamespace, CString *pcsRootPath); BOOL SetProperty (IWbemServices * pProv, IWbemClassObject * pInst, CString *pcsProperty, CString *pcsPropertyValue, BOOL bQuietly); BOOL UpdateNamespaceConfigInstance (IWbemServices *pProv, CString *pcsRootPath, CString &rcsNamespace); void MoveWindowToLowerLeftOfOwner(CWnd *pWnd);