亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? authoritymgr.h

?? 集成windows2000本地用戶和組,實(shí)現(xiàn)財(cái)政管理系統(tǒng)的權(quán)限管理應(yīng)用程序框架,開發(fā)基于MMC的管理單元.
?? H
字號(hào):
#ifndef __AUTHORITYMGR_H_
#define __AUTHORITYMGR_H_
#include "resource.h"
//#include <atlsnap.h>
#include "CZMisMMC.h"
#include "basenode.h"

#include "AllUserNode.h"
#include "AllGroupNode.h"
class CAuthorityMgrPage : public CSnapInPropertyPageImpl<CAuthorityMgrPage>
{
public :
	CAuthorityMgrPage(long lNotifyHandle, bool bDeleteHandle = false, TCHAR* pTitle = NULL) : 
		CSnapInPropertyPageImpl<CAuthorityMgrPage> (pTitle),
		m_lNotifyHandle(lNotifyHandle),
		m_bDeleteHandle(bDeleteHandle) // Should be true for only page.
	{
	}

	~CAuthorityMgrPage()
	{
		if (m_bDeleteHandle)
			MMCFreeNotifyHandle(m_lNotifyHandle);
	}

	enum { IDD = IDD_AUTHORITYMGR };

BEGIN_MSG_MAP(CAuthorityMgrPage)
	CHAIN_MSG_MAP(CSnapInPropertyPageImpl<CAuthorityMgrPage>)
END_MSG_MAP()
// Handler prototypes:
// LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
// LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
// LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);

	HRESULT PropertyChangeNotify(long param)
	{
		return MMCPropertyChangeNotify(m_lNotifyHandle, param);
	}

public:
	long m_lNotifyHandle;
	bool m_bDeleteHandle;
};

class CAuthorityMgrData :public CBaseNodeItem<CAuthorityMgrData>
{
public:
	//所有用戶節(jié)點(diǎn)對(duì)象指針
	CAllUserNode* m_pAllUserNode;
	//所有組節(jié)點(diǎn)對(duì)象指針
	CAllGroupNode* m_pAllGroupNode;
	//構(gòu)造函數(shù)
	CAuthorityMgrData()
	{
        //創(chuàng)建所有用戶對(duì)象
		m_pAllUserNode = new CAllUserNode();
		//創(chuàng)建所有組對(duì)象
		m_pAllGroupNode = new CAllGroupNode();

		// Image indexes may need to be modified depending on the images specific to 
		// the snapin.
		//初始化該節(jié)點(diǎn)在樹控件及結(jié)構(gòu)視圖中的數(shù)據(jù)
		memset(&m_scopeDataItem, 0, sizeof(SCOPEDATAITEM));
		m_scopeDataItem.mask = SDI_STR | SDI_IMAGE | SDI_OPENIMAGE | SDI_PARAM;
		m_scopeDataItem.displayname = MMC_CALLBACK;
		m_scopeDataItem.nImage = 0; 		// May need modification
		m_scopeDataItem.nOpenImage = 0; 	// May need modification
		m_scopeDataItem.lParam = (LPARAM) this;
		memset(&m_resultDataItem, 0, sizeof(RESULTDATAITEM));
		m_resultDataItem.mask = RDI_STR | RDI_IMAGE | RDI_PARAM;
		m_resultDataItem.str = MMC_CALLBACK;
		m_resultDataItem.nImage = 0;		// May need modification
		m_resultDataItem.lParam = (LPARAM) this;
	}
   //析構(gòu)函數(shù)
	~CAuthorityMgrData()
	{	
       //銷毀在構(gòu)造函數(shù)中創(chuàng)建的對(duì)象
		delete m_pAllUserNode;
		delete m_pAllGroupNode;

	}

	STDMETHOD(CreatePropertyPages)(LPPROPERTYSHEETCALLBACK lpProvider,
		long handle, 
		IUnknown* pUnk,
		DATA_OBJECT_TYPES type);

