mirror of https://github.com/lianthony/NT4.0
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.
89 lines
1.8 KiB
89 lines
1.8 KiB
/***
|
|
*
|
|
* 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;
|
|
};
|
|
|
|
|
|
|
|
|
|
|