📄 pizzamakeimp.h
字号:
#ifndef PIZZAMAKEIMP_H
#define PIZZAMAKEIMP_H
// Get needed include files
#include "Resource.h"
#include "GUIDs.h"
class ATL_NO_VTABLE ComPizzaMaker :
public CComObjectRoot,
public CComCoClass<ComPizzaMaker, &CLSID_PizzaMaker1>,
public IConnectionPointContainerImpl<ComPizzaMaker>,
public IConnectionPointImpl<ComPizzaMaker, &IID_IPizzaNotifySink>,
public IPizzaMaker
{
public:
// Ctor and dtors
ComPizzaMaker();
virtual ~ComPizzaMaker();
// Overriden public methods
HRESULT FinalConstruct();
void FinalRelease();
// IPizzaMaker
STDMETHOD(MakePizza)(PizzaSize ePizzaSize,
ULONG ulNumToppings,
ToppingInfo aToppingInfo[],
DeliveryInfo* pDeliveryInfo,
PULONG pulPizzaID);
BEGIN_COM_MAP(ComPizzaMaker)
COM_INTERFACE_ENTRY(IPizzaMaker)
COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
END_COM_MAP()
BEGIN_CONNECTION_POINT_MAP(ComPizzaMaker)
CONNECTION_POINT_ENTRY(IID_IPizzaNotifySink)
END_CONNECTION_POINT_MAP()
DECLARE_REGISTRY_RESOURCEID(IDR_REGSCRIPT)
DECLARE_PROTECT_FINAL_CONSTRUCT()
private:
// Misc private methods
void SendIncomingOrderEvents (PizzaSize ePizzaSize,
ULONG ulNumToppings,
ToppingInfo aToppingInfo[],
DeliveryInfo* pDeliveryInfo,
ULONG ulNewPizzaID);
void SendCompletedOrderEvents(ULONG ulNewPizzaID);
// Our static class-wide pizza ID counter
static ULONG m_ulPizzaIDCounter;
// Private data members
IMoniker* m_pIMoniker;
DWORD m_dwROTCookie;
};
typedef ComPizzaMaker* PComPizzaMaker;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -