128 lines
4.1 KiB
C
128 lines
4.1 KiB
C
|
/*****************************************************************************
|
||
|
Copyright information : Copyright (c) 1998-1999 Microsoft Corporation
|
||
|
File Name : CmdAlias.h
|
||
|
Project Name : WMI Command Line
|
||
|
Author Name : Ch.Sriramachandramurthy
|
||
|
Date of Creation (dd/mm/yy) : 27th-September-2000
|
||
|
Version Number : 1.0
|
||
|
Brief Description : This file consist of class declaration of
|
||
|
class CmdAlias
|
||
|
Revision History : None
|
||
|
Last Modified By : C V Nandi
|
||
|
Last Modified Date : 16-March-2001
|
||
|
*****************************************************************************/
|
||
|
|
||
|
/*----------------------------------------------------------------------------
|
||
|
Class Name : CCmdAlias
|
||
|
Class Type : Concrete
|
||
|
Brief Description : This class encapsulates the functionality needed for
|
||
|
accessing the alias information from the WMI.
|
||
|
Super Classes : None
|
||
|
Sub Classes : None
|
||
|
Classes Used : None
|
||
|
Interfaces Used : WMI COM Interfaces
|
||
|
---------------------------------------------------------------------------*/
|
||
|
// Forward declaration of the classes
|
||
|
class CParsedInfo;
|
||
|
|
||
|
class CCmdAlias
|
||
|
{
|
||
|
public:
|
||
|
// Construction
|
||
|
CCmdAlias();
|
||
|
|
||
|
// Destruction
|
||
|
~CCmdAlias();
|
||
|
|
||
|
// Restrict Assignment
|
||
|
CCmdAlias& operator=(CCmdAlias& rAliasObj);
|
||
|
|
||
|
// Attributes
|
||
|
private:
|
||
|
// Points to the alias definitions namespace.
|
||
|
IWbemServices* m_pIAliasNS;
|
||
|
|
||
|
// Pointer to localized Namespace.
|
||
|
IWbemServices* m_pILocalizedNS;
|
||
|
|
||
|
// Trace flag.
|
||
|
BOOL m_bTrace;
|
||
|
|
||
|
// Error log option.
|
||
|
ERRLOGOPT m_eloErrLogOpt;
|
||
|
|
||
|
// Operations
|
||
|
private:
|
||
|
// Obtain the alias connection information like
|
||
|
// 1. namespace 2. user 3. password
|
||
|
// 4. locale 5. server 6. authority
|
||
|
RETCODE ObtainAliasConnectionInfo(CParsedInfo& rParsedInfo,
|
||
|
IWbemClassObject* pIObj);
|
||
|
|
||
|
// Obtain Qualifiers associated with the IWbemClassObject.
|
||
|
HRESULT GetQualifiers(IWbemClassObject *pIWbemClassObject,
|
||
|
PROPERTYDETAILS& rPropDet,
|
||
|
CParsedInfo& rParsedInfo);
|
||
|
|
||
|
public:
|
||
|
// Obtains all the Friendly Names and descriptions
|
||
|
HRESULT ObtainAliasFriendlyNames(CParsedInfo& rParsedInfo);
|
||
|
|
||
|
// Obtains the verbs and their details
|
||
|
// associated with the alias object
|
||
|
HRESULT ObtainAliasVerbDetails(CParsedInfo& rParsedInfo);
|
||
|
|
||
|
// Obtains the verbs and their descriptions
|
||
|
// associated with the alias object
|
||
|
// pbCheckWritePropsAvailInAndOut == TRUE then functions checks for
|
||
|
// availibility of properties and returns in the same
|
||
|
// pbCheckWritePropsAvailInAndOut parameter.
|
||
|
HRESULT ObtainAliasPropDetails(CParsedInfo& rParsedInfo,
|
||
|
BOOL *pbCheckWritePropsAvailInAndOut = NULL,
|
||
|
BOOL *pbCheckFULLPropsAvailInAndOut = NULL);
|
||
|
|
||
|
// Obtains the properties for the Format associated with the alias object.
|
||
|
// If bCheckForListFrmsAvail == TRUE then functions checks only for
|
||
|
// availibilty of list formats with the alias.
|
||
|
BOOL ObtainAliasFormat(CParsedInfo& rParsedInfo,
|
||
|
BOOL bCheckForListFrmsAvail = FALSE);
|
||
|
|
||
|
// Obtains the formats available for a given alias.
|
||
|
HRESULT PopulateAliasFormatMap(CParsedInfo& rParsedInfo);
|
||
|
|
||
|
// Connects to WMI with alias namespace .
|
||
|
HRESULT ConnectToAlias(CParsedInfo& rParsedInfo,
|
||
|
IWbemLocator* pIWbemLocator);
|
||
|
|
||
|
// Obtain the alias information like
|
||
|
// 1. alias PWhere expression value
|
||
|
// 2. alias Target string
|
||
|
RETCODE ObtainAliasInfo(CParsedInfo& rParsedInfo);
|
||
|
|
||
|
// Get Description from object.
|
||
|
HRESULT GetDescOfObject(IWbemClassObject* pIWbemClassObject,
|
||
|
_bstr_t& bstrDescription,
|
||
|
CParsedInfo& rParsedInfo,
|
||
|
BOOL bLocalizeFlag = FALSE);
|
||
|
|
||
|
// Obtains the Translate Table Entries.
|
||
|
BOOL ObtainTranslateTableEntries(CParsedInfo& rParsedInfo);
|
||
|
|
||
|
// Obtains translate table entries from alias definition.
|
||
|
HRESULT ObtainTranslateTables(CParsedInfo& rParsedInfo);
|
||
|
|
||
|
// Get the localized description values
|
||
|
HRESULT GetLocalizedDesc(_bstr_t bstrRelPath,
|
||
|
_bstr_t& bstrDesc,
|
||
|
CParsedInfo& rParsedInfo);
|
||
|
|
||
|
// Connect to the localized namespace.
|
||
|
HRESULT ConnectToLocalizedNS(CParsedInfo&, IWbemLocator* pILocator);
|
||
|
|
||
|
// Checks whether method are available with alias or not.
|
||
|
BOOL AreMethodsAvailable(CParsedInfo& rParsedInfo);
|
||
|
|
||
|
//Uninitializes the the member variables
|
||
|
void Uninitialize(BOOL bFinal = FALSE);
|
||
|
};
|