AUTOCLI.H

/* 
* AUTOCLI.H
* Automation Client Chapter 15
*
* Definitions and structures.
*
* Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
*
* Kraig Brockschmidt, Microsoft
* Internet : kraigb@microsoft.com
* Compuserve: >INTERNET:kraigb@microsoft.com
*/

#ifndef _AUTOCLI_H_
#define _AUTOCLI_H_

#define INC_AUTOMATION
#define CHAPTER14
#define CHAPTER15
#include <inole.h>
#include <shellapi.h>
#include <malloc.h>

//Menu Resource ID and Commands
#define IDR_MENU 1

#define IDM_GETSOUND 0x0001
#define IDM_BEEP 0x0002
#define IDM_EXIT 0x0003

//These match MB_* identifiers for MessageBeep
#define IDM_SETSOUNDDEFAULT 0x0008
#define IDM_SETSOUNDHAND 0x0010
#define IDM_SETSOUNDQUESTION 0x0020
#define IDM_SETSOUNDEXCLAMATION 0x0030
#define IDM_SETSOUNDASTERISK 0x0040

#define IDM_SETSOUNDBOGUS 0x0555


//Stringtable IDs
#define CCHSTRINGMAX 80
#define IDS_MESSAGEEXCEPTION 0
#define IDS_MESSAGEEXCEPTIONSCODE 1
#define IDS_MESSAGEUNKNOWNEXCEPTION 2


//AUTOCLI.CPP
LRESULT APIENTRY AutoClientWndProc(HWND, UINT, WPARAM, LPARAM);
void HelpDirFromCLSID(CLSID, LPTSTR);

class CApp
{
friend LRESULT APIENTRY AutoClientWndProc(HWND, UINT, WPARAM
, LPARAM);

protected:
HINSTANCE m_hInst; //WinMain parameters
HINSTANCE m_hInstPrev;
UINT m_nCmdShow;

HWND m_hWnd; //Main window handle
BOOL m_fInitialized; //Did CoInitialize work?
LCID m_lcid; //User locale
TCHAR m_szHelpDir[256]; //Object's help directory
IDispatch *m_pIDispatch; //Interface we use

public:
CApp(HINSTANCE, HINSTANCE, UINT);
~CApp(void);

BOOL Init(void);
HRESULT NameToID(OLECHAR *, DISPID *);
HRESULT Invoke(DISPID, WORD, DISPPARAMS *, VARIANT *
, EXCEPINFO *, UINT *);
void Message(LPTSTR);
UINT Message(LPTSTR, UINT);
};


typedef CApp *PCApp;

#define CBWNDEXTRA sizeof(PCApp)
#define AUTOCLIWL_STRUCTURE 0


#endif //_AUTOCLI_H_