/* File CMike.h

Contains declarations relating to the class CMike, including it's CLSID

Back to the "COM Inproc Server in C" tutorial.

*/

#ifndef CMIKE_H
#define CMIKE_H

#include <objbase.h>

#ifdef INIT
#include <initguid.h>
#endif /* INIT */

#include "IMike.h"
#include "util.h"

/* {21143C01-DDDF-11d0-AB8F-0000C0148FDB} = CMike */
DEFINE_GUID( CMike_CLSID,
0x21143c01, 0xdddf, 0x11d0, 0xab, 0x8f, 0x0, 0x0, 0xc0, 0x14, 0x8f, 0xdb);

typedef struct
{
IMike Im;
int cRef;
/*cMikeNum holds the value for MikeGet/Set*/
ULONG cMikeNum;
} CMike;

/*
Function prototypes, used to set up a VTable within
our class factory
*/

HRESULT _stdcall CMikeQueryInterface(IMike *pIm, REFIID iid, void **ppv);
ULONG _stdcall CMikeAddRef( IMike *pIm);
ULONG _stdcall CMikeRelease( IMike *pIm);
void _stdcall MikeSet( IMike *pIm, ULONG ulNewVal);
ULONG _stdcall MikeGet(IMike *pIm);
void _stdcall MikeBeep(IMike *pIm);

#endif /*CMIKE_H */

/* End of file CMike.h */