	STDMETHOD(QueryPagesFor)(DATA_OBJECT_TYPES type)
	{
		if (type == CCT_SCOPE || type == CCT_RESULT)
			return S_OK;
		return S_FALSE;
	}
    //當(dāng)用戶點(diǎn)擊該節(jié)點(diǎn)查看該節(jié)點(diǎn)的詳細(xì)信息時(shí)MMC
	//結(jié)果視圖的數(shù)據(jù)類型
	//這里返回為"消息類型",用于說明該管理單元的說明信息
	STDMETHOD(GetResultViewType)(LPOLESTR *ppViewType,long *pViewOptions)
	{
		LPOLESTR lpOleStr = NULL;
		HRESULT hr = StringFromCLSID(CLSID_MessageView, &lpOleStr);
		if(SUCCEEDED(hr))
			*ppViewType = lpOleStr;
		else 
			*ppViewType = NULL;

		*pViewOptions = MMC_VIEW_OPTIONS_NONE;
		return S_FALSE;
	}
	//當(dāng)用戶點(diǎn)擊該節(jié)點(diǎn)查看該節(jié)點(diǎn)的詳細(xì)信息時(shí)MMC
	//通過OnShow函數(shù)類來提供與GetResultViewType相應(yīng)的數(shù)據(jù)
	HRESULT OnShow(IConsole *spConsole, BOOL bShow)
	{


		//CComQIPtr<IResultData, &IID_IResultData> spResultData(spConsole);
		HRESULT hr;
		IUnknown *pUnk = NULL;
		IMessageView *pMessageView = NULL;
		hr = spConsole->QueryResultView(&pUnk);
		if (SUCCEEDED(hr)) 
		{
			hr = pUnk->QueryInterface(IID_IMessageView, (void **)&pMessageView);
			if (SUCCEEDED(hr)) 
			{
				pMessageView->SetIcon(Icon_Information);
				pMessageView->SetTitleText(L"歡迎使用財(cái)政管理系統(tǒng)\n--------權(quán)限管理");
				pMessageView->SetBodyText(L"您可以使用該模塊完成以下功能:\n     1.管理本地用戶對(duì)系統(tǒng)各模塊的權(quán)限.\n 	2.管理本地組對(duì)系統(tǒng)各模塊的權(quán)限.\n注意,用戶的最終權(quán)限受其所屬的組的權(quán)限的影響!\n另外:程序列出系統(tǒng)用戶和組的時(shí)候可能需要一些時(shí)間,請(qǐng)稍候。");
				pMessageView->Release();
			}
			pUnk->Release();
		}

		return S_FALSE;


	}
	//當(dāng)用戶展開該樹節(jié)點(diǎn)時(shí),可通過該函數(shù)添加子節(jié)點(diǎn)的內(nèi)容
	HRESULT OnExpand(BOOL bExpand, IConsole *pConsole, HSCOPEITEM parent);
};

class CAuthorityMgr;

class CAuthorityMgrComponent : public CComObjectRootEx<CComSingleThreadModel>,
	public CSnapInObjectRoot<2, CAuthorityMgr >,
	public IExtendPropertySheetImpl<CAuthorityMgrComponent>,
	public IExtendContextMenuImpl<CAuthorityMgrComponent>,
	public IExtendControlbarImpl<CAuthorityMgrComponent>,
	public IComponentImpl<CAuthorityMgrComponent>
{
public:
BEGIN_COM_MAP(CAuthorityMgrComponent)
	COM_INTERFACE_ENTRY(IComponent)
    COM_INTERFACE_ENTRY(IExtendPropertySheet)
    COM_INTERFACE_ENTRY(IExtendContextMenu)
    COM_INTERFACE_ENTRY(IExtendControlbar)
END_COM_MAP()

public:
	CAuthorityMgrComponent():m_ipDisplayHelp(NULL)
	{
	}

	STDMETHOD(Notify)(LPDATAOBJECT lpDataObject, MMC_NOTIFY_TYPE event, long arg, long param)
	{
		if (lpDataObject != NULL)
			return IComponentImpl<CAuthorityMgrComponent>::Notify(lpDataObject, event, arg, param);
		// TODO : Add code to handle notifications that set lpDataObject == NULL.
		return E_NOTIMPL;
	}
		STDMETHOD(Initialize)(LPCONSOLE lpConsole)
	{
		HRESULT hr=IComponentImpl<CAuthorityMgrComponent>::Initialize(lpConsole);
		_ASSERT( S_OK == hr );
		hr = m_spConsole->QueryInterface(IID_IDisplayHelp, (void **)&m_ipDisplayHelp);
		_ASSERT( S_OK == hr );
		return hr;
	}
	STDMETHOD(Destroy)(long cookie)
	{
		if (m_ipDisplayHelp) 
		{
			m_ipDisplayHelp->Release();
			m_ipDisplayHelp = NULL;
		}
		HRESULT hr=IComponentImpl<CAuthorityMgrComponent>::Destroy(cookie);
		return hr;
	}
		IDisplayHelp* m_ipDisplayHelp;
}

