📄 wmsnodeprotocols.cpp
字号:
#include "StdAfx.h"#include "WarMmcSnapin.h"#include "WmsNodeProtocols.h" // class implemented#include "WarCollector.h"#include "WarIfServer.h"#include "WmsNodeProtocolFtp.h"#include "WmsNodeProtocolHttp.h"/////////////////////////////// PUBLIC ///////////////////////////////////////// {7F79AF2B-BE28-4c54-B9A3-4F69ADB846EA}const GUID WmsNodeProtocols::thisGuid = { 0x7f79af2b, 0xbe28, 0x4c54, { 0xb9, 0xa3, 0x4f, 0x69, 0xad, 0xb8, 0x46, 0xea } };WmsNodeProtocols::WmsNodeProtocols(war_if_site_ptr_t& rSitePtr): mSitePtr(rSitePtr) // Deleted by parent{}WmsNodeProtocols::~WmsNodeProtocols(){}//============================= LIFECYCLE ====================================//============================= OPERATORS ====================================//============================= OPERATIONS ===================================//============================= CALLBACK ===================================HRESULT WmsNodeProtocols::OnExpand(IConsoleNameSpace *pConsoleNameSpace, IConsole *pConsole, HSCOPEITEM parent){ if (GetHandle() == NULL) SetHandle((HANDLE)parent); if (!bExpanded) { // create the child nodes, then expand them for(int i = 0; i < 2; i++) { CDelegationBase *pnew_node; SCOPEDATAITEM sdi; switch(i) { case 0: pnew_node = new WmsNodeProtocolFtp(mSitePtr); break; case 1: pnew_node = new WmsNodeProtocolHttp(mSitePtr); break; } ZeroMemory(&sdi, sizeof(SCOPEDATAITEM)); sdi.mask = SDI_STR| // Displayname is valid SDI_PARAM | // lParam is valid SDI_IMAGE | // nImage is valid SDI_OPENIMAGE | // nOpenImage is valid SDI_PARENT | SDI_CHILDREN; sdi.relativeID = (HSCOPEITEM)parent; sdi.nImage = pnew_node->GetBitmapIndex(); sdi.nOpenImage = pnew_node->GetBitmapIndex(); sdi.displayname = MMC_CALLBACK; sdi.lParam = (LPARAM)pnew_node; // The cookie HRESULT hr = pConsoleNameSpace->InsertItem(&sdi); _ASSERT( SUCCEEDED(hr) ); pnew_node->SetHandle((HANDLE)sdi.ID); } } return S_OK; }HRESULT WmsNodeProtocols::OnShow(IConsole *pConsole, BOOL bShow, HSCOPEITEM scopeitem){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); HRESULT hr = S_OK; IHeaderCtrl *pHeaderCtrl = NULL; IResultData *pResultData = NULL; if (bShow) { hr = pConsole->QueryInterface(IID_IHeaderCtrl, (void **)&pHeaderCtrl); _ASSERT(SUCCEEDED(hr)); hr = pConsole->QueryInterface(IID_IResultData, (void **)&pResultData); _ASSERT(SUCCEEDED(hr)); CString hdr1_name, hdr2_name, hdr3_name; hdr1_name.LoadString(IDS_PROTOCOL_NAME); hdr2_name.LoadString(IDS_PROTOCOL_ENABLED); MAKE_WIDEPTR_FROMTSTR(ptr_hdr1, hdr1_name); MAKE_WIDEPTR_FROMTSTR(ptr_hdr2, hdr2_name); // Set the column headers in the results pane hr = pHeaderCtrl->InsertColumn( 0, ptr_hdr1, 0, MMCLV_AUTO ); _ASSERT( S_OK == hr ); hr = pHeaderCtrl->InsertColumn( 1, ptr_hdr2, 0, MMCLV_AUTO ); _ASSERT( S_OK == hr ); hr = pResultData->DeleteAllRsltItems(); _ASSERT( SUCCEEDED(hr) ); pHeaderCtrl->Release(); pResultData->Release(); } return hr;}//============================= ACCESS ===================================//============================= INQUIRY ===================================const int WmsNodeProtocols::GetBitmapIndex(){ return NICON_PROTOCOL;}const _TCHAR *WmsNodeProtocols::GetDisplayName(int nCol){ static _TCHAR szDisplayName[256] = {0}; if (!*szDisplayName) { LoadString(g_hinst, IDS_NODE_PROTOCOLS, szDisplayName, sizeof(szDisplayName)); } return szDisplayName; }const GUID & WmsNodeProtocols::getNodeType(){ return thisGuid; }/////////////////////////////// PROTECTED ////////////////////////////////////////////////////////////////// PRIVATE ///////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -