ReactOS 0.4.17-dev-934-g091855f
mscfile.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Management Console
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: Helper functions for MSXML3
5 * COPYRIGHT: Copyright 2026 Eric Kohl (eric.kohl@reactos.org)
6 */
7
8// Macro that calls a COM method returning HRESULT value.
9#define CHK_HR(stmt) do { hr=(stmt); if (FAILED(hr)) goto CleanUp; } while(0)
10
11// Macro to verify memory allcation.
12#define CHK_ALLOC(p) do { if (!(p)) { hr = E_OUTOFMEMORY; goto CleanUp; } } while(0)
13
14// Macro that releases a COM object if not NULL.
15#define SAFE_RELEASE(p) do { if ((p)) { (p)->Release(); (p) = NULL; } } while(0)
16
18{
19private:
22
23 HRESULT VariantFromString(PCWSTR wszValue, VARIANT &Variant);
24 LPWSTR ShowCmdToString(int nShowCmd);
25
26public:
28 ~MscFile();
30 HRESULT CreateElement(PCWSTR wszName, IXMLDOMElement **ppElement);
32 HRESULT CreateAndAddPINode(PCWSTR wszTarget, PCWSTR wszData);
38
39 HRESULT SaveWindowPlacement(CWindow *pWindow, IXMLDOMElement *pParentNode);
40
43};
IXMLDOMDocument * m_pDocument
Definition: mscfile.h:21
HRESULT CreateAndInitDOM()
Definition: mscfile.cpp:46
VARIANT m_varFileName
Definition: mscfile.h:20
HRESULT CreateAndAddTextNode(PCWSTR wszText, IXMLDOMNode *pParent)
Definition: mscfile.cpp:162
LPWSTR ShowCmdToString(int nShowCmd)
Definition: mscfile.cpp:218
HRESULT CreateElement(PCWSTR wszName, IXMLDOMElement **ppElement)
Definition: mscfile.cpp:65
~MscFile()
Definition: mscfile.cpp:22
HRESULT VariantFromString(PCWSTR wszValue, VARIANT &Variant)
Definition: mscfile.cpp:31
HRESULT LoadDOM()
Definition: mscfile.cpp:314
HRESULT CreateAndAddCommentNode(PCWSTR wszComment)
Definition: mscfile.cpp:117
HRESULT CreateAndAddCDATANode(PCWSTR wszCDATA, IXMLDOMNode *pParent)
Definition: mscfile.cpp:180
HRESULT SaveWindowPlacement(CWindow *pWindow, IXMLDOMElement *pParentNode)
Definition: mscfile.cpp:264
HRESULT SaveDOM()
Definition: mscfile.cpp:337
HRESULT CreateAndAddAttributeNode(PCWSTR wszName, PCWSTR wszValue, IXMLDOMElement *pParent)
Definition: mscfile.cpp:135
HRESULT AppendChildToParent(IXMLDOMNode *pChild, IXMLDOMNode *pParent=NULL)
Definition: mscfile.cpp:81
HRESULT CreateAndAddPINode(PCWSTR wszTarget, PCWSTR wszData)
Definition: mscfile.cpp:97
HRESULT CreateAndAddElementNode(PCWSTR wszName, IXMLDOMNode *pParent, IXMLDOMElement **ppElement=NULL)
Definition: mscfile.cpp:199
#define NULL
Definition: types.h:112
FxObject * pParent
Definition: fxdpcapi.cpp:86
const uint16_t * PCWSTR
Definition: typedefs.h:57
uint16_t * LPWSTR
Definition: typedefs.h:56
WORD WORD PSZ PSZ pszFileName
Definition: vdmdbg.h:44