📄 warmmcnodeservices.h
字号:
/** */#ifndef WAR_MMC_NODE_SERVICES_H#define WAR_MMC_NODE_SERVICES_H/* SYSTEM INCLUDES *//* PROJECT INCLUDES */#ifndef WAR_MMC_BASE_NODE_H# include "WarMmcBaseNode.h"#endif#include "WarMmcNodeAuthModules.h"/* LOCAL INCLUDES *//* FORWARD REFERENCES */#ifdef __cplusplusextern "C" {#endif/****************** BEGIN OLD STYLE C spesific ********//****************** END OLD STYLE C spesific **********/#ifdef __cplusplus }#endif/****************** BEGIN C++ spesific ****************/#ifdef __cplusplusclass WarMmcNodeServices : public WarMmcBaseNode<WarMmcNodeServices> {public: // LIFECYCLE /** * Default constructor. */ WarMmcNodeServices(const war_registrypath_t& regNode) { mRegKey.Open(HKEY_LOCAL_MACHINE, regNode, KEY_ALL_ACCESS); m_bstrDisplayName = mRegKey.GetPath().GetFilename().GetPath(); try { war_registrypath_t my_path; my_path << mRegKey.GetPath().GetPath() << WAR_SYSSLASH << WAR_WINNT_REG_MODULES << WAR_SYSSLASH << WAR_WINNT_REG_FILE_SYSTEMS; WarWin32Registry my_key; my_key.Open(mRegKey.GetRootKey(), my_path); mFileTypes.Load(mRegKey); } catch(WarException) { ; } } /** * Destructor. */ ~WarMmcNodeServices(void) {} // OPERATORS // OPERATIONS virtual HRESULT OnExpand(BOOL bExpand, IConsole *pConsole, HSCOPEITEM parent) { if (bExpand) { CComQIPtr<IConsoleNameSpace, &IID_IConsoleNameSpace> spConsoleNameSpace(pConsole); SCOPEDATAITEM sdi; memset(&sdi, 0, sizeof(sdi)); sdi.mask = SDI_STR | SDI_PARAM | SDI_IMAGE | SDI_OPENIMAGE | SDI_PARENT; sdi.displayname = MMC_CALLBACK; sdi.relativeID = parent; sdi.lParam = (LPARAM)new WarMmcNodeAuthModules( mRegKey.GetPath(_T("Auth Modules"))); sdi.nImage = WAR_IL_LOCK; sdi.nOpenImage = WAR_IL_LOCK; HRESULT hr = spConsoleNameSpace->InsertItem(&sdi); if (hr != S_OK) return hr; } return S_OK; } // CSnapInItemImpl STDMETHOD(QueryPagesFor)(DATA_OBJECT_TYPES type) { return S_FALSE; } // ACCESS // INQUIRY protected:private: WarWin32Registry mRegKey; WarMmcFileTypes mFileTypes;};/* INLINE METHODS *//* EXTERNAL REFERENCES */#endif /* __cplusplus *//****************** END C++ spesific ******************/#endif /* WAR_MMC_NODE_SERVICES_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -