ReactOS 0.4.17-dev-1183-g3b30a2a
CSnapin.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: Retrieve / store information about a snapin
5 * COPYRIGHT: Copyright 2017-2019 Mark Jansen (mark.jansen@reactos.org)
6 * Copyright 2026 Eric Kohl (eric.kohl@reactos.org)
7 */
8
9#pragma once
10
11
12// https://web.archive.org/web/20010614160959/msdn.microsoft.com/library/psdk/mmc/mmc12apx02_8jc5.htm
13// https://msdn.microsoft.com/en-us/library/aa814846(v=vs.85).aspx
14
15
16// https://msdn.microsoft.com/en-us/library/aa815510(v=vs.85).aspx
17// MMC initializes a snap-in by calling the Initialize method of the IComponentData object.
18// During initialization, IComponentData should query the console for its IConsoleNamespace and IConsole interfaces using
19// the console's IUnknown interface pointer that is passed into the call to Initialize.
20// The snap-in should then cache the returned pointers and use them for calling IConsoleNamespace and IConsole interface methods.
21
22
24{
25private:
28 CAtlString m_DisplayName;
29
30 void RemoveAllSubnodes();
31
32
33public:
35 ~CSnapin();
36
37 const CAtlString& Name() const;
38 const CAtlString& Provider() const;
39 const CAtlString& Description() const;
40 const CAtlString& Version() const;
41 const CAtlString& DisplayName() const;
42
43 void SetDisplayName(LPWSTR pszName);
45
46 CAtlList<CSnapin*> m_SubNodes;
47
49
50 void OnAdd(IConsole* console);
51 void OnAccept(IConsole* console);
52
53 VOID SaveNode(MscFile *mscFile, IXMLDOMElement *pParentNode);
54
55 static HRESULT ParseSnapin(CMainWnd *pMainWnd, MscFile *mscFile, IXMLDOMElement *pSnapinNode, CSnapin **ppSnapin);
56};
void OnAccept(IConsole *console)
Definition: CSnapin.cpp:88
~CSnapin()
Definition: CSnapin.cpp:32
UINT m_NodeId
Definition: CSnapin.h:26
void OnAdd(IConsole *console)
Definition: CSnapin.cpp:74
CAtlString m_DisplayName
Definition: CSnapin.h:28
CSnapinCacheEntry * CacheEntry()
Definition: CSnapin.cpp:54
const CAtlString & Name() const
Definition: CSnapin.cpp:37
const CAtlString & Provider() const
Definition: CSnapin.cpp:38
const CAtlString & DisplayName() const
Definition: CSnapin.cpp:41
CSnapinCacheEntry * m_CacheEntry
Definition: CSnapin.h:27
VOID SaveNode(MscFile *mscFile, IXMLDOMElement *pParentNode)
Definition: CSnapin.cpp:122
void RemoveAllSubnodes()
Definition: CSnapin.cpp:60
const CAtlString & Description() const
Definition: CSnapin.cpp:39
static HRESULT ParseSnapin(CMainWnd *pMainWnd, MscFile *mscFile, IXMLDOMElement *pSnapinNode, CSnapin **ppSnapin)
Definition: CSnapin.cpp:188
CAtlList< CSnapin * > m_SubNodes
Definition: CSnapin.h:46
UINT GetNodeId()
Definition: CSnapin.cpp:49
const CAtlString & Version() const
Definition: CSnapin.cpp:40
void SetDisplayName(LPWSTR pszName)
Definition: CSnapin.cpp:43
#define NULL
Definition: types.h:112
unsigned int UINT
Definition: sysinfo.c:13
char displayName[]
Definition: tftpd.cpp:35
uint16_t * PWSTR
Definition: typedefs.h:56
uint16_t * LPWSTR
Definition: typedefs.h:56