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 : WMICliXMLLog.h Project Name : WMI Command Line Author Name : Biplab Mistry Date of Creation (dd/mm/yy) : 02-March-2001 Version Number : 1.0 Revision History : Last Modified By : Ch. Sriramachandramurthy Last Modified Date : 09-March-2001 ****************************************************************************/ // WMICliXMLLog.h : header file
//
/*-------------------------------------------------------------------
Class Name : CWMICliXMLLog Class Type : Concrete Brief Description : This class encapsulates the functionality needed for logging the input and output in XML format Super Classes : None Sub Classes : None Classes Used : None Interfaces Used : None --------------------------------------------------------------------*/ class CWMICliXMLLog { public: CWMICliXMLLog(); virtual ~CWMICliXMLLog(); // Restrict Assignment
CWMICliXMLLog& operator=(CWMICliXMLLog& rWmiCliXMLLog); // Attributes
private: // Pointer to object of type IXMLDOMDocument,
IXMLDOMDocument2 *m_pIXMLDoc;
//the xml log file name
_TCHAR *m_pszLogFile; //status of whether the new xml document has to be created or not
BOOL m_bCreate;
WMICLIINT m_nItrNum;
BOOL m_bTrace;
ERRLOGOPT m_eloErrLogOpt;
// Operations
private: HRESULT CreateXMLLogRoot(CParsedInfo& rParsedInfo, BSTR bstrUser); HRESULT CreateNodeAndSetContent(IXMLDOMNode** pINode, VARIANT varType, BSTR bstrName, BSTR bstrValue, CParsedInfo& rParsedInfo);
HRESULT AppendAttribute(IXMLDOMNode* pINode, BSTR bstrAttribName, VARIANT varValue, CParsedInfo& rParsedInfo);
HRESULT CreateNodeFragment(WMICLIINT nSeqNum, BSTR bstrNode, BSTR bstrStart, BSTR bstrInput, BSTR bstrOutput, BSTR bstrTarget, CParsedInfo& rParsedInfo);
HRESULT FrameOutputNode(IXMLDOMNode **pINode, BSTR bstrOutput, BSTR bstrTarget, CParsedInfo& rParsedInfo);
HRESULT AppendOutputNode(BSTR bstrOutput, BSTR bstrTarget, CParsedInfo& rParsedInfo); public: // write in to the log file
HRESULT WriteToXMLLog(CParsedInfo& rParsedInfo, BSTR bstrOutput);
// Set the Log File Path
void SetLogFilePath(_TCHAR* pszFile);
// Stops the logging
void StopLogging();
void Uninitialize(BOOL bFinal = FALSE); };
|