109 lines
2.5 KiB
C++
109 lines
2.5 KiB
C++
|
//+-------------------------------------------------------------------
|
|||
|
//
|
|||
|
// File: Testsrv.hxx
|
|||
|
//
|
|||
|
// Contents: This file contins the DLL entry points
|
|||
|
// LibMain
|
|||
|
// DllGetClassObject (Bindings key func)
|
|||
|
// DllCanUnloadNow
|
|||
|
// CBasicBndCF (class factory)
|
|||
|
// History: 30-Mar-92 SarahJ Created
|
|||
|
//
|
|||
|
//---------------------------------------------------------------------
|
|||
|
|
|||
|
#ifndef __APP_H__
|
|||
|
#define __APP_H__
|
|||
|
|
|||
|
#include "..\idl\itest.h"
|
|||
|
#include "cmarshal.hxx"
|
|||
|
|
|||
|
extern "C" const IID CLSID_ITest;
|
|||
|
|
|||
|
//+-------------------------------------------------------------------
|
|||
|
//
|
|||
|
// Class: CTestCF
|
|||
|
//
|
|||
|
// Synopsis: Class Factory for CTest
|
|||
|
//
|
|||
|
// Methods: IUnknown - QueryInterface, AddRef, Release
|
|||
|
// IClassFactory - CreateInstance
|
|||
|
//
|
|||
|
// History: 21-Mar-92 SarahJ Created
|
|||
|
//
|
|||
|
//--------------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
class FAR CTestCF: public IClassFactory
|
|||
|
{
|
|||
|
public:
|
|||
|
|
|||
|
// Constructor/Destructor
|
|||
|
CTestCF();
|
|||
|
~CTestCF();
|
|||
|
|
|||
|
// IUnknown
|
|||
|
STDMETHODIMP QueryInterface(REFIID iid, void FAR * FAR * ppv);
|
|||
|
STDMETHOD_(ULONG,AddRef) ( void );
|
|||
|
STDMETHOD_(ULONG,Release) ( void );
|
|||
|
|
|||
|
// IClassFactory
|
|||
|
STDMETHODIMP CreateInstance(
|
|||
|
IUnknown FAR* pUnkOuter,
|
|||
|
REFIID iidInterface,
|
|||
|
void FAR* FAR* ppv);
|
|||
|
|
|||
|
STDMETHODIMP LockServer(BOOL fLock);
|
|||
|
|
|||
|
private:
|
|||
|
|
|||
|
ULONG ref_count;
|
|||
|
};
|
|||
|
|
|||
|
//+-------------------------------------------------------------------
|
|||
|
//
|
|||
|
// Class: CTest
|
|||
|
//
|
|||
|
// Synopsis: Test class
|
|||
|
//
|
|||
|
// Methods:
|
|||
|
//
|
|||
|
// History: 21-Mar-92 SarahJ Created
|
|||
|
//
|
|||
|
//--------------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
class FAR CTest: public ITest
|
|||
|
{
|
|||
|
public:
|
|||
|
CTest();
|
|||
|
|
|||
|
~CTest();
|
|||
|
|
|||
|
// IUnknown
|
|||
|
STDMETHODIMP QueryInterface(REFIID iid, void FAR * FAR * ppv);
|
|||
|
STDMETHOD_(ULONG,AddRef) ( void );
|
|||
|
STDMETHOD_(ULONG,Release) ( void );
|
|||
|
|
|||
|
// ITest
|
|||
|
STDMETHOD_(DWORD, die) ( ITest *, ULONG, ULONG, ULONG );
|
|||
|
STDMETHOD (die_cpp) ( ULONG );
|
|||
|
STDMETHOD (die_nt) ( ULONG );
|
|||
|
STDMETHOD_(DWORD, DoTest) ( ITest *, ITest * );
|
|||
|
STDMETHOD_(BOOL, hello) ( );
|
|||
|
STDMETHOD (interrupt) ( ITest *, BOOL );
|
|||
|
STDMETHOD (recurse) ( ITest *, ULONG );
|
|||
|
STDMETHOD (recurse_interrupt)( ITest *, ULONG );
|
|||
|
STDMETHOD (sick) ( ULONG );
|
|||
|
STDMETHOD (sleep) ( ULONG );
|
|||
|
|
|||
|
|
|||
|
|
|||
|
private:
|
|||
|
|
|||
|
ULONG ref_count;
|
|||
|
CCMarshal *custom;
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
#endif
|
|||
|
|