📄 wmsnodeuser.cpp
字号:
#include "StdAfx.h"#include "WarMmcSnapin.h"#include "WmsNodeUser.h" // class implemented#include "WarCollector.h"#include "PropPageUserGeneral.h"#include "PropPageSharePerms.h"#include "PropPageOptions.h"/////////////////////////////// PUBLIC ///////////////////////////////////////// {58E521B9-C601-4788-8F06-B61A93E1206F}const GUID WmsNodeUser::thisGuid = { 0x58e521b9, 0xc601, 0x4788, { 0x8f, 0x6, 0xb6, 0x1a, 0x93, 0xe1, 0x20, 0x6f } };WmsNodeUser::WmsNodeUser(war_if_user_ptr_t& rUserPtr): mUserPtr(rUserPtr) {}WmsNodeUser::~WmsNodeUser(){}//============================= LIFECYCLE ====================================//============================= OPERATORS ====================================//============================= OPERATIONS ===================================//============================= CALLBACK ===================================HRESULT WmsNodeUser::OnSelect(IConsole *pConsole, BOOL bScope, BOOL bSelect){ IConsoleVerb *pConsoleVerb; HRESULT hr = pConsole->QueryConsoleVerb(&pConsoleVerb); _ASSERT(SUCCEEDED(hr)); //hr = pConsoleVerb->SetVerbState(MMC_VERB_RENAME, ENABLED, TRUE); // can't get to properties (via the standard methods) unless // we tell MMC to display the Properties menu item and // toolbar button, this wil give the user a visual cue that // there's "something" to do hr = pConsoleVerb->SetVerbState(MMC_VERB_PROPERTIES, ENABLED, TRUE); pConsoleVerb->Release(); return S_OK;}HRESULT WmsNodeUser::CreatePropertyPages(IPropertySheetCallback *lpProvider, LONG_PTR handle){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); CPropertyPage *pprop_page = NULL; pprop_page = new CPropPageUserGeneral(mUserPtr); HRESULT hr = MMCPropPageCallback(&pprop_page->m_psp); if (SUCCEEDED(hr)) { PROPSHEETPAGE psp; memset(&psp, 0, sizeof(psp)); memcpy(&psp, &pprop_page->m_psp, sizeof(pprop_page->m_psp)); psp.dwFlags = PSP_DEFAULT | PSP_USECALLBACK; HPROPSHEETPAGE hpage = CreatePropertySheetPage(&psp); if (NULL == hpage) return E_UNEXPECTED; lpProvider->AddPage(hpage); } pprop_page = new CPropPageSharePerms(mUserPtr); hr = MMCPropPageCallback(&pprop_page->m_psp); if (SUCCEEDED(hr)) { PROPSHEETPAGE psp; memset(&psp, 0, sizeof(psp)); memcpy(&psp, &pprop_page->m_psp, sizeof(pprop_page->m_psp)); psp.dwFlags = PSP_DEFAULT | PSP_USECALLBACK; HPROPSHEETPAGE hpage = CreatePropertySheetPage(&psp); if (NULL == hpage) return E_UNEXPECTED; lpProvider->AddPage(hpage); } pprop_page = new CPropPageOptions(mUserPtr->GetOptions(), WarOption::OL_USER); hr = MMCPropPageCallback(&pprop_page->m_psp); if (SUCCEEDED(hr)) { PROPSHEETPAGE psp; memset(&psp, 0, sizeof(psp)); memcpy(&psp, &pprop_page->m_psp, sizeof(pprop_page->m_psp)); psp.dwFlags = PSP_DEFAULT | PSP_USECALLBACK; HPROPSHEETPAGE hpage = CreatePropertySheetPage(&psp); if (NULL == hpage) return E_UNEXPECTED; lpProvider->AddPage(hpage); } return S_OK;}//============================= ACCESS ===================================//============================= INQUIRY ===================================const int WmsNodeUser::GetBitmapIndex(){ return (mUserPtr->IsEnabled() && mUserPtr->IsOriginEnabled()) ? NICON_USER : NICON_USER_DISABLED;}const _TCHAR *WmsNodeUser::GetDisplayName(int nCol){ switch(nCol) { case 0: return mUserPtr->GetUserName().c_str(); case 1: return mUserPtr->GetAuthModuleName(); default: return _T("Invalid column Index"); }}const GUID & WmsNodeUser::getNodeType(){ return thisGuid; }/////////////////////////////// PROTECTED ////////////////////////////////////////////////////////////////// PRIVATE ///////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -