2025-04-27 07:49:33 -04:00

199 lines
6.3 KiB
C

// 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);