class CAuthorityMgr : public CComObjectRootEx<CComSingleThreadModel>,
public CSnapInObjectRoot<1, CAuthorityMgr>,
	public IComponentDataImpl<CAuthorityMgr, CAuthorityMgrComponent>,
	public IExtendPropertySheetImpl<CAuthorityMgr>,
	public IExtendContextMenuImpl<CAuthorityMgr>,
	public CComCoClass<CAuthorityMgr, &CLSID_AuthorityMgr>
{
public:
	CAuthorityMgr()
	{
		m_pNode = new CAuthorityMgrData;
		_ASSERTE(m_pNode != NULL);
		m_pComponentData = this;
	}

	~CAuthorityMgr()
	{
		delete m_pNode;
		m_pNode = NULL;
	}

BEGIN_COM_MAP(CAuthorityMgr)
	  COM_INTERFACE_ENTRY(IComponentData)
    COM_INTERFACE_ENTRY(IExtendPropertySheet)
    COM_INTERFACE_ENTRY(IExtendContextMenu)
END_COM_MAP()

DECLARE_REGISTRY_RESOURCEID(IDR_AUTHORITYMGR)

DECLARE_NOT_AGGREGATABLE(CAuthorityMgr)

	STDMETHOD(Initialize)(LPUNKNOWN pUnknown);
	static HRESULT LoadImages(IImageList*);

	static void WINAPI ObjectMain(bool bStarting)
	{
		if (bStarting)
			CSnapInItem::Init();
	}



}

class ATL_NO_VTABLE CAuthorityMgrAbout : public ISnapinAbout,
	public CComObjectRoot,
	public CComCoClass< CAuthorityMgrAbout, &CLSID_AuthorityMgrAbout>
{

	HBITMAP				m_hSmallImage;
    HBITMAP				m_hLargeImage;
    HBITMAP				m_hSmallImageOpen;
	HICON m_hAppIcon;
public:
	CAuthorityMgrAbout()
	{
		m_hSmallImage = (HBITMAP)LoadImage(_Module.GetModuleInstance(), MAKEINTRESOURCE(IDB_AUTHORITYMGR_32), IMAGE_BITMAP, 16, 16, LR_LOADTRANSPARENT);
		m_hLargeImage = (HBITMAP)LoadImage(_Module.GetModuleInstance(), MAKEINTRESOURCE(IDB_AUTHORITYMGR_32), IMAGE_BITMAP, 32, 32, LR_LOADTRANSPARENT);
		m_hSmallImageOpen = (HBITMAP)LoadImage(_Module.GetModuleInstance(), MAKEINTRESOURCE(IDB_SMOPEN), IMAGE_BITMAP, 16, 16, LR_LOADTRANSPARENT);
		m_hAppIcon = LoadIcon(_Module.GetModuleInstance(), MAKEINTRESOURCE(IDI_APPICON));
	}
	~CAuthorityMgrAbout()
	{
		::DeleteObject(m_hSmallImage);
		::DeleteObject(m_hLargeImage);
		::DeleteObject(m_hSmallImageOpen);
		::DestroyIcon(m_hAppIcon);
	}
	DECLARE_REGISTRY(CAuthorityMgrAbout, _T("AuthorityMgrAbout.1"), _T("AuthorityMgrAbout.1"), IDS_AUTHORITYMGR_DESC, THREADFLAGS_BOTH);

	BEGIN_COM_MAP(CAuthorityMgrAbout)
		COM_INTERFACE_ENTRY(ISnapinAbout)
	END_COM_MAP()

	STDMETHOD(GetSnapinDescription)(LPOLESTR *lpDescription)
	{
		USES_CONVERSION;
		TCHAR szBuf[256];
		if (::LoadString(_Module.GetResourceInstance(), IDS_AUTHORITYMGR_DESC, szBuf, 256) == 0)
			return E_FAIL;

		*lpDescription = (LPOLESTR)CoTaskMemAlloc((lstrlen(szBuf) + 1) * sizeof(OLECHAR));
		if (*lpDescription == NULL)
			return E_OUTOFMEMORY;

		ocscpy(*lpDescription, T2OLE(szBuf));

		return S_OK;
	}

	STDMETHOD(GetProvider)(LPOLESTR *lpName)
	{
		USES_CONVERSION;
		TCHAR szBuf[256];
		if (::LoadString(_Module.GetResourceInstance(), IDS_AUTHORITYMGR_PROVIDER, szBuf, 256) == 0)
			return E_FAIL;

		*lpName = (LPOLESTR)CoTaskMemAlloc((lstrlen(szBuf) + 1) * sizeof(OLECHAR));
		if (*lpName == NULL)
			return E_OUTOFMEMORY;

		ocscpy(*lpName, T2OLE(szBuf));

		return S_OK;
	}

	STDMETHOD(GetSnapinVersion)(LPOLESTR *lpVersion)
	{
		USES_CONVERSION;
		TCHAR szBuf[256];
		if (::LoadString(_Module.GetResourceInstance(), IDS_AUTHORITYMGR_VERSION, szBuf, 256) == 0)
			return E_FAIL;

		*lpVersion = (LPOLESTR)CoTaskMemAlloc((lstrlen(szBuf) + 1) * sizeof(OLECHAR));
		if (*lpVersion == NULL)
			return E_OUTOFMEMORY;

		ocscpy(*lpVersion, T2OLE(szBuf));

		return S_OK;
	}


	STDMETHOD(GetSnapinImage)(HICON *hAppIcon)
	{
		*hAppIcon = m_hAppIcon;
		return S_OK;
	}

	STDMETHOD(GetStaticFolderImage)(HBITMAP *hSmallImage,
		HBITMAP *hSmallImageOpen,
		HBITMAP *hLargeImage,
		COLORREF *cMask)
	{
		*hSmallImage = m_hSmallImage;
		*hSmallImageOpen = m_hSmallImageOpen;
		*hLargeImage = m_hLargeImage;
		*cMask = RGB(0, 128, 128);
		if (*hSmallImage == NULL || *hLargeImage == NULL || 
         *hSmallImageOpen == NULL)
			return E_FAIL;
		else
	        return S_OK;
	}
}

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产婷婷色一区二区三区在线| 欧美高清在线精品一区| 成人午夜视频福利| 丝袜美腿亚洲色图| 国产精品国产自产拍高清av王其| 欧美日韩黄色一区二区| 丰满少妇在线播放bd日韩电影| 性做久久久久久| 亚洲免费高清视频在线| 亚洲精品一区二区三区蜜桃下载 | 亚洲一区二区三区四区五区黄 | 亚洲男人的天堂一区二区| 久久综合色鬼综合色| 欧美日本在线观看| 99久久伊人网影院| 国产精品一区二区久久精品爱涩 | 秋霞午夜鲁丝一区二区老狼| 亚洲女女做受ⅹxx高潮| 久久久久99精品国产片| 日韩免费一区二区三区在线播放| 欧美视频一二三区| 在线观看区一区二| 91国内精品野花午夜精品| 成+人+亚洲+综合天堂| 国产一区二区三区精品视频| 奇米精品一区二区三区在线观看一| 一区二区三区美女视频| 亚洲欧美一区二区视频| 国产精品女同一区二区三区| 国产欧美精品在线观看| 国产亚洲欧美色| 国产午夜精品久久久久久久| 欧美成人一区二区三区片免费| 91麻豆精品国产91| 欧美日韩国产一级片| 欧美日韩黄色影视| 欧美电影在哪看比较好| 欧美久久一区二区| 91精品午夜视频| 欧美一二区视频| 亚洲国产色一区| 亚洲国产一区二区三区青草影视| 亚洲一区在线免费观看| 香蕉成人伊视频在线观看| 天堂成人国产精品一区| 人人超碰91尤物精品国产| 免费观看日韩av| 国产在线播放一区| 高清在线成人网| 99视频国产精品| 欧美在线影院一区二区| 欧美久久一区二区| 日韩久久精品一区| 日本一区二区免费在线| 亚洲视频一区在线观看| 亚洲第一综合色| 蜜臀久久99精品久久久久久9| 久久精品久久精品| 成人精品国产免费网站| 色综合天天综合在线视频| 欧美午夜片在线观看| 91精品婷婷国产综合久久 | 精品国产亚洲在线| 中文字幕免费不卡| 亚洲黄一区二区三区| 午夜久久久久久久久| 狠狠色2019综合网| 99re这里只有精品视频首页| 在线免费av一区| 日韩欧美国产系列| 中文字幕第一区综合| 亚洲大片免费看| 国产自产2019最新不卡| 99re这里只有精品6| 91麻豆精品国产| 欧美国产禁国产网站cc| 亚洲午夜久久久| 激情欧美一区二区| 在线观看成人免费视频| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 欧美精品久久久久久久多人混战 | 亚洲高清一区二区三区| 国产在线视频不卡二| 91美女视频网站| 欧美成人一区二区| 亚洲综合久久av| 国产麻豆精品久久一二三| 色老头久久综合| 久久婷婷综合激情| 亚洲成av人在线观看| 国产成人久久精品77777最新版本| 在线免费不卡视频| 中文字幕欧美三区| 免费精品99久久国产综合精品| av亚洲精华国产精华精| 日韩精品一区二| 亚洲自拍偷拍欧美| 国产91综合一区在线观看| 91精品国产免费| 亚洲男女一区二区三区| 国产传媒一区在线| 欧美一区永久视频免费观看| 中文字幕制服丝袜一区二区三区| 男女男精品视频网| 在线亚洲高清视频| 国产精品毛片久久久久久| 九九视频精品免费| 欧美一区二区网站| 一区二区三区国产精品| 成人高清视频免费观看| 精品国产91久久久久久久妲己 | 成人在线视频首页| 久久亚洲一级片| 日本一区中文字幕| 欧美在线一区二区三区| 亚洲三级在线播放| aaa欧美大片| 中文字幕在线不卡| 成人高清在线视频| 国产欧美日韩在线视频| 国产资源在线一区| 欧美电影免费观看高清完整版在线观看| 亚洲一级二级三级| 色88888久久久久久影院按摩| 中文字幕亚洲电影| 99久久久久久99| 亚洲日本乱码在线观看| av一二三不卡影片| 亚洲人成精品久久久久| 成人动漫一区二区三区| 中文字幕在线观看一区| 不卡的av中国片| 国产精品久久久久久久久免费桃花 | 久久机这里只有精品| 亚洲精品一区二区三区99| 国产精品视频一区二区三区不卡| 国产一区二区三区四区五区入口| 欧美大尺度电影在线| 欧美日韩一区二区欧美激情| 国产亚洲精品aa| 成人手机在线视频| 中文字幕日韩精品一区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲欧美日韩中文播放| 欧洲一区在线观看| 五月天亚洲精品| 日韩视频一区在线观看| 精品一区二区日韩| 国产亚洲婷婷免费| 91丨porny丨在线| 一区二区免费看| 91精品欧美综合在线观看最新| 亚洲va天堂va国产va久| 精品日韩一区二区| 国产成人自拍高清视频在线免费播放| 国产精品色噜噜| 欧美在线视频全部完| 日韩电影在线一区二区| 精品福利视频一区二区三区| 国产999精品久久久久久绿帽| 亚洲日本一区二区| 91精品国产一区二区三区蜜臀| 韩国av一区二区三区在线观看| 国产精品免费aⅴ片在线观看| 一本一道久久a久久精品 | 色av一区二区| 亚洲成a人片综合在线| 日韩免费在线观看| www.亚洲色图.com| 午夜电影一区二区三区| 久久午夜电影网| 欧美在线观看一区| 精一区二区三区| 伊人开心综合网| 欧美大片在线观看一区二区| 成人av在线网站| 日本一不卡视频| 国产精品高潮呻吟| 欧美一级二级三级乱码| av亚洲精华国产精华精| 免费在线观看日韩欧美| 亚洲天堂中文字幕| 日韩午夜三级在线| 色视频一区二区| 国产在线视视频有精品| 香蕉久久夜色精品国产使用方法 | 国产精品女主播av| 欧美一区二区三区成人| 成人免费观看av| 另类中文字幕网| 亚洲一区二区美女| 国产精品麻豆视频| 日韩欧美一区二区免费| 色94色欧美sute亚洲线路二| 国产成人在线免费观看| 蜜臀久久99精品久久久画质超高清| 亚洲啪啪综合av一区二区三区| 亚洲精品一区二区三区香蕉| 欧美三级韩国三级日本一级| 91亚洲国产成人精品一区二区三|