35 lines
898 B
C++
35 lines
898 B
C++
// PageFact.h: interface for the CPageFactory class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_PAGEFACT_H__13C333CD_90F7_42E8_B819_075B4D2B16F5__INCLUDED_)
|
|
#define AFX_PAGEFACT_H__13C333CD_90F7_42E8_B819_075B4D2B16F5__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
class CPageFactory :
|
|
public CComObjectRoot,
|
|
public ITaskPageFactory
|
|
{
|
|
public:
|
|
|
|
DECLARE_NOT_AGGREGATABLE(CPageFactory)
|
|
|
|
BEGIN_COM_MAP(CPageFactory)
|
|
COM_INTERFACE_ENTRY(ITaskPageFactory)
|
|
END_COM_MAP()
|
|
|
|
// ITaskPageFactory
|
|
STDMETHOD(CreatePage)(REFCLSID rclsidPage, REFIID riid, void **ppv);
|
|
|
|
template <class Q>
|
|
static HRESULT CreateInstance(Q** pp)
|
|
{
|
|
return CPageFactory::_CreatorClass::CreateInstance(NULL, __uuidof(Q), (void**) pp);
|
|
}
|
|
};
|
|
|
|
#endif // !defined(AFX_PAGEFACT_H__13C333CD_90F7_42E8_B819_075B4D2B16F5__INCLUDED_)
|