/* IMike.h

Contains an interface definition for IMike in C

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

*/

#ifndef IMIKE_H
#define IMIKE_H

#include <objbase.h>

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

/* {06F1BAD0-DD14-11d0-AB8F-0000C0148FDB} = IID_IMike */
DEFINE_GUID(IID_IMike,
0x6f1bad0, 0xdd14, 0x11d0, 0xab, 0x8f, 0x0, 0x0, 0xc0, 0x14, 0x8f, 0xdb);

typedef struct
{
struct IMikeVtbl *lpVtbl;
} IMike;

struct IMikeVtbl
{
/*IUnknown*/
HRESULT (_stdcall *pfnQueryInterface)(IMike *pIM, REFIID iid, void **ppv);
ULONG (_stdcall *pfnAddRef)(IMike *pIM);
ULONG (_stdcall *pfnRelease)(IMike *pIM);
/*IMike*/
void (_stdcall *pfnMikeSet)(IMike *pIM, ULONG);
ULONG (_stdcall *pfnMikeGet)(IMike *pIM);
void (_stdcall *pfnMikeBeep)(IMike *pIM);
};

#endif /*IMIKE_H*/