Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*****************************************************************************
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); };
|