blob: dc591373fd590957d94582da1997a6ebc880e499 (
plain) (
tree)
|
|
/***
*
* Copyright (C) 1993-1994, Microsoft Corporation. All Rights Reserved.
* Information Contained Herein Is Proprietary and Confidential.
*
* File:
* hello.h
*
* Purpose:
* Contains the following:
*
* * The CHello class
* - Creation
* - Creating the standard dispatch object
* - Deletion
* - Reference count maintenance
* - IUnknown methods
* * The CHelloCF class, which creates instances of CHello.
* - Creation
* - Deletion
* - Reference count maintenance
* - IUnknown methods
*
*****************************************************************************/
#include "common.h"
#include "clsid.h"
#include "hellopro.h"
#pragma warning(disable:4355)
/* The CHello class.
*
*/
CLASS CHello : public IUnknown
{
public:
CHello();
~CHello();
static CHello FAR* Create();
void ProcessCommand(WPARAM wparam); // Process a Windows WM_COMMAND message
// Standard OLE stuff.
STDMETHOD(QueryInterface)(REFIID riid, void FAR* FAR* ppv);
STDMETHOD_(ULONG, AddRef)(void);
STDMETHOD_(ULONG, Release)(void);
HWND m_hwnd; // The window to which we draw.
BSTR m_bstrHelloMsg;
private:
ULONG m_refs; // Reference count.
IUnknown FAR* m_disp_interface; // Pointer to the standard dispatch object.
CHelloPro FAR* m_prog_interface; // What a programmer sees.
};
/* The class factory for CHello.
*
*/
CLASS CHelloCF : public IClassFactory
{
public:
CHelloCF();
static IClassFactory FAR* Create();
STDMETHOD(QueryInterface)(REFIID riid, void FAR* FAR* ppv);
STDMETHOD_(ULONG, AddRef)(void);
STDMETHOD_(ULONG, Release)(void);
STDMETHOD(CreateInstance)( IUnknown FAR* punkOuter,
REFIID riid,
void FAR* FAR* ppv);
STDMETHOD(LockServer)(BOOL fLock);
private:
ULONG m_refs;
};
|