Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

85 lines
2.4 KiB

//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1999 - 1999
//
// File: mmctask.h
//
//--------------------------------------------------------------------------
// MMCTask.h : Declaration of the CMMCTask
#ifndef __MMCTASK_H_
#define __MMCTASK_H_
#include "resource.h" // main symbols
#include "mmc.h"
#include <ndmgr.h>
/////////////////////////////////////////////////////////////////////////////
// CMMCTask
class ATL_NO_VTABLE CMMCTask :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CMMCTask, &CLSID_MMCTask>,
public IDispatchImpl<IMMCTask, &IID_IMMCTask, &LIBID_CICLib>
{
public:
CMMCTask();
~CMMCTask();
HRESULT SetScript (LPOLESTR szScript);
HRESULT SetActionURL (LPOLESTR szActionURL);
HRESULT SetCommandID (LONG_PTR nID);
HRESULT SetActionType (long nType);
HRESULT SetHelp (LPOLESTR szHelp);
HRESULT SetText (LPOLESTR szText);
HRESULT SetClsid (LPOLESTR szClsid);
HRESULT SetDisplayObject (MMC_TASK_DISPLAY_OBJECT* pdo);
DECLARE_MMC_OBJECT_REGISTRATION(
g_szCicDll,
CLSID_MMCTask,
_T("MMCTask class"),
_T("MMCTask.MMCTask.1"),
_T("MMCTask.MMCTask"))
DECLARE_NOT_AGGREGATABLE(CMMCTask)
BEGIN_COM_MAP(CMMCTask)
COM_INTERFACE_ENTRY(IMMCTask)
COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()
// IMMCTask
public:
STDMETHOD(get_Clsid)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(get_Script)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(get_ActionURL)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(get_CommandID)(/*[out, retval]*/ LONG_PTR *pVal);
STDMETHOD(get_ActionType)(/*[out, retval]*/ long *pVal);
STDMETHOD(get_Help)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(get_Text)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(get_ScriptLanguage)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(get_DisplayObject)(/*[out, retval]*/ IDispatch** pDispatch);
private:
void FreeActions ();
private:
BSTR m_bstrLanguage;
BSTR m_bstrScript;
BSTR m_bstrActionURL;
BSTR m_bstrHelp;
BSTR m_bstrText;
BSTR m_bstrClsid;
long m_type;
LONG_PTR m_ID;
IDispatchPtr m_spDisplayObject;
// Ensure that default copy constructor & assignment are not used.
CMMCTask(const CMMCTask& rhs);
CMMCTask& operator=(const CMMCTask& rhs);
};
#endif //__MMCTASK_H_