diff fuhtark_test/include/winapi/agtsvr.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fuhtark_test/include/winapi/agtsvr.h	Wed Nov 26 21:36:48 2025 +0700
@@ -0,0 +1,2138 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER within this package.
+ */
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 440
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __RPCNDR_H_VERSION__
+#error This stub requires an updated version of <rpcndr.h>
+#endif
+
+#ifndef COM_NO_WINDOWS_H
+#include "windows.h"
+#include "ole2.h"
+#endif
+
+#ifndef __AgentServer_h__
+#define __AgentServer_h__
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+#ifndef __IAgentUserInput_FWD_DEFINED__
+#define __IAgentUserInput_FWD_DEFINED__
+  typedef struct IAgentUserInput IAgentUserInput;
+#endif
+
+#ifndef __IAgentCommand_FWD_DEFINED__
+#define __IAgentCommand_FWD_DEFINED__
+  typedef struct IAgentCommand IAgentCommand;
+#endif
+
+#ifndef __IAgentCommandEx_FWD_DEFINED__
+#define __IAgentCommandEx_FWD_DEFINED__
+  typedef struct IAgentCommandEx IAgentCommandEx;
+#endif
+
+#ifndef __IAgentCommands_FWD_DEFINED__
+#define __IAgentCommands_FWD_DEFINED__
+  typedef struct IAgentCommands IAgentCommands;
+#endif
+
+#ifndef __IAgentCommandsEx_FWD_DEFINED__
+#define __IAgentCommandsEx_FWD_DEFINED__
+  typedef struct IAgentCommandsEx IAgentCommandsEx;
+#endif
+
+#ifndef __IAgentCommandWindow_FWD_DEFINED__
+#define __IAgentCommandWindow_FWD_DEFINED__
+  typedef struct IAgentCommandWindow IAgentCommandWindow;
+#endif
+
+#ifndef __IAgentSpeechInputProperties_FWD_DEFINED__
+#define __IAgentSpeechInputProperties_FWD_DEFINED__
+  typedef struct IAgentSpeechInputProperties IAgentSpeechInputProperties;
+#endif
+
+#ifndef __IAgentAudioOutputProperties_FWD_DEFINED__
+#define __IAgentAudioOutputProperties_FWD_DEFINED__
+  typedef struct IAgentAudioOutputProperties IAgentAudioOutputProperties;
+#endif
+
+#ifndef __IAgentAudioOutputPropertiesEx_FWD_DEFINED__
+#define __IAgentAudioOutputPropertiesEx_FWD_DEFINED__
+  typedef struct IAgentAudioOutputPropertiesEx IAgentAudioOutputPropertiesEx;
+#endif
+
+#ifndef __IAgentPropertySheet_FWD_DEFINED__
+#define __IAgentPropertySheet_FWD_DEFINED__
+  typedef struct IAgentPropertySheet IAgentPropertySheet;
+#endif
+
+#ifndef __IAgentBalloon_FWD_DEFINED__
+#define __IAgentBalloon_FWD_DEFINED__
+  typedef struct IAgentBalloon IAgentBalloon;
+#endif
+
+#ifndef __IAgentBalloonEx_FWD_DEFINED__
+#define __IAgentBalloonEx_FWD_DEFINED__
+  typedef struct IAgentBalloonEx IAgentBalloonEx;
+#endif
+
+#ifndef __IAgentCharacter_FWD_DEFINED__
+#define __IAgentCharacter_FWD_DEFINED__
+  typedef struct IAgentCharacter IAgentCharacter;
+#endif
+
+#ifndef __IAgentCharacterEx_FWD_DEFINED__
+#define __IAgentCharacterEx_FWD_DEFINED__
+  typedef struct IAgentCharacterEx IAgentCharacterEx;
+#endif
+
+#ifndef __IAgent_FWD_DEFINED__
+#define __IAgent_FWD_DEFINED__
+  typedef struct IAgent IAgent;
+#endif
+
+#ifndef __IAgentEx_FWD_DEFINED__
+#define __IAgentEx_FWD_DEFINED__
+  typedef struct IAgentEx IAgentEx;
+#endif
+
+#ifndef __IAgentNotifySink_FWD_DEFINED__
+#define __IAgentNotifySink_FWD_DEFINED__
+  typedef struct IAgentNotifySink IAgentNotifySink;
+#endif
+
+#ifndef __IAgentNotifySinkEx_FWD_DEFINED__
+#define __IAgentNotifySinkEx_FWD_DEFINED__
+  typedef struct IAgentNotifySinkEx IAgentNotifySinkEx;
+#endif
+
+#ifndef __IAgentPrivateNotifySink_FWD_DEFINED__
+#define __IAgentPrivateNotifySink_FWD_DEFINED__
+  typedef struct IAgentPrivateNotifySink IAgentPrivateNotifySink;
+#endif
+
+#ifndef __IAgentCustomMarshalMaker_FWD_DEFINED__
+#define __IAgentCustomMarshalMaker_FWD_DEFINED__
+  typedef struct IAgentCustomMarshalMaker IAgentCustomMarshalMaker;
+#endif
+
+#ifndef __IAgentClientStatus_FWD_DEFINED__
+#define __IAgentClientStatus_FWD_DEFINED__
+  typedef struct IAgentClientStatus IAgentClientStatus;
+#endif
+
+#ifndef __AgentServer_FWD_DEFINED__
+#define __AgentServer_FWD_DEFINED__
+#ifdef __cplusplus
+  typedef class AgentServer AgentServer;
+#else
+  typedef struct AgentServer AgentServer;
+#endif
+#endif
+
+#ifndef __IAgentUserInput_FWD_DEFINED__
+#define __IAgentUserInput_FWD_DEFINED__
+  typedef struct IAgentUserInput IAgentUserInput;
+#endif
+
+#ifndef __IAgentCommand_FWD_DEFINED__
+#define __IAgentCommand_FWD_DEFINED__
+  typedef struct IAgentCommand IAgentCommand;
+#endif
+
+#ifndef __IAgentCommandEx_FWD_DEFINED__
+#define __IAgentCommandEx_FWD_DEFINED__
+  typedef struct IAgentCommandEx IAgentCommandEx;
+#endif
+
+#ifndef __IAgentCommands_FWD_DEFINED__
+#define __IAgentCommands_FWD_DEFINED__
+  typedef struct IAgentCommands IAgentCommands;
+#endif
+
+#ifndef __IAgentCommandsEx_FWD_DEFINED__
+#define __IAgentCommandsEx_FWD_DEFINED__
+  typedef struct IAgentCommandsEx IAgentCommandsEx;
+#endif
+
+#ifndef __IAgentSpeechInputProperties_FWD_DEFINED__
+#define __IAgentSpeechInputProperties_FWD_DEFINED__
+  typedef struct IAgentSpeechInputProperties IAgentSpeechInputProperties;
+#endif
+
+#ifndef __IAgentAudioOutputProperties_FWD_DEFINED__
+#define __IAgentAudioOutputProperties_FWD_DEFINED__
+  typedef struct IAgentAudioOutputProperties IAgentAudioOutputProperties;
+#endif
+
+#ifndef __IAgentAudioOutputPropertiesEx_FWD_DEFINED__
+#define __IAgentAudioOutputPropertiesEx_FWD_DEFINED__
+  typedef struct IAgentAudioOutputPropertiesEx IAgentAudioOutputPropertiesEx;
+#endif
+
+#ifndef __IAgentPropertySheet_FWD_DEFINED__
+#define __IAgentPropertySheet_FWD_DEFINED__
+  typedef struct IAgentPropertySheet IAgentPropertySheet;
+#endif
+
+#ifndef __IAgentBalloon_FWD_DEFINED__
+#define __IAgentBalloon_FWD_DEFINED__
+  typedef struct IAgentBalloon IAgentBalloon;
+#endif
+
+#ifndef __IAgentBalloonEx_FWD_DEFINED__
+#define __IAgentBalloonEx_FWD_DEFINED__
+  typedef struct IAgentBalloonEx IAgentBalloonEx;
+#endif
+
+#ifndef __IAgentCharacter_FWD_DEFINED__
+#define __IAgentCharacter_FWD_DEFINED__
+  typedef struct IAgentCharacter IAgentCharacter;
+#endif
+
+#ifndef __IAgentCharacterEx_FWD_DEFINED__
+#define __IAgentCharacterEx_FWD_DEFINED__
+  typedef struct IAgentCharacterEx IAgentCharacterEx;
+#endif
+
+#ifndef __IAgent_FWD_DEFINED__
+#define __IAgent_FWD_DEFINED__
+  typedef struct IAgent IAgent;
+#endif
+
+#ifndef __IAgentEx_FWD_DEFINED__
+#define __IAgentEx_FWD_DEFINED__
+  typedef struct IAgentEx IAgentEx;
+#endif
+
+#ifndef __IAgentNotifySink_FWD_DEFINED__
+#define __IAgentNotifySink_FWD_DEFINED__
+  typedef struct IAgentNotifySink IAgentNotifySink;
+#endif
+
+#ifndef __IAgentNotifySinkEx_FWD_DEFINED__
+#define __IAgentNotifySinkEx_FWD_DEFINED__
+  typedef struct IAgentNotifySinkEx IAgentNotifySinkEx;
+#endif
+
+#ifndef __IAgentCommandWindow_FWD_DEFINED__
+#define __IAgentCommandWindow_FWD_DEFINED__
+  typedef struct IAgentCommandWindow IAgentCommandWindow;
+#endif
+
+#include "oaidl.h"
+#include "ocidl.h"
+
+#ifndef __MIDL_user_allocate_free_DEFINED__
+#define __MIDL_user_allocate_free_DEFINED__
+  void *__RPC_API MIDL_user_allocate(size_t);
+  void __RPC_API MIDL_user_free(void *);
+#endif
+
+#define NeverMoved (0)
+#define UserMoved (1)
+#define ProgramMoved (2)
+#define OtherProgramMoved (3)
+#define SystemMoved (4)
+
+#define NeverShown (0)
+#define UserHid (1)
+#define UserShowed (2)
+#define ProgramHid (3)
+#define ProgramShowed (4)
+#define OtherProgramHid (5)
+#define OtherProgramShowed (6)
+#define UserHidViaCharacterMenu (7)
+
+#define UserHidViaTaskbarIcon (UserHid)
+
+#define CSHELPCAUSE_COMMAND (1)
+#define CSHELPCAUSE_OTHERPROGRAM (2)
+#define CSHELPCAUSE_OPENCOMMANDSWINDOW (3)
+#define CSHELPCAUSE_CLOSECOMMANDSWINDOW (4)
+#define CSHELPCAUSE_SHOWCHARACTER (5)
+#define CSHELPCAUSE_HIDECHARACTER (6)
+#define CSHELPCAUSE_CHARACTER (7)
+
+#define ACTIVATE_NOTTOPMOST (0)
+#define ACTIVATE_TOPMOST (1)
+#define ACTIVATE_NOTACTIVE (0)
+#define ACTIVATE_ACTIVE (1)
+#define ACTIVATE_INPUTACTIVE (2)
+
+#define PREPARE_ANIMATION (0)
+#define PREPARE_STATE (1)
+#define PREPARE_WAVE (2)
+
+#define STOP_TYPE_PLAY (0x1)
+#define STOP_TYPE_MOVE (0x2)
+#define STOP_TYPE_SPEAK (0x4)
+#define STOP_TYPE_PREPARE (0x8)
+#define STOP_TYPE_NONQUEUEDPREPARE (0x10)
+#define STOP_TYPE_VISIBLE (0x20)
+
+#define STOP_TYPE_ALL (0xffffffff)
+
+#define BALLOON_STYLE_BALLOON_ON (0x1)
+#define BALLOON_STYLE_SIZETOTEXT (0x2)
+#define BALLOON_STYLE_AUTOHIDE (0x4)
+#define BALLOON_STYLE_AUTOPACE (0x8)
+
+#define AUDIO_STATUS_AVAILABLE (0)
+#define AUDIO_STATUS_NOAUDIO (1)
+#define AUDIO_STATUS_CANTOPENAUDIO (2)
+#define AUDIO_STATUS_USERSPEAKING (3)
+#define AUDIO_STATUS_CHARACTERSPEAKING (4)
+#define AUDIO_STATUS_SROVERRIDEABLE (5)
+#define AUDIO_STATUS_ERROR (6)
+
+#define LISTEN_STATUS_CANLISTEN (0)
+#define LISTEN_STATUS_NOAUDIO (1)
+#define LISTEN_STATUS_NOTACTIVE (2)
+#define LISTEN_STATUS_CANTOPENAUDIO (3)
+#define LISTEN_STATUS_COULDNTINITIALIZESPEECH (4)
+#define LISTEN_STATUS_SPEECHDISABLED (5)
+#define LISTEN_STATUS_ERROR (6)
+
+#define MK_ICON (0x1000)
+
+#define LSCOMPLETE_CAUSE_PROGRAMDISABLED (1)
+#define LSCOMPLETE_CAUSE_PROGRAMTIMEDOUT (2)
+#define LSCOMPLETE_CAUSE_USERTIMEDOUT (3)
+#define LSCOMPLETE_CAUSE_USERRELEASEDKEY (4)
+#define LSCOMPLETE_CAUSE_USERUTTERANCEENDED (5)
+#define LSCOMPLETE_CAUSE_CLIENTDEACTIVATED (6)
+#define LSCOMPLETE_CAUSE_DEFAULTCHARCHANGE (7)
+#define LSCOMPLETE_CAUSE_USERDISABLED (8)
+
+  extern RPC_IF_HANDLE __MIDL_itf_AgentServer_0000_v0_0_c_ifspec;
+  extern RPC_IF_HANDLE __MIDL_itf_AgentServer_0000_v0_0_s_ifspec;
+
+#ifndef __IAgentUserInput_INTERFACE_DEFINED__
+#define __IAgentUserInput_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentUserInput;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentUserInput : public IDispatch {
+  public:
+    virtual HRESULT WINAPI GetCount(long *pdwCount) = 0;
+    virtual HRESULT WINAPI GetItemID(long dwItemIndex,long *pdwCommandID) = 0;
+    virtual HRESULT WINAPI GetItemConfidence(long dwItemIndex,long *plConfidence) = 0;
+    virtual HRESULT WINAPI GetItemText(long dwItemIndex,BSTR *pbszText) = 0;
+    virtual HRESULT WINAPI GetAllItemData(VARIANT *pdwItemIndices,VARIANT *plConfidences,VARIANT *pbszText) = 0;
+  };
+#else
+  typedef struct IAgentUserInputVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentUserInput *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentUserInput *This);
+      ULONG (WINAPI *Release)(IAgentUserInput *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentUserInput *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentUserInput *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentUserInput *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentUserInput *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *GetCount)(IAgentUserInput *This,long *pdwCount);
+      HRESULT (WINAPI *GetItemID)(IAgentUserInput *This,long dwItemIndex,long *pdwCommandID);
+      HRESULT (WINAPI *GetItemConfidence)(IAgentUserInput *This,long dwItemIndex,long *plConfidence);
+      HRESULT (WINAPI *GetItemText)(IAgentUserInput *This,long dwItemIndex,BSTR *pbszText);
+      HRESULT (WINAPI *GetAllItemData)(IAgentUserInput *This,VARIANT *pdwItemIndices,VARIANT *plConfidences,VARIANT *pbszText);
+    END_INTERFACE
+  } IAgentUserInputVtbl;
+  struct IAgentUserInput {
+    CONST_VTBL struct IAgentUserInputVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentUserInput_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentUserInput_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentUserInput_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentUserInput_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentUserInput_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentUserInput_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentUserInput_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentUserInput_GetCount(This,pdwCount) (This)->lpVtbl->GetCount(This,pdwCount)
+#define IAgentUserInput_GetItemID(This,dwItemIndex,pdwCommandID) (This)->lpVtbl->GetItemID(This,dwItemIndex,pdwCommandID)
+#define IAgentUserInput_GetItemConfidence(This,dwItemIndex,plConfidence) (This)->lpVtbl->GetItemConfidence(This,dwItemIndex,plConfidence)
+#define IAgentUserInput_GetItemText(This,dwItemIndex,pbszText) (This)->lpVtbl->GetItemText(This,dwItemIndex,pbszText)
+#define IAgentUserInput_GetAllItemData(This,pdwItemIndices,plConfidences,pbszText) (This)->lpVtbl->GetAllItemData(This,pdwItemIndices,plConfidences,pbszText)
+#endif
+#endif
+  HRESULT WINAPI IAgentUserInput_GetCount_Proxy(IAgentUserInput *This,long *pdwCount);
+  void __RPC_STUB IAgentUserInput_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentUserInput_GetItemID_Proxy(IAgentUserInput *This,long dwItemIndex,long *pdwCommandID);
+  void __RPC_STUB IAgentUserInput_GetItemID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentUserInput_GetItemConfidence_Proxy(IAgentUserInput *This,long dwItemIndex,long *plConfidence);
+  void __RPC_STUB IAgentUserInput_GetItemConfidence_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentUserInput_GetItemText_Proxy(IAgentUserInput *This,long dwItemIndex,BSTR *pbszText);
+  void __RPC_STUB IAgentUserInput_GetItemText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentUserInput_GetAllItemData_Proxy(IAgentUserInput *This,VARIANT *pdwItemIndices,VARIANT *plConfidences,VARIANT *pbszText);
+  void __RPC_STUB IAgentUserInput_GetAllItemData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentCommand_INTERFACE_DEFINED__
+#define __IAgentCommand_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentCommand;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentCommand : public IDispatch {
+  public:
+    virtual HRESULT WINAPI SetCaption(BSTR bszCaption) = 0;
+    virtual HRESULT WINAPI GetCaption(BSTR *pbszCaption) = 0;
+    virtual HRESULT WINAPI SetVoice(BSTR bszVoice) = 0;
+    virtual HRESULT WINAPI GetVoice(BSTR *pbszVoice) = 0;
+    virtual HRESULT WINAPI SetEnabled(long bEnabled) = 0;
+    virtual HRESULT WINAPI GetEnabled(long *pbEnabled) = 0;
+    virtual HRESULT WINAPI SetVisible(long bVisible) = 0;
+    virtual HRESULT WINAPI GetVisible(long *pbVisible) = 0;
+    virtual HRESULT WINAPI SetConfidenceThreshold(long lThreshold) = 0;
+    virtual HRESULT WINAPI GetConfidenceThreshold(long *plThreshold) = 0;
+    virtual HRESULT WINAPI SetConfidenceText(BSTR bszTipText) = 0;
+    virtual HRESULT WINAPI GetConfidenceText(BSTR *pbszTipText) = 0;
+    virtual HRESULT WINAPI GetID(long *pdwID) = 0;
+  };
+#else
+  typedef struct IAgentCommandVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentCommand *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentCommand *This);
+      ULONG (WINAPI *Release)(IAgentCommand *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentCommand *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentCommand *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentCommand *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentCommand *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *SetCaption)(IAgentCommand *This,BSTR bszCaption);
+      HRESULT (WINAPI *GetCaption)(IAgentCommand *This,BSTR *pbszCaption);
+      HRESULT (WINAPI *SetVoice)(IAgentCommand *This,BSTR bszVoice);
+      HRESULT (WINAPI *GetVoice)(IAgentCommand *This,BSTR *pbszVoice);
+      HRESULT (WINAPI *SetEnabled)(IAgentCommand *This,long bEnabled);
+      HRESULT (WINAPI *GetEnabled)(IAgentCommand *This,long *pbEnabled);
+      HRESULT (WINAPI *SetVisible)(IAgentCommand *This,long bVisible);
+      HRESULT (WINAPI *GetVisible)(IAgentCommand *This,long *pbVisible);
+      HRESULT (WINAPI *SetConfidenceThreshold)(IAgentCommand *This,long lThreshold);
+      HRESULT (WINAPI *GetConfidenceThreshold)(IAgentCommand *This,long *plThreshold);
+      HRESULT (WINAPI *SetConfidenceText)(IAgentCommand *This,BSTR bszTipText);
+      HRESULT (WINAPI *GetConfidenceText)(IAgentCommand *This,BSTR *pbszTipText);
+      HRESULT (WINAPI *GetID)(IAgentCommand *This,long *pdwID);
+    END_INTERFACE
+  } IAgentCommandVtbl;
+  struct IAgentCommand {
+    CONST_VTBL struct IAgentCommandVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentCommand_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentCommand_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentCommand_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentCommand_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentCommand_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentCommand_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentCommand_SetCaption(This,bszCaption) (This)->lpVtbl->SetCaption(This,bszCaption)
+#define IAgentCommand_GetCaption(This,pbszCaption) (This)->lpVtbl->GetCaption(This,pbszCaption)
+#define IAgentCommand_SetVoice(This,bszVoice) (This)->lpVtbl->SetVoice(This,bszVoice)
+#define IAgentCommand_GetVoice(This,pbszVoice) (This)->lpVtbl->GetVoice(This,pbszVoice)
+#define IAgentCommand_SetEnabled(This,bEnabled) (This)->lpVtbl->SetEnabled(This,bEnabled)
+#define IAgentCommand_GetEnabled(This,pbEnabled) (This)->lpVtbl->GetEnabled(This,pbEnabled)
+#define IAgentCommand_SetVisible(This,bVisible) (This)->lpVtbl->SetVisible(This,bVisible)
+#define IAgentCommand_GetVisible(This,pbVisible) (This)->lpVtbl->GetVisible(This,pbVisible)
+#define IAgentCommand_SetConfidenceThreshold(This,lThreshold) (This)->lpVtbl->SetConfidenceThreshold(This,lThreshold)
+#define IAgentCommand_GetConfidenceThreshold(This,plThreshold) (This)->lpVtbl->GetConfidenceThreshold(This,plThreshold)
+#define IAgentCommand_SetConfidenceText(This,bszTipText) (This)->lpVtbl->SetConfidenceText(This,bszTipText)
+#define IAgentCommand_GetConfidenceText(This,pbszTipText) (This)->lpVtbl->GetConfidenceText(This,pbszTipText)
+#define IAgentCommand_GetID(This,pdwID) (This)->lpVtbl->GetID(This,pdwID)
+#endif
+#endif
+
+  HRESULT WINAPI IAgentCommand_SetCaption_Proxy(IAgentCommand *This,BSTR bszCaption);
+  void __RPC_STUB IAgentCommand_SetCaption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommand_GetCaption_Proxy(IAgentCommand *This,BSTR *pbszCaption);
+  void __RPC_STUB IAgentCommand_GetCaption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommand_SetVoice_Proxy(IAgentCommand *This,BSTR bszVoice);
+  void __RPC_STUB IAgentCommand_SetVoice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommand_GetVoice_Proxy(IAgentCommand *This,BSTR *pbszVoice);
+  void __RPC_STUB IAgentCommand_GetVoice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommand_SetEnabled_Proxy(IAgentCommand *This,long bEnabled);
+  void __RPC_STUB IAgentCommand_SetEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommand_GetEnabled_Proxy(IAgentCommand *This,long *pbEnabled);
+  void __RPC_STUB IAgentCommand_GetEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommand_SetVisible_Proxy(IAgentCommand *This,long bVisible);
+  void __RPC_STUB IAgentCommand_SetVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommand_GetVisible_Proxy(IAgentCommand *This,long *pbVisible);
+  void __RPC_STUB IAgentCommand_GetVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommand_SetConfidenceThreshold_Proxy(IAgentCommand *This,long lThreshold);
+  void __RPC_STUB IAgentCommand_SetConfidenceThreshold_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommand_GetConfidenceThreshold_Proxy(IAgentCommand *This,long *plThreshold);
+  void __RPC_STUB IAgentCommand_GetConfidenceThreshold_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommand_SetConfidenceText_Proxy(IAgentCommand *This,BSTR bszTipText);
+  void __RPC_STUB IAgentCommand_SetConfidenceText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommand_GetConfidenceText_Proxy(IAgentCommand *This,BSTR *pbszTipText);
+  void __RPC_STUB IAgentCommand_GetConfidenceText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommand_GetID_Proxy(IAgentCommand *This,long *pdwID);
+  void __RPC_STUB IAgentCommand_GetID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentCommandEx_INTERFACE_DEFINED__
+#define __IAgentCommandEx_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentCommandEx;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentCommandEx : public IAgentCommand {
+  public:
+    virtual HRESULT WINAPI SetHelpContextID(long ulID) = 0;
+    virtual HRESULT WINAPI GetHelpContextID(long *pulID) = 0;
+    virtual HRESULT WINAPI SetVoiceCaption(BSTR bszVoiceCaption) = 0;
+    virtual HRESULT WINAPI GetVoiceCaption(BSTR *pbszVoiceCaption) = 0;
+  };
+#else
+  typedef struct IAgentCommandExVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentCommandEx *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentCommandEx *This);
+      ULONG (WINAPI *Release)(IAgentCommandEx *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentCommandEx *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentCommandEx *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentCommandEx *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentCommandEx *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *SetCaption)(IAgentCommandEx *This,BSTR bszCaption);
+      HRESULT (WINAPI *GetCaption)(IAgentCommandEx *This,BSTR *pbszCaption);
+      HRESULT (WINAPI *SetVoice)(IAgentCommandEx *This,BSTR bszVoice);
+      HRESULT (WINAPI *GetVoice)(IAgentCommandEx *This,BSTR *pbszVoice);
+      HRESULT (WINAPI *SetEnabled)(IAgentCommandEx *This,long bEnabled);
+      HRESULT (WINAPI *GetEnabled)(IAgentCommandEx *This,long *pbEnabled);
+      HRESULT (WINAPI *SetVisible)(IAgentCommandEx *This,long bVisible);
+      HRESULT (WINAPI *GetVisible)(IAgentCommandEx *This,long *pbVisible);
+      HRESULT (WINAPI *SetConfidenceThreshold)(IAgentCommandEx *This,long lThreshold);
+      HRESULT (WINAPI *GetConfidenceThreshold)(IAgentCommandEx *This,long *plThreshold);
+      HRESULT (WINAPI *SetConfidenceText)(IAgentCommandEx *This,BSTR bszTipText);
+      HRESULT (WINAPI *GetConfidenceText)(IAgentCommandEx *This,BSTR *pbszTipText);
+      HRESULT (WINAPI *GetID)(IAgentCommandEx *This,long *pdwID);
+      HRESULT (WINAPI *SetHelpContextID)(IAgentCommandEx *This,long ulID);
+      HRESULT (WINAPI *GetHelpContextID)(IAgentCommandEx *This,long *pulID);
+      HRESULT (WINAPI *SetVoiceCaption)(IAgentCommandEx *This,BSTR bszVoiceCaption);
+      HRESULT (WINAPI *GetVoiceCaption)(IAgentCommandEx *This,BSTR *pbszVoiceCaption);
+    END_INTERFACE
+  } IAgentCommandExVtbl;
+  struct IAgentCommandEx {
+    CONST_VTBL struct IAgentCommandExVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentCommandEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentCommandEx_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentCommandEx_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentCommandEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentCommandEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentCommandEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentCommandEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentCommandEx_SetCaption(This,bszCaption) (This)->lpVtbl->SetCaption(This,bszCaption)
+#define IAgentCommandEx_GetCaption(This,pbszCaption) (This)->lpVtbl->GetCaption(This,pbszCaption)
+#define IAgentCommandEx_SetVoice(This,bszVoice) (This)->lpVtbl->SetVoice(This,bszVoice)
+#define IAgentCommandEx_GetVoice(This,pbszVoice) (This)->lpVtbl->GetVoice(This,pbszVoice)
+#define IAgentCommandEx_SetEnabled(This,bEnabled) (This)->lpVtbl->SetEnabled(This,bEnabled)
+#define IAgentCommandEx_GetEnabled(This,pbEnabled) (This)->lpVtbl->GetEnabled(This,pbEnabled)
+#define IAgentCommandEx_SetVisible(This,bVisible) (This)->lpVtbl->SetVisible(This,bVisible)
+#define IAgentCommandEx_GetVisible(This,pbVisible) (This)->lpVtbl->GetVisible(This,pbVisible)
+#define IAgentCommandEx_SetConfidenceThreshold(This,lThreshold) (This)->lpVtbl->SetConfidenceThreshold(This,lThreshold)
+#define IAgentCommandEx_GetConfidenceThreshold(This,plThreshold) (This)->lpVtbl->GetConfidenceThreshold(This,plThreshold)
+#define IAgentCommandEx_SetConfidenceText(This,bszTipText) (This)->lpVtbl->SetConfidenceText(This,bszTipText)
+#define IAgentCommandEx_GetConfidenceText(This,pbszTipText) (This)->lpVtbl->GetConfidenceText(This,pbszTipText)
+#define IAgentCommandEx_GetID(This,pdwID) (This)->lpVtbl->GetID(This,pdwID)
+#define IAgentCommandEx_SetHelpContextID(This,ulID) (This)->lpVtbl->SetHelpContextID(This,ulID)
+#define IAgentCommandEx_GetHelpContextID(This,pulID) (This)->lpVtbl->GetHelpContextID(This,pulID)
+#define IAgentCommandEx_SetVoiceCaption(This,bszVoiceCaption) (This)->lpVtbl->SetVoiceCaption(This,bszVoiceCaption)
+#define IAgentCommandEx_GetVoiceCaption(This,pbszVoiceCaption) (This)->lpVtbl->GetVoiceCaption(This,pbszVoiceCaption)
+#endif
+#endif
+  HRESULT WINAPI IAgentCommandEx_SetHelpContextID_Proxy(IAgentCommandEx *This,long ulID);
+  void __RPC_STUB IAgentCommandEx_SetHelpContextID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandEx_GetHelpContextID_Proxy(IAgentCommandEx *This,long *pulID);
+  void __RPC_STUB IAgentCommandEx_GetHelpContextID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandEx_SetVoiceCaption_Proxy(IAgentCommandEx *This,BSTR bszVoiceCaption);
+  void __RPC_STUB IAgentCommandEx_SetVoiceCaption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandEx_GetVoiceCaption_Proxy(IAgentCommandEx *This,BSTR *pbszVoiceCaption);
+  void __RPC_STUB IAgentCommandEx_GetVoiceCaption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentCommands_INTERFACE_DEFINED__
+#define __IAgentCommands_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentCommands;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentCommands : public IDispatch {
+  public:
+    virtual HRESULT WINAPI GetCommand(long dwCommandID,IUnknown **ppunkCommand) = 0;
+    virtual HRESULT WINAPI GetCount(long *pdwCount) = 0;
+    virtual HRESULT WINAPI SetCaption(BSTR bszCaption) = 0;
+    virtual HRESULT WINAPI GetCaption(BSTR *pbszCaption) = 0;
+    virtual HRESULT WINAPI SetVoice(BSTR bszVoice) = 0;
+    virtual HRESULT WINAPI GetVoice(BSTR *pbszVoice) = 0;
+    virtual HRESULT WINAPI SetVisible(long bVisible) = 0;
+    virtual HRESULT WINAPI GetVisible(long *pbVisible) = 0;
+    virtual HRESULT WINAPI Add(BSTR bszCaption,BSTR bszVoice,long bEnabled,long bVisible,long *pdwID) = 0;
+    virtual HRESULT WINAPI Insert(BSTR bszCaption,BSTR bszVoice,long bEnabled,long bVisible,long dwRefID,long bBefore,long *pdwID) = 0;
+    virtual HRESULT WINAPI Remove(long dwID) = 0;
+    virtual HRESULT WINAPI RemoveAll(void) = 0;
+  };
+#else
+  typedef struct IAgentCommandsVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentCommands *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentCommands *This);
+      ULONG (WINAPI *Release)(IAgentCommands *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentCommands *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentCommands *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentCommands *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentCommands *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *GetCommand)(IAgentCommands *This,long dwCommandID,IUnknown **ppunkCommand);
+      HRESULT (WINAPI *GetCount)(IAgentCommands *This,long *pdwCount);
+      HRESULT (WINAPI *SetCaption)(IAgentCommands *This,BSTR bszCaption);
+      HRESULT (WINAPI *GetCaption)(IAgentCommands *This,BSTR *pbszCaption);
+      HRESULT (WINAPI *SetVoice)(IAgentCommands *This,BSTR bszVoice);
+      HRESULT (WINAPI *GetVoice)(IAgentCommands *This,BSTR *pbszVoice);
+      HRESULT (WINAPI *SetVisible)(IAgentCommands *This,long bVisible);
+      HRESULT (WINAPI *GetVisible)(IAgentCommands *This,long *pbVisible);
+      HRESULT (WINAPI *Add)(IAgentCommands *This,BSTR bszCaption,BSTR bszVoice,long bEnabled,long bVisible,long *pdwID);
+      HRESULT (WINAPI *Insert)(IAgentCommands *This,BSTR bszCaption,BSTR bszVoice,long bEnabled,long bVisible,long dwRefID,long bBefore,long *pdwID);
+      HRESULT (WINAPI *Remove)(IAgentCommands *This,long dwID);
+      HRESULT (WINAPI *RemoveAll)(IAgentCommands *This);
+    END_INTERFACE
+  } IAgentCommandsVtbl;
+  struct IAgentCommands {
+    CONST_VTBL struct IAgentCommandsVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentCommands_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentCommands_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentCommands_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentCommands_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentCommands_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentCommands_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentCommands_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentCommands_GetCommand(This,dwCommandID,ppunkCommand) (This)->lpVtbl->GetCommand(This,dwCommandID,ppunkCommand)
+#define IAgentCommands_GetCount(This,pdwCount) (This)->lpVtbl->GetCount(This,pdwCount)
+#define IAgentCommands_SetCaption(This,bszCaption) (This)->lpVtbl->SetCaption(This,bszCaption)
+#define IAgentCommands_GetCaption(This,pbszCaption) (This)->lpVtbl->GetCaption(This,pbszCaption)
+#define IAgentCommands_SetVoice(This,bszVoice) (This)->lpVtbl->SetVoice(This,bszVoice)
+#define IAgentCommands_GetVoice(This,pbszVoice) (This)->lpVtbl->GetVoice(This,pbszVoice)
+#define IAgentCommands_SetVisible(This,bVisible) (This)->lpVtbl->SetVisible(This,bVisible)
+#define IAgentCommands_GetVisible(This,pbVisible) (This)->lpVtbl->GetVisible(This,pbVisible)
+#define IAgentCommands_Add(This,bszCaption,bszVoice,bEnabled,bVisible,pdwID) (This)->lpVtbl->Add(This,bszCaption,bszVoice,bEnabled,bVisible,pdwID)
+#define IAgentCommands_Insert(This,bszCaption,bszVoice,bEnabled,bVisible,dwRefID,bBefore,pdwID) (This)->lpVtbl->Insert(This,bszCaption,bszVoice,bEnabled,bVisible,dwRefID,bBefore,pdwID)
+#define IAgentCommands_Remove(This,dwID) (This)->lpVtbl->Remove(This,dwID)
+#define IAgentCommands_RemoveAll(This) (This)->lpVtbl->RemoveAll(This)
+#endif
+#endif
+  HRESULT WINAPI IAgentCommands_GetCommand_Proxy(IAgentCommands *This,long dwCommandID,IUnknown **ppunkCommand);
+  void __RPC_STUB IAgentCommands_GetCommand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommands_GetCount_Proxy(IAgentCommands *This,long *pdwCount);
+  void __RPC_STUB IAgentCommands_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommands_SetCaption_Proxy(IAgentCommands *This,BSTR bszCaption);
+  void __RPC_STUB IAgentCommands_SetCaption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommands_GetCaption_Proxy(IAgentCommands *This,BSTR *pbszCaption);
+  void __RPC_STUB IAgentCommands_GetCaption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommands_SetVoice_Proxy(IAgentCommands *This,BSTR bszVoice);
+  void __RPC_STUB IAgentCommands_SetVoice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommands_GetVoice_Proxy(IAgentCommands *This,BSTR *pbszVoice);
+  void __RPC_STUB IAgentCommands_GetVoice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommands_SetVisible_Proxy(IAgentCommands *This,long bVisible);
+  void __RPC_STUB IAgentCommands_SetVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommands_GetVisible_Proxy(IAgentCommands *This,long *pbVisible);
+  void __RPC_STUB IAgentCommands_GetVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommands_Add_Proxy(IAgentCommands *This,BSTR bszCaption,BSTR bszVoice,long bEnabled,long bVisible,long *pdwID);
+  void __RPC_STUB IAgentCommands_Add_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommands_Insert_Proxy(IAgentCommands *This,BSTR bszCaption,BSTR bszVoice,long bEnabled,long bVisible,long dwRefID,long bBefore,long *pdwID);
+  void __RPC_STUB IAgentCommands_Insert_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommands_Remove_Proxy(IAgentCommands *This,long dwID);
+  void __RPC_STUB IAgentCommands_Remove_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommands_RemoveAll_Proxy(IAgentCommands *This);
+  void __RPC_STUB IAgentCommands_RemoveAll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentCommandsEx_INTERFACE_DEFINED__
+#define __IAgentCommandsEx_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentCommandsEx;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentCommandsEx : public IAgentCommands {
+  public:
+    virtual HRESULT WINAPI GetCommandEx(long dwCommandID,IAgentCommandEx **ppCommandEx) = 0;
+    virtual HRESULT WINAPI SetDefaultID(long dwID) = 0;
+    virtual HRESULT WINAPI GetDefaultID(long *pdwID) = 0;
+    virtual HRESULT WINAPI SetHelpContextID(long ulHelpID) = 0;
+    virtual HRESULT WINAPI GetHelpContextID(long *pulHelpID) = 0;
+    virtual HRESULT WINAPI SetFontName(BSTR bszFontName) = 0;
+    virtual HRESULT WINAPI GetFontName(BSTR *pbszFontName) = 0;
+    virtual HRESULT WINAPI SetFontSize(long lFontSize) = 0;
+    virtual HRESULT WINAPI GetFontSize(long *lFontSize) = 0;
+    virtual HRESULT WINAPI SetVoiceCaption(BSTR bszVoiceCaption) = 0;
+    virtual HRESULT WINAPI GetVoiceCaption(BSTR *bszVoiceCaption) = 0;
+    virtual HRESULT WINAPI AddEx(BSTR bszCaption,BSTR bszVoice,BSTR bszVoiceCaption,long bEnabled,long bVisible,long ulHelpId,long *pdwID) = 0;
+    virtual HRESULT WINAPI InsertEx(BSTR bszCaption,BSTR bszVoice,BSTR bszVoiceCaption,long bEnabled,long bVisible,long ulHelpId,long dwRefID,long bBefore,long *pdwID) = 0;
+    virtual HRESULT WINAPI SetGlobalVoiceCommandsEnabled(long bEnable) = 0;
+    virtual HRESULT WINAPI GetGlobalVoiceCommandsEnabled(long *pbEnabled) = 0;
+  };
+#else
+  typedef struct IAgentCommandsExVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentCommandsEx *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentCommandsEx *This);
+      ULONG (WINAPI *Release)(IAgentCommandsEx *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentCommandsEx *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentCommandsEx *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentCommandsEx *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentCommandsEx *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *GetCommand)(IAgentCommandsEx *This,long dwCommandID,IUnknown **ppunkCommand);
+      HRESULT (WINAPI *GetCount)(IAgentCommandsEx *This,long *pdwCount);
+      HRESULT (WINAPI *SetCaption)(IAgentCommandsEx *This,BSTR bszCaption);
+      HRESULT (WINAPI *GetCaption)(IAgentCommandsEx *This,BSTR *pbszCaption);
+      HRESULT (WINAPI *SetVoice)(IAgentCommandsEx *This,BSTR bszVoice);
+      HRESULT (WINAPI *GetVoice)(IAgentCommandsEx *This,BSTR *pbszVoice);
+      HRESULT (WINAPI *SetVisible)(IAgentCommandsEx *This,long bVisible);
+      HRESULT (WINAPI *GetVisible)(IAgentCommandsEx *This,long *pbVisible);
+      HRESULT (WINAPI *Add)(IAgentCommandsEx *This,BSTR bszCaption,BSTR bszVoice,long bEnabled,long bVisible,long *pdwID);
+      HRESULT (WINAPI *Insert)(IAgentCommandsEx *This,BSTR bszCaption,BSTR bszVoice,long bEnabled,long bVisible,long dwRefID,long bBefore,long *pdwID);
+      HRESULT (WINAPI *Remove)(IAgentCommandsEx *This,long dwID);
+      HRESULT (WINAPI *RemoveAll)(IAgentCommandsEx *This);
+      HRESULT (WINAPI *GetCommandEx)(IAgentCommandsEx *This,long dwCommandID,IAgentCommandEx **ppCommandEx);
+      HRESULT (WINAPI *SetDefaultID)(IAgentCommandsEx *This,long dwID);
+      HRESULT (WINAPI *GetDefaultID)(IAgentCommandsEx *This,long *pdwID);
+      HRESULT (WINAPI *SetHelpContextID)(IAgentCommandsEx *This,long ulHelpID);
+      HRESULT (WINAPI *GetHelpContextID)(IAgentCommandsEx *This,long *pulHelpID);
+      HRESULT (WINAPI *SetFontName)(IAgentCommandsEx *This,BSTR bszFontName);
+      HRESULT (WINAPI *GetFontName)(IAgentCommandsEx *This,BSTR *pbszFontName);
+      HRESULT (WINAPI *SetFontSize)(IAgentCommandsEx *This,long lFontSize);
+      HRESULT (WINAPI *GetFontSize)(IAgentCommandsEx *This,long *lFontSize);
+      HRESULT (WINAPI *SetVoiceCaption)(IAgentCommandsEx *This,BSTR bszVoiceCaption);
+      HRESULT (WINAPI *GetVoiceCaption)(IAgentCommandsEx *This,BSTR *bszVoiceCaption);
+      HRESULT (WINAPI *AddEx)(IAgentCommandsEx *This,BSTR bszCaption,BSTR bszVoice,BSTR bszVoiceCaption,long bEnabled,long bVisible,long ulHelpId,long *pdwID);
+      HRESULT (WINAPI *InsertEx)(IAgentCommandsEx *This,BSTR bszCaption,BSTR bszVoice,BSTR bszVoiceCaption,long bEnabled,long bVisible,long ulHelpId,long dwRefID,long bBefore,long *pdwID);
+      HRESULT (WINAPI *SetGlobalVoiceCommandsEnabled)(IAgentCommandsEx *This,long bEnable);
+      HRESULT (WINAPI *GetGlobalVoiceCommandsEnabled)(IAgentCommandsEx *This,long *pbEnabled);
+    END_INTERFACE
+  } IAgentCommandsExVtbl;
+  struct IAgentCommandsEx {
+    CONST_VTBL struct IAgentCommandsExVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentCommandsEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentCommandsEx_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentCommandsEx_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentCommandsEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentCommandsEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentCommandsEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentCommandsEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentCommandsEx_GetCommand(This,dwCommandID,ppunkCommand) (This)->lpVtbl->GetCommand(This,dwCommandID,ppunkCommand)
+#define IAgentCommandsEx_GetCount(This,pdwCount) (This)->lpVtbl->GetCount(This,pdwCount)
+#define IAgentCommandsEx_SetCaption(This,bszCaption) (This)->lpVtbl->SetCaption(This,bszCaption)
+#define IAgentCommandsEx_GetCaption(This,pbszCaption) (This)->lpVtbl->GetCaption(This,pbszCaption)
+#define IAgentCommandsEx_SetVoice(This,bszVoice) (This)->lpVtbl->SetVoice(This,bszVoice)
+#define IAgentCommandsEx_GetVoice(This,pbszVoice) (This)->lpVtbl->GetVoice(This,pbszVoice)
+#define IAgentCommandsEx_SetVisible(This,bVisible) (This)->lpVtbl->SetVisible(This,bVisible)
+#define IAgentCommandsEx_GetVisible(This,pbVisible) (This)->lpVtbl->GetVisible(This,pbVisible)
+#define IAgentCommandsEx_Add(This,bszCaption,bszVoice,bEnabled,bVisible,pdwID) (This)->lpVtbl->Add(This,bszCaption,bszVoice,bEnabled,bVisible,pdwID)
+#define IAgentCommandsEx_Insert(This,bszCaption,bszVoice,bEnabled,bVisible,dwRefID,bBefore,pdwID) (This)->lpVtbl->Insert(This,bszCaption,bszVoice,bEnabled,bVisible,dwRefID,bBefore,pdwID)
+#define IAgentCommandsEx_Remove(This,dwID) (This)->lpVtbl->Remove(This,dwID)
+#define IAgentCommandsEx_RemoveAll(This) (This)->lpVtbl->RemoveAll(This)
+#define IAgentCommandsEx_GetCommandEx(This,dwCommandID,ppCommandEx) (This)->lpVtbl->GetCommandEx(This,dwCommandID,ppCommandEx)
+#define IAgentCommandsEx_SetDefaultID(This,dwID) (This)->lpVtbl->SetDefaultID(This,dwID)
+#define IAgentCommandsEx_GetDefaultID(This,pdwID) (This)->lpVtbl->GetDefaultID(This,pdwID)
+#define IAgentCommandsEx_SetHelpContextID(This,ulHelpID) (This)->lpVtbl->SetHelpContextID(This,ulHelpID)
+#define IAgentCommandsEx_GetHelpContextID(This,pulHelpID) (This)->lpVtbl->GetHelpContextID(This,pulHelpID)
+#define IAgentCommandsEx_SetFontName(This,bszFontName) (This)->lpVtbl->SetFontName(This,bszFontName)
+#define IAgentCommandsEx_GetFontName(This,pbszFontName) (This)->lpVtbl->GetFontName(This,pbszFontName)
+#define IAgentCommandsEx_SetFontSize(This,lFontSize) (This)->lpVtbl->SetFontSize(This,lFontSize)
+#define IAgentCommandsEx_GetFontSize(This,lFontSize) (This)->lpVtbl->GetFontSize(This,lFontSize)
+#define IAgentCommandsEx_SetVoiceCaption(This,bszVoiceCaption) (This)->lpVtbl->SetVoiceCaption(This,bszVoiceCaption)
+#define IAgentCommandsEx_GetVoiceCaption(This,bszVoiceCaption) (This)->lpVtbl->GetVoiceCaption(This,bszVoiceCaption)
+#define IAgentCommandsEx_AddEx(This,bszCaption,bszVoice,bszVoiceCaption,bEnabled,bVisible,ulHelpId,pdwID) (This)->lpVtbl->AddEx(This,bszCaption,bszVoice,bszVoiceCaption,bEnabled,bVisible,ulHelpId,pdwID)
+#define IAgentCommandsEx_InsertEx(This,bszCaption,bszVoice,bszVoiceCaption,bEnabled,bVisible,ulHelpId,dwRefID,bBefore,pdwID) (This)->lpVtbl->InsertEx(This,bszCaption,bszVoice,bszVoiceCaption,bEnabled,bVisible,ulHelpId,dwRefID,bBefore,pdwID)
+#define IAgentCommandsEx_SetGlobalVoiceCommandsEnabled(This,bEnable) (This)->lpVtbl->SetGlobalVoiceCommandsEnabled(This,bEnable)
+#define IAgentCommandsEx_GetGlobalVoiceCommandsEnabled(This,pbEnabled) (This)->lpVtbl->GetGlobalVoiceCommandsEnabled(This,pbEnabled)
+#endif
+#endif
+  HRESULT WINAPI IAgentCommandsEx_GetCommandEx_Proxy(IAgentCommandsEx *This,long dwCommandID,IAgentCommandEx **ppCommandEx);
+  void __RPC_STUB IAgentCommandsEx_GetCommandEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandsEx_SetDefaultID_Proxy(IAgentCommandsEx *This,long dwID);
+  void __RPC_STUB IAgentCommandsEx_SetDefaultID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandsEx_GetDefaultID_Proxy(IAgentCommandsEx *This,long *pdwID);
+  void __RPC_STUB IAgentCommandsEx_GetDefaultID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandsEx_SetHelpContextID_Proxy(IAgentCommandsEx *This,long ulHelpID);
+  void __RPC_STUB IAgentCommandsEx_SetHelpContextID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandsEx_GetHelpContextID_Proxy(IAgentCommandsEx *This,long *pulHelpID);
+  void __RPC_STUB IAgentCommandsEx_GetHelpContextID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandsEx_SetFontName_Proxy(IAgentCommandsEx *This,BSTR bszFontName);
+  void __RPC_STUB IAgentCommandsEx_SetFontName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandsEx_GetFontName_Proxy(IAgentCommandsEx *This,BSTR *pbszFontName);
+  void __RPC_STUB IAgentCommandsEx_GetFontName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandsEx_SetFontSize_Proxy(IAgentCommandsEx *This,long lFontSize);
+  void __RPC_STUB IAgentCommandsEx_SetFontSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandsEx_GetFontSize_Proxy(IAgentCommandsEx *This,long *lFontSize);
+  void __RPC_STUB IAgentCommandsEx_GetFontSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandsEx_SetVoiceCaption_Proxy(IAgentCommandsEx *This,BSTR bszVoiceCaption);
+  void __RPC_STUB IAgentCommandsEx_SetVoiceCaption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandsEx_GetVoiceCaption_Proxy(IAgentCommandsEx *This,BSTR *bszVoiceCaption);
+  void __RPC_STUB IAgentCommandsEx_GetVoiceCaption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandsEx_AddEx_Proxy(IAgentCommandsEx *This,BSTR bszCaption,BSTR bszVoice,BSTR bszVoiceCaption,long bEnabled,long bVisible,long ulHelpId,long *pdwID);
+  void __RPC_STUB IAgentCommandsEx_AddEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandsEx_InsertEx_Proxy(IAgentCommandsEx *This,BSTR bszCaption,BSTR bszVoice,BSTR bszVoiceCaption,long bEnabled,long bVisible,long ulHelpId,long dwRefID,long bBefore,long *pdwID);
+  void __RPC_STUB IAgentCommandsEx_InsertEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandsEx_SetGlobalVoiceCommandsEnabled_Proxy(IAgentCommandsEx *This,long bEnable);
+  void __RPC_STUB IAgentCommandsEx_SetGlobalVoiceCommandsEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandsEx_GetGlobalVoiceCommandsEnabled_Proxy(IAgentCommandsEx *This,long *pbEnabled);
+  void __RPC_STUB IAgentCommandsEx_GetGlobalVoiceCommandsEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentCommandWindow_INTERFACE_DEFINED__
+#define __IAgentCommandWindow_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentCommandWindow;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentCommandWindow : public IDispatch {
+  public:
+    virtual HRESULT WINAPI SetVisible(long bVisible) = 0;
+    virtual HRESULT WINAPI GetVisible(long *pbVisible) = 0;
+    virtual HRESULT WINAPI GetPosition(long *plLeft,long *plTop) = 0;
+    virtual HRESULT WINAPI GetSize(long *plWidth,long *plHeight) = 0;
+  };
+#else
+  typedef struct IAgentCommandWindowVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentCommandWindow *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentCommandWindow *This);
+      ULONG (WINAPI *Release)(IAgentCommandWindow *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentCommandWindow *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentCommandWindow *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentCommandWindow *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentCommandWindow *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *SetVisible)(IAgentCommandWindow *This,long bVisible);
+      HRESULT (WINAPI *GetVisible)(IAgentCommandWindow *This,long *pbVisible);
+      HRESULT (WINAPI *GetPosition)(IAgentCommandWindow *This,long *plLeft,long *plTop);
+      HRESULT (WINAPI *GetSize)(IAgentCommandWindow *This,long *plWidth,long *plHeight);
+    END_INTERFACE
+  } IAgentCommandWindowVtbl;
+  struct IAgentCommandWindow {
+    CONST_VTBL struct IAgentCommandWindowVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentCommandWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentCommandWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentCommandWindow_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentCommandWindow_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentCommandWindow_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentCommandWindow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentCommandWindow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentCommandWindow_SetVisible(This,bVisible) (This)->lpVtbl->SetVisible(This,bVisible)
+#define IAgentCommandWindow_GetVisible(This,pbVisible) (This)->lpVtbl->GetVisible(This,pbVisible)
+#define IAgentCommandWindow_GetPosition(This,plLeft,plTop) (This)->lpVtbl->GetPosition(This,plLeft,plTop)
+#define IAgentCommandWindow_GetSize(This,plWidth,plHeight) (This)->lpVtbl->GetSize(This,plWidth,plHeight)
+#endif
+#endif
+  HRESULT WINAPI IAgentCommandWindow_SetVisible_Proxy(IAgentCommandWindow *This,long bVisible);
+  void __RPC_STUB IAgentCommandWindow_SetVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandWindow_GetVisible_Proxy(IAgentCommandWindow *This,long *pbVisible);
+  void __RPC_STUB IAgentCommandWindow_GetVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandWindow_GetPosition_Proxy(IAgentCommandWindow *This,long *plLeft,long *plTop);
+  void __RPC_STUB IAgentCommandWindow_GetPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCommandWindow_GetSize_Proxy(IAgentCommandWindow *This,long *plWidth,long *plHeight);
+  void __RPC_STUB IAgentCommandWindow_GetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentSpeechInputProperties_INTERFACE_DEFINED__
+#define __IAgentSpeechInputProperties_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentSpeechInputProperties;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentSpeechInputProperties : public IDispatch {
+  public:
+    virtual HRESULT WINAPI GetInstalled(long *pbInstalled) = 0;
+    virtual HRESULT WINAPI GetEnabled(long *pbEnabled) = 0;
+    virtual HRESULT WINAPI GetHotKey(BSTR *pbszHotCharKey) = 0;
+    virtual HRESULT WINAPI GetLCID(LCID *plcidCurrent) = 0;
+    virtual HRESULT WINAPI GetEngine(BSTR *pbszEngine) = 0;
+    virtual HRESULT WINAPI SetEngine(BSTR bszEngine) = 0;
+    virtual HRESULT WINAPI GetListeningTip(long *pbListeningTip) = 0;
+  };
+#else
+  typedef struct IAgentSpeechInputPropertiesVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentSpeechInputProperties *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentSpeechInputProperties *This);
+      ULONG (WINAPI *Release)(IAgentSpeechInputProperties *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentSpeechInputProperties *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentSpeechInputProperties *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentSpeechInputProperties *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentSpeechInputProperties *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *GetInstalled)(IAgentSpeechInputProperties *This,long *pbInstalled);
+      HRESULT (WINAPI *GetEnabled)(IAgentSpeechInputProperties *This,long *pbEnabled);
+      HRESULT (WINAPI *GetHotKey)(IAgentSpeechInputProperties *This,BSTR *pbszHotCharKey);
+      HRESULT (WINAPI *GetLCID)(IAgentSpeechInputProperties *This,LCID *plcidCurrent);
+      HRESULT (WINAPI *GetEngine)(IAgentSpeechInputProperties *This,BSTR *pbszEngine);
+      HRESULT (WINAPI *SetEngine)(IAgentSpeechInputProperties *This,BSTR bszEngine);
+      HRESULT (WINAPI *GetListeningTip)(IAgentSpeechInputProperties *This,long *pbListeningTip);
+    END_INTERFACE
+  } IAgentSpeechInputPropertiesVtbl;
+  struct IAgentSpeechInputProperties {
+    CONST_VTBL struct IAgentSpeechInputPropertiesVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentSpeechInputProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentSpeechInputProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentSpeechInputProperties_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentSpeechInputProperties_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentSpeechInputProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentSpeechInputProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentSpeechInputProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentSpeechInputProperties_GetInstalled(This,pbInstalled) (This)->lpVtbl->GetInstalled(This,pbInstalled)
+#define IAgentSpeechInputProperties_GetEnabled(This,pbEnabled) (This)->lpVtbl->GetEnabled(This,pbEnabled)
+#define IAgentSpeechInputProperties_GetHotKey(This,pbszHotCharKey) (This)->lpVtbl->GetHotKey(This,pbszHotCharKey)
+#define IAgentSpeechInputProperties_GetLCID(This,plcidCurrent) (This)->lpVtbl->GetLCID(This,plcidCurrent)
+#define IAgentSpeechInputProperties_GetEngine(This,pbszEngine) (This)->lpVtbl->GetEngine(This,pbszEngine)
+#define IAgentSpeechInputProperties_SetEngine(This,bszEngine) (This)->lpVtbl->SetEngine(This,bszEngine)
+#define IAgentSpeechInputProperties_GetListeningTip(This,pbListeningTip) (This)->lpVtbl->GetListeningTip(This,pbListeningTip)
+#endif
+#endif
+  HRESULT WINAPI IAgentSpeechInputProperties_GetInstalled_Proxy(IAgentSpeechInputProperties *This,long *pbInstalled);
+  void __RPC_STUB IAgentSpeechInputProperties_GetInstalled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentSpeechInputProperties_GetEnabled_Proxy(IAgentSpeechInputProperties *This,long *pbEnabled);
+  void __RPC_STUB IAgentSpeechInputProperties_GetEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentSpeechInputProperties_GetHotKey_Proxy(IAgentSpeechInputProperties *This,BSTR *pbszHotCharKey);
+  void __RPC_STUB IAgentSpeechInputProperties_GetHotKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentSpeechInputProperties_GetLCID_Proxy(IAgentSpeechInputProperties *This,LCID *plcidCurrent);
+  void __RPC_STUB IAgentSpeechInputProperties_GetLCID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentSpeechInputProperties_GetEngine_Proxy(IAgentSpeechInputProperties *This,BSTR *pbszEngine);
+  void __RPC_STUB IAgentSpeechInputProperties_GetEngine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentSpeechInputProperties_SetEngine_Proxy(IAgentSpeechInputProperties *This,BSTR bszEngine);
+  void __RPC_STUB IAgentSpeechInputProperties_SetEngine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentSpeechInputProperties_GetListeningTip_Proxy(IAgentSpeechInputProperties *This,long *pbListeningTip);
+  void __RPC_STUB IAgentSpeechInputProperties_GetListeningTip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentAudioOutputProperties_INTERFACE_DEFINED__
+#define __IAgentAudioOutputProperties_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentAudioOutputProperties;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentAudioOutputProperties : public IDispatch {
+  public:
+    virtual HRESULT WINAPI GetEnabled(long *pbEnabled) = 0;
+    virtual HRESULT WINAPI GetUsingSoundEffects(long *pbUsingSoundEffects) = 0;
+  };
+#else
+  typedef struct IAgentAudioOutputPropertiesVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentAudioOutputProperties *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentAudioOutputProperties *This);
+      ULONG (WINAPI *Release)(IAgentAudioOutputProperties *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentAudioOutputProperties *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentAudioOutputProperties *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentAudioOutputProperties *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentAudioOutputProperties *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *GetEnabled)(IAgentAudioOutputProperties *This,long *pbEnabled);
+      HRESULT (WINAPI *GetUsingSoundEffects)(IAgentAudioOutputProperties *This,long *pbUsingSoundEffects);
+    END_INTERFACE
+  } IAgentAudioOutputPropertiesVtbl;
+  struct IAgentAudioOutputProperties {
+    CONST_VTBL struct IAgentAudioOutputPropertiesVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentAudioOutputProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentAudioOutputProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentAudioOutputProperties_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentAudioOutputProperties_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentAudioOutputProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentAudioOutputProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentAudioOutputProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentAudioOutputProperties_GetEnabled(This,pbEnabled) (This)->lpVtbl->GetEnabled(This,pbEnabled)
+#define IAgentAudioOutputProperties_GetUsingSoundEffects(This,pbUsingSoundEffects) (This)->lpVtbl->GetUsingSoundEffects(This,pbUsingSoundEffects)
+#endif
+#endif
+  HRESULT WINAPI IAgentAudioOutputProperties_GetEnabled_Proxy(IAgentAudioOutputProperties *This,long *pbEnabled);
+  void __RPC_STUB IAgentAudioOutputProperties_GetEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentAudioOutputProperties_GetUsingSoundEffects_Proxy(IAgentAudioOutputProperties *This,long *pbUsingSoundEffects);
+  void __RPC_STUB IAgentAudioOutputProperties_GetUsingSoundEffects_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentAudioOutputPropertiesEx_INTERFACE_DEFINED__
+#define __IAgentAudioOutputPropertiesEx_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentAudioOutputPropertiesEx;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentAudioOutputPropertiesEx : public IAgentAudioOutputProperties {
+  public:
+    virtual HRESULT WINAPI GetStatus(long *plStatus) = 0;
+  };
+#else
+  typedef struct IAgentAudioOutputPropertiesExVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentAudioOutputPropertiesEx *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentAudioOutputPropertiesEx *This);
+      ULONG (WINAPI *Release)(IAgentAudioOutputPropertiesEx *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentAudioOutputPropertiesEx *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentAudioOutputPropertiesEx *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentAudioOutputPropertiesEx *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentAudioOutputPropertiesEx *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *GetEnabled)(IAgentAudioOutputPropertiesEx *This,long *pbEnabled);
+      HRESULT (WINAPI *GetUsingSoundEffects)(IAgentAudioOutputPropertiesEx *This,long *pbUsingSoundEffects);
+      HRESULT (WINAPI *GetStatus)(IAgentAudioOutputPropertiesEx *This,long *plStatus);
+    END_INTERFACE
+  } IAgentAudioOutputPropertiesExVtbl;
+  struct IAgentAudioOutputPropertiesEx {
+    CONST_VTBL struct IAgentAudioOutputPropertiesExVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentAudioOutputPropertiesEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentAudioOutputPropertiesEx_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentAudioOutputPropertiesEx_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentAudioOutputPropertiesEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentAudioOutputPropertiesEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentAudioOutputPropertiesEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentAudioOutputPropertiesEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentAudioOutputPropertiesEx_GetEnabled(This,pbEnabled) (This)->lpVtbl->GetEnabled(This,pbEnabled)
+#define IAgentAudioOutputPropertiesEx_GetUsingSoundEffects(This,pbUsingSoundEffects) (This)->lpVtbl->GetUsingSoundEffects(This,pbUsingSoundEffects)
+#define IAgentAudioOutputPropertiesEx_GetStatus(This,plStatus) (This)->lpVtbl->GetStatus(This,plStatus)
+#endif
+#endif
+  HRESULT WINAPI IAgentAudioOutputPropertiesEx_GetStatus_Proxy(IAgentAudioOutputPropertiesEx *This,long *plStatus);
+  void __RPC_STUB IAgentAudioOutputPropertiesEx_GetStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentPropertySheet_INTERFACE_DEFINED__
+#define __IAgentPropertySheet_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentPropertySheet;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentPropertySheet : public IDispatch {
+  public:
+    virtual HRESULT WINAPI GetVisible(long *pbVisible) = 0;
+    virtual HRESULT WINAPI SetVisible(long bVisible) = 0;
+    virtual HRESULT WINAPI GetPosition(long *plLeft,long *plTop) = 0;
+    virtual HRESULT WINAPI GetSize(long *plWidth,long *plHeight) = 0;
+    virtual HRESULT WINAPI GetPage(BSTR *pbszPage) = 0;
+    virtual HRESULT WINAPI SetPage(BSTR bszPage) = 0;
+  };
+#else
+  typedef struct IAgentPropertySheetVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentPropertySheet *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentPropertySheet *This);
+      ULONG (WINAPI *Release)(IAgentPropertySheet *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentPropertySheet *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentPropertySheet *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentPropertySheet *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentPropertySheet *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *GetVisible)(IAgentPropertySheet *This,long *pbVisible);
+      HRESULT (WINAPI *SetVisible)(IAgentPropertySheet *This,long bVisible);
+      HRESULT (WINAPI *GetPosition)(IAgentPropertySheet *This,long *plLeft,long *plTop);
+      HRESULT (WINAPI *GetSize)(IAgentPropertySheet *This,long *plWidth,long *plHeight);
+      HRESULT (WINAPI *GetPage)(IAgentPropertySheet *This,BSTR *pbszPage);
+      HRESULT (WINAPI *SetPage)(IAgentPropertySheet *This,BSTR bszPage);
+    END_INTERFACE
+  } IAgentPropertySheetVtbl;
+  struct IAgentPropertySheet {
+    CONST_VTBL struct IAgentPropertySheetVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentPropertySheet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentPropertySheet_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentPropertySheet_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentPropertySheet_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentPropertySheet_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentPropertySheet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentPropertySheet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentPropertySheet_GetVisible(This,pbVisible) (This)->lpVtbl->GetVisible(This,pbVisible)
+#define IAgentPropertySheet_SetVisible(This,bVisible) (This)->lpVtbl->SetVisible(This,bVisible)
+#define IAgentPropertySheet_GetPosition(This,plLeft,plTop) (This)->lpVtbl->GetPosition(This,plLeft,plTop)
+#define IAgentPropertySheet_GetSize(This,plWidth,plHeight) (This)->lpVtbl->GetSize(This,plWidth,plHeight)
+#define IAgentPropertySheet_GetPage(This,pbszPage) (This)->lpVtbl->GetPage(This,pbszPage)
+#define IAgentPropertySheet_SetPage(This,bszPage) (This)->lpVtbl->SetPage(This,bszPage)
+#endif
+#endif
+  HRESULT WINAPI IAgentPropertySheet_GetVisible_Proxy(IAgentPropertySheet *This,long *pbVisible);
+  void __RPC_STUB IAgentPropertySheet_GetVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentPropertySheet_SetVisible_Proxy(IAgentPropertySheet *This,long bVisible);
+  void __RPC_STUB IAgentPropertySheet_SetVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentPropertySheet_GetPosition_Proxy(IAgentPropertySheet *This,long *plLeft,long *plTop);
+  void __RPC_STUB IAgentPropertySheet_GetPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentPropertySheet_GetSize_Proxy(IAgentPropertySheet *This,long *plWidth,long *plHeight);
+  void __RPC_STUB IAgentPropertySheet_GetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentPropertySheet_GetPage_Proxy(IAgentPropertySheet *This,BSTR *pbszPage);
+  void __RPC_STUB IAgentPropertySheet_GetPage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentPropertySheet_SetPage_Proxy(IAgentPropertySheet *This,BSTR bszPage);
+  void __RPC_STUB IAgentPropertySheet_SetPage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentBalloon_INTERFACE_DEFINED__
+#define __IAgentBalloon_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentBalloon;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentBalloon : public IDispatch {
+  public:
+    virtual HRESULT WINAPI GetEnabled(long *pbEnabled) = 0;
+    virtual HRESULT WINAPI GetNumLines(long *plLines) = 0;
+    virtual HRESULT WINAPI GetNumCharsPerLine(long *plCharsPerLine) = 0;
+    virtual HRESULT WINAPI GetFontName(BSTR *pbszFontName) = 0;
+    virtual HRESULT WINAPI GetFontSize(long *plFontSize) = 0;
+    virtual HRESULT WINAPI GetFontBold(long *pbFontBold) = 0;
+    virtual HRESULT WINAPI GetFontItalic(long *pbFontItalic) = 0;
+    virtual HRESULT WINAPI GetFontStrikethru(long *pbFontStrikethru) = 0;
+    virtual HRESULT WINAPI GetFontUnderline(long *pbFontUnderline) = 0;
+    virtual HRESULT WINAPI GetForeColor(long *plFGColor) = 0;
+    virtual HRESULT WINAPI GetBackColor(long *plBGColor) = 0;
+    virtual HRESULT WINAPI GetBorderColor(long *plBorderColor) = 0;
+    virtual HRESULT WINAPI SetVisible(long bVisible) = 0;
+    virtual HRESULT WINAPI GetVisible(long *pbVisible) = 0;
+    virtual HRESULT WINAPI SetFontName(BSTR bszFontName) = 0;
+    virtual HRESULT WINAPI SetFontSize(long lFontSize) = 0;
+    virtual HRESULT WINAPI SetFontCharSet(short sFontCharSet) = 0;
+    virtual HRESULT WINAPI GetFontCharSet(short *psFontCharSet) = 0;
+  };
+#else
+  typedef struct IAgentBalloonVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentBalloon *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentBalloon *This);
+      ULONG (WINAPI *Release)(IAgentBalloon *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentBalloon *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentBalloon *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentBalloon *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentBalloon *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *GetEnabled)(IAgentBalloon *This,long *pbEnabled);
+      HRESULT (WINAPI *GetNumLines)(IAgentBalloon *This,long *plLines);
+      HRESULT (WINAPI *GetNumCharsPerLine)(IAgentBalloon *This,long *plCharsPerLine);
+      HRESULT (WINAPI *GetFontName)(IAgentBalloon *This,BSTR *pbszFontName);
+      HRESULT (WINAPI *GetFontSize)(IAgentBalloon *This,long *plFontSize);
+      HRESULT (WINAPI *GetFontBold)(IAgentBalloon *This,long *pbFontBold);
+      HRESULT (WINAPI *GetFontItalic)(IAgentBalloon *This,long *pbFontItalic);
+      HRESULT (WINAPI *GetFontStrikethru)(IAgentBalloon *This,long *pbFontStrikethru);
+      HRESULT (WINAPI *GetFontUnderline)(IAgentBalloon *This,long *pbFontUnderline);
+      HRESULT (WINAPI *GetForeColor)(IAgentBalloon *This,long *plFGColor);
+      HRESULT (WINAPI *GetBackColor)(IAgentBalloon *This,long *plBGColor);
+      HRESULT (WINAPI *GetBorderColor)(IAgentBalloon *This,long *plBorderColor);
+      HRESULT (WINAPI *SetVisible)(IAgentBalloon *This,long bVisible);
+      HRESULT (WINAPI *GetVisible)(IAgentBalloon *This,long *pbVisible);
+      HRESULT (WINAPI *SetFontName)(IAgentBalloon *This,BSTR bszFontName);
+      HRESULT (WINAPI *SetFontSize)(IAgentBalloon *This,long lFontSize);
+      HRESULT (WINAPI *SetFontCharSet)(IAgentBalloon *This,short sFontCharSet);
+      HRESULT (WINAPI *GetFontCharSet)(IAgentBalloon *This,short *psFontCharSet);
+    END_INTERFACE
+  } IAgentBalloonVtbl;
+  struct IAgentBalloon {
+    CONST_VTBL struct IAgentBalloonVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentBalloon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentBalloon_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentBalloon_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentBalloon_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentBalloon_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentBalloon_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentBalloon_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentBalloon_GetEnabled(This,pbEnabled) (This)->lpVtbl->GetEnabled(This,pbEnabled)
+#define IAgentBalloon_GetNumLines(This,plLines) (This)->lpVtbl->GetNumLines(This,plLines)
+#define IAgentBalloon_GetNumCharsPerLine(This,plCharsPerLine) (This)->lpVtbl->GetNumCharsPerLine(This,plCharsPerLine)
+#define IAgentBalloon_GetFontName(This,pbszFontName) (This)->lpVtbl->GetFontName(This,pbszFontName)
+#define IAgentBalloon_GetFontSize(This,plFontSize) (This)->lpVtbl->GetFontSize(This,plFontSize)
+#define IAgentBalloon_GetFontBold(This,pbFontBold) (This)->lpVtbl->GetFontBold(This,pbFontBold)
+#define IAgentBalloon_GetFontItalic(This,pbFontItalic) (This)->lpVtbl->GetFontItalic(This,pbFontItalic)
+#define IAgentBalloon_GetFontStrikethru(This,pbFontStrikethru) (This)->lpVtbl->GetFontStrikethru(This,pbFontStrikethru)
+#define IAgentBalloon_GetFontUnderline(This,pbFontUnderline) (This)->lpVtbl->GetFontUnderline(This,pbFontUnderline)
+#define IAgentBalloon_GetForeColor(This,plFGColor) (This)->lpVtbl->GetForeColor(This,plFGColor)
+#define IAgentBalloon_GetBackColor(This,plBGColor) (This)->lpVtbl->GetBackColor(This,plBGColor)
+#define IAgentBalloon_GetBorderColor(This,plBorderColor) (This)->lpVtbl->GetBorderColor(This,plBorderColor)
+#define IAgentBalloon_SetVisible(This,bVisible) (This)->lpVtbl->SetVisible(This,bVisible)
+#define IAgentBalloon_GetVisible(This,pbVisible) (This)->lpVtbl->GetVisible(This,pbVisible)
+#define IAgentBalloon_SetFontName(This,bszFontName) (This)->lpVtbl->SetFontName(This,bszFontName)
+#define IAgentBalloon_SetFontSize(This,lFontSize) (This)->lpVtbl->SetFontSize(This,lFontSize)
+#define IAgentBalloon_SetFontCharSet(This,sFontCharSet) (This)->lpVtbl->SetFontCharSet(This,sFontCharSet)
+#define IAgentBalloon_GetFontCharSet(This,psFontCharSet) (This)->lpVtbl->GetFontCharSet(This,psFontCharSet)
+#endif
+#endif
+  HRESULT WINAPI IAgentBalloon_GetEnabled_Proxy(IAgentBalloon *This,long *pbEnabled);
+  void __RPC_STUB IAgentBalloon_GetEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_GetNumLines_Proxy(IAgentBalloon *This,long *plLines);
+  void __RPC_STUB IAgentBalloon_GetNumLines_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_GetNumCharsPerLine_Proxy(IAgentBalloon *This,long *plCharsPerLine);
+  void __RPC_STUB IAgentBalloon_GetNumCharsPerLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_GetFontName_Proxy(IAgentBalloon *This,BSTR *pbszFontName);
+  void __RPC_STUB IAgentBalloon_GetFontName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_GetFontSize_Proxy(IAgentBalloon *This,long *plFontSize);
+  void __RPC_STUB IAgentBalloon_GetFontSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_GetFontBold_Proxy(IAgentBalloon *This,long *pbFontBold);
+  void __RPC_STUB IAgentBalloon_GetFontBold_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_GetFontItalic_Proxy(IAgentBalloon *This,long *pbFontItalic);
+  void __RPC_STUB IAgentBalloon_GetFontItalic_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_GetFontStrikethru_Proxy(IAgentBalloon *This,long *pbFontStrikethru);
+  void __RPC_STUB IAgentBalloon_GetFontStrikethru_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_GetFontUnderline_Proxy(IAgentBalloon *This,long *pbFontUnderline);
+  void __RPC_STUB IAgentBalloon_GetFontUnderline_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_GetForeColor_Proxy(IAgentBalloon *This,long *plFGColor);
+  void __RPC_STUB IAgentBalloon_GetForeColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_GetBackColor_Proxy(IAgentBalloon *This,long *plBGColor);
+  void __RPC_STUB IAgentBalloon_GetBackColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_GetBorderColor_Proxy(IAgentBalloon *This,long *plBorderColor);
+  void __RPC_STUB IAgentBalloon_GetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_SetVisible_Proxy(IAgentBalloon *This,long bVisible);
+  void __RPC_STUB IAgentBalloon_SetVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_GetVisible_Proxy(IAgentBalloon *This,long *pbVisible);
+  void __RPC_STUB IAgentBalloon_GetVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_SetFontName_Proxy(IAgentBalloon *This,BSTR bszFontName);
+  void __RPC_STUB IAgentBalloon_SetFontName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_SetFontSize_Proxy(IAgentBalloon *This,long lFontSize);
+  void __RPC_STUB IAgentBalloon_SetFontSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_SetFontCharSet_Proxy(IAgentBalloon *This,short sFontCharSet);
+  void __RPC_STUB IAgentBalloon_SetFontCharSet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloon_GetFontCharSet_Proxy(IAgentBalloon *This,short *psFontCharSet);
+  void __RPC_STUB IAgentBalloon_GetFontCharSet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentBalloonEx_INTERFACE_DEFINED__
+#define __IAgentBalloonEx_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentBalloonEx;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentBalloonEx : public IAgentBalloon {
+  public:
+    virtual HRESULT WINAPI SetStyle(long lStyle) = 0;
+    virtual HRESULT WINAPI GetStyle(long *plStyle) = 0;
+    virtual HRESULT WINAPI SetNumLines(long lLines) = 0;
+    virtual HRESULT WINAPI SetNumCharsPerLine(long lCharsPerLine) = 0;
+  };
+#else
+  typedef struct IAgentBalloonExVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentBalloonEx *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentBalloonEx *This);
+      ULONG (WINAPI *Release)(IAgentBalloonEx *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentBalloonEx *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentBalloonEx *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentBalloonEx *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentBalloonEx *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *GetEnabled)(IAgentBalloonEx *This,long *pbEnabled);
+      HRESULT (WINAPI *GetNumLines)(IAgentBalloonEx *This,long *plLines);
+      HRESULT (WINAPI *GetNumCharsPerLine)(IAgentBalloonEx *This,long *plCharsPerLine);
+      HRESULT (WINAPI *GetFontName)(IAgentBalloonEx *This,BSTR *pbszFontName);
+      HRESULT (WINAPI *GetFontSize)(IAgentBalloonEx *This,long *plFontSize);
+      HRESULT (WINAPI *GetFontBold)(IAgentBalloonEx *This,long *pbFontBold);
+      HRESULT (WINAPI *GetFontItalic)(IAgentBalloonEx *This,long *pbFontItalic);
+      HRESULT (WINAPI *GetFontStrikethru)(IAgentBalloonEx *This,long *pbFontStrikethru);
+      HRESULT (WINAPI *GetFontUnderline)(IAgentBalloonEx *This,long *pbFontUnderline);
+      HRESULT (WINAPI *GetForeColor)(IAgentBalloonEx *This,long *plFGColor);
+      HRESULT (WINAPI *GetBackColor)(IAgentBalloonEx *This,long *plBGColor);
+      HRESULT (WINAPI *GetBorderColor)(IAgentBalloonEx *This,long *plBorderColor);
+      HRESULT (WINAPI *SetVisible)(IAgentBalloonEx *This,long bVisible);
+      HRESULT (WINAPI *GetVisible)(IAgentBalloonEx *This,long *pbVisible);
+      HRESULT (WINAPI *SetFontName)(IAgentBalloonEx *This,BSTR bszFontName);
+      HRESULT (WINAPI *SetFontSize)(IAgentBalloonEx *This,long lFontSize);
+      HRESULT (WINAPI *SetFontCharSet)(IAgentBalloonEx *This,short sFontCharSet);
+      HRESULT (WINAPI *GetFontCharSet)(IAgentBalloonEx *This,short *psFontCharSet);
+      HRESULT (WINAPI *SetStyle)(IAgentBalloonEx *This,long lStyle);
+      HRESULT (WINAPI *GetStyle)(IAgentBalloonEx *This,long *plStyle);
+      HRESULT (WINAPI *SetNumLines)(IAgentBalloonEx *This,long lLines);
+      HRESULT (WINAPI *SetNumCharsPerLine)(IAgentBalloonEx *This,long lCharsPerLine);
+    END_INTERFACE
+  } IAgentBalloonExVtbl;
+  struct IAgentBalloonEx {
+    CONST_VTBL struct IAgentBalloonExVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentBalloonEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentBalloonEx_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentBalloonEx_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentBalloonEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentBalloonEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentBalloonEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentBalloonEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentBalloonEx_GetEnabled(This,pbEnabled) (This)->lpVtbl->GetEnabled(This,pbEnabled)
+#define IAgentBalloonEx_GetNumLines(This,plLines) (This)->lpVtbl->GetNumLines(This,plLines)
+#define IAgentBalloonEx_GetNumCharsPerLine(This,plCharsPerLine) (This)->lpVtbl->GetNumCharsPerLine(This,plCharsPerLine)
+#define IAgentBalloonEx_GetFontName(This,pbszFontName) (This)->lpVtbl->GetFontName(This,pbszFontName)
+#define IAgentBalloonEx_GetFontSize(This,plFontSize) (This)->lpVtbl->GetFontSize(This,plFontSize)
+#define IAgentBalloonEx_GetFontBold(This,pbFontBold) (This)->lpVtbl->GetFontBold(This,pbFontBold)
+#define IAgentBalloonEx_GetFontItalic(This,pbFontItalic) (This)->lpVtbl->GetFontItalic(This,pbFontItalic)
+#define IAgentBalloonEx_GetFontStrikethru(This,pbFontStrikethru) (This)->lpVtbl->GetFontStrikethru(This,pbFontStrikethru)
+#define IAgentBalloonEx_GetFontUnderline(This,pbFontUnderline) (This)->lpVtbl->GetFontUnderline(This,pbFontUnderline)
+#define IAgentBalloonEx_GetForeColor(This,plFGColor) (This)->lpVtbl->GetForeColor(This,plFGColor)
+#define IAgentBalloonEx_GetBackColor(This,plBGColor) (This)->lpVtbl->GetBackColor(This,plBGColor)
+#define IAgentBalloonEx_GetBorderColor(This,plBorderColor) (This)->lpVtbl->GetBorderColor(This,plBorderColor)
+#define IAgentBalloonEx_SetVisible(This,bVisible) (This)->lpVtbl->SetVisible(This,bVisible)
+#define IAgentBalloonEx_GetVisible(This,pbVisible) (This)->lpVtbl->GetVisible(This,pbVisible)
+#define IAgentBalloonEx_SetFontName(This,bszFontName) (This)->lpVtbl->SetFontName(This,bszFontName)
+#define IAgentBalloonEx_SetFontSize(This,lFontSize) (This)->lpVtbl->SetFontSize(This,lFontSize)
+#define IAgentBalloonEx_SetFontCharSet(This,sFontCharSet) (This)->lpVtbl->SetFontCharSet(This,sFontCharSet)
+#define IAgentBalloonEx_GetFontCharSet(This,psFontCharSet) (This)->lpVtbl->GetFontCharSet(This,psFontCharSet)
+#define IAgentBalloonEx_SetStyle(This,lStyle) (This)->lpVtbl->SetStyle(This,lStyle)
+#define IAgentBalloonEx_GetStyle(This,plStyle) (This)->lpVtbl->GetStyle(This,plStyle)
+#define IAgentBalloonEx_SetNumLines(This,lLines) (This)->lpVtbl->SetNumLines(This,lLines)
+#define IAgentBalloonEx_SetNumCharsPerLine(This,lCharsPerLine) (This)->lpVtbl->SetNumCharsPerLine(This,lCharsPerLine)
+#endif
+#endif
+  HRESULT WINAPI IAgentBalloonEx_SetStyle_Proxy(IAgentBalloonEx *This,long lStyle);
+  void __RPC_STUB IAgentBalloonEx_SetStyle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloonEx_GetStyle_Proxy(IAgentBalloonEx *This,long *plStyle);
+  void __RPC_STUB IAgentBalloonEx_GetStyle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloonEx_SetNumLines_Proxy(IAgentBalloonEx *This,long lLines);
+  void __RPC_STUB IAgentBalloonEx_SetNumLines_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentBalloonEx_SetNumCharsPerLine_Proxy(IAgentBalloonEx *This,long lCharsPerLine);
+  void __RPC_STUB IAgentBalloonEx_SetNumCharsPerLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentCharacter_INTERFACE_DEFINED__
+#define __IAgentCharacter_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentCharacter;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentCharacter : public IDispatch {
+  public:
+    virtual HRESULT WINAPI GetVisible(long *pbVisible) = 0;
+    virtual HRESULT WINAPI SetPosition(long lLeft,long lTop) = 0;
+    virtual HRESULT WINAPI GetPosition(long *plLeft,long *plTop) = 0;
+    virtual HRESULT WINAPI SetSize(long lWidth,long lHeight) = 0;
+    virtual HRESULT WINAPI GetSize(long *plWidth,long *plHeight) = 0;
+    virtual HRESULT WINAPI GetName(BSTR *pbszName) = 0;
+    virtual HRESULT WINAPI GetDescription(BSTR *pbszDescription) = 0;
+    virtual HRESULT WINAPI GetTTSSpeed(long *pdwSpeed) = 0;
+    virtual HRESULT WINAPI GetTTSPitch(short *pwPitch) = 0;
+    virtual HRESULT WINAPI Activate(short sState) = 0;
+    virtual HRESULT WINAPI SetIdleOn(long bOn) = 0;
+    virtual HRESULT WINAPI GetIdleOn(long *pbOn) = 0;
+    virtual HRESULT WINAPI Prepare(long dwType,BSTR bszName,long bQueue,long *pdwReqID) = 0;
+    virtual HRESULT WINAPI Play(BSTR bszAnimation,long *pdwReqID) = 0;
+    virtual HRESULT WINAPI Stop(long dwReqID) = 0;
+    virtual HRESULT WINAPI StopAll(long lTypes) = 0;
+    virtual HRESULT WINAPI Wait(long dwReqID,long *pdwReqID) = 0;
+    virtual HRESULT WINAPI Interrupt(long dwReqID,long *pdwReqID) = 0;
+    virtual HRESULT WINAPI Show(long bFast,long *pdwReqID) = 0;
+    virtual HRESULT WINAPI Hide(long bFast,long *pdwReqID) = 0;
+    virtual HRESULT WINAPI Speak(BSTR bszText,BSTR bszUrl,long *pdwReqID) = 0;
+    virtual HRESULT WINAPI MoveTo(short x,short y,long lSpeed,long *pdwReqID) = 0;
+    virtual HRESULT WINAPI GestureAt(short x,short y,long *pdwReqID) = 0;
+    virtual HRESULT WINAPI GetMoveCause(long *pdwCause) = 0;
+    virtual HRESULT WINAPI GetVisibilityCause(long *pdwCause) = 0;
+    virtual HRESULT WINAPI HasOtherClients(long *plNumOtherClients) = 0;
+    virtual HRESULT WINAPI SetSoundEffectsOn(long bOn) = 0;
+    virtual HRESULT WINAPI GetSoundEffectsOn(long *pbOn) = 0;
+    virtual HRESULT WINAPI SetName(BSTR bszName) = 0;
+    virtual HRESULT WINAPI SetDescription(BSTR bszDescription) = 0;
+    virtual HRESULT WINAPI GetExtraData(BSTR *pbszExtraData) = 0;
+  };
+#else
+  typedef struct IAgentCharacterVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentCharacter *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentCharacter *This);
+      ULONG (WINAPI *Release)(IAgentCharacter *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentCharacter *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentCharacter *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentCharacter *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentCharacter *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *GetVisible)(IAgentCharacter *This,long *pbVisible);
+      HRESULT (WINAPI *SetPosition)(IAgentCharacter *This,long lLeft,long lTop);
+      HRESULT (WINAPI *GetPosition)(IAgentCharacter *This,long *plLeft,long *plTop);
+      HRESULT (WINAPI *SetSize)(IAgentCharacter *This,long lWidth,long lHeight);
+      HRESULT (WINAPI *GetSize)(IAgentCharacter *This,long *plWidth,long *plHeight);
+      HRESULT (WINAPI *GetName)(IAgentCharacter *This,BSTR *pbszName);
+      HRESULT (WINAPI *GetDescription)(IAgentCharacter *This,BSTR *pbszDescription);
+      HRESULT (WINAPI *GetTTSSpeed)(IAgentCharacter *This,long *pdwSpeed);
+      HRESULT (WINAPI *GetTTSPitch)(IAgentCharacter *This,short *pwPitch);
+      HRESULT (WINAPI *Activate)(IAgentCharacter *This,short sState);
+      HRESULT (WINAPI *SetIdleOn)(IAgentCharacter *This,long bOn);
+      HRESULT (WINAPI *GetIdleOn)(IAgentCharacter *This,long *pbOn);
+      HRESULT (WINAPI *Prepare)(IAgentCharacter *This,long dwType,BSTR bszName,long bQueue,long *pdwReqID);
+      HRESULT (WINAPI *Play)(IAgentCharacter *This,BSTR bszAnimation,long *pdwReqID);
+      HRESULT (WINAPI *Stop)(IAgentCharacter *This,long dwReqID);
+      HRESULT (WINAPI *StopAll)(IAgentCharacter *This,long lTypes);
+      HRESULT (WINAPI *Wait)(IAgentCharacter *This,long dwReqID,long *pdwReqID);
+      HRESULT (WINAPI *Interrupt)(IAgentCharacter *This,long dwReqID,long *pdwReqID);
+      HRESULT (WINAPI *Show)(IAgentCharacter *This,long bFast,long *pdwReqID);
+      HRESULT (WINAPI *Hide)(IAgentCharacter *This,long bFast,long *pdwReqID);
+      HRESULT (WINAPI *Speak)(IAgentCharacter *This,BSTR bszText,BSTR bszUrl,long *pdwReqID);
+      HRESULT (WINAPI *MoveTo)(IAgentCharacter *This,short x,short y,long lSpeed,long *pdwReqID);
+      HRESULT (WINAPI *GestureAt)(IAgentCharacter *This,short x,short y,long *pdwReqID);
+      HRESULT (WINAPI *GetMoveCause)(IAgentCharacter *This,long *pdwCause);
+      HRESULT (WINAPI *GetVisibilityCause)(IAgentCharacter *This,long *pdwCause);
+      HRESULT (WINAPI *HasOtherClients)(IAgentCharacter *This,long *plNumOtherClients);
+      HRESULT (WINAPI *SetSoundEffectsOn)(IAgentCharacter *This,long bOn);
+      HRESULT (WINAPI *GetSoundEffectsOn)(IAgentCharacter *This,long *pbOn);
+      HRESULT (WINAPI *SetName)(IAgentCharacter *This,BSTR bszName);
+      HRESULT (WINAPI *SetDescription)(IAgentCharacter *This,BSTR bszDescription);
+      HRESULT (WINAPI *GetExtraData)(IAgentCharacter *This,BSTR *pbszExtraData);
+    END_INTERFACE
+  } IAgentCharacterVtbl;
+  struct IAgentCharacter {
+    CONST_VTBL struct IAgentCharacterVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentCharacter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentCharacter_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentCharacter_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentCharacter_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentCharacter_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentCharacter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentCharacter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentCharacter_GetVisible(This,pbVisible) (This)->lpVtbl->GetVisible(This,pbVisible)
+#define IAgentCharacter_SetPosition(This,lLeft,lTop) (This)->lpVtbl->SetPosition(This,lLeft,lTop)
+#define IAgentCharacter_GetPosition(This,plLeft,plTop) (This)->lpVtbl->GetPosition(This,plLeft,plTop)
+#define IAgentCharacter_SetSize(This,lWidth,lHeight) (This)->lpVtbl->SetSize(This,lWidth,lHeight)
+#define IAgentCharacter_GetSize(This,plWidth,plHeight) (This)->lpVtbl->GetSize(This,plWidth,plHeight)
+#define IAgentCharacter_GetName(This,pbszName) (This)->lpVtbl->GetName(This,pbszName)
+#define IAgentCharacter_GetDescription(This,pbszDescription) (This)->lpVtbl->GetDescription(This,pbszDescription)
+#define IAgentCharacter_GetTTSSpeed(This,pdwSpeed) (This)->lpVtbl->GetTTSSpeed(This,pdwSpeed)
+#define IAgentCharacter_GetTTSPitch(This,pwPitch) (This)->lpVtbl->GetTTSPitch(This,pwPitch)
+#define IAgentCharacter_Activate(This,sState) (This)->lpVtbl->Activate(This,sState)
+#define IAgentCharacter_SetIdleOn(This,bOn) (This)->lpVtbl->SetIdleOn(This,bOn)
+#define IAgentCharacter_GetIdleOn(This,pbOn) (This)->lpVtbl->GetIdleOn(This,pbOn)
+#define IAgentCharacter_Prepare(This,dwType,bszName,bQueue,pdwReqID) (This)->lpVtbl->Prepare(This,dwType,bszName,bQueue,pdwReqID)
+#define IAgentCharacter_Play(This,bszAnimation,pdwReqID) (This)->lpVtbl->Play(This,bszAnimation,pdwReqID)
+#define IAgentCharacter_Stop(This,dwReqID) (This)->lpVtbl->Stop(This,dwReqID)
+#define IAgentCharacter_StopAll(This,lTypes) (This)->lpVtbl->StopAll(This,lTypes)
+#define IAgentCharacter_Wait(This,dwReqID,pdwReqID) (This)->lpVtbl->Wait(This,dwReqID,pdwReqID)
+#define IAgentCharacter_Interrupt(This,dwReqID,pdwReqID) (This)->lpVtbl->Interrupt(This,dwReqID,pdwReqID)
+#define IAgentCharacter_Show(This,bFast,pdwReqID) (This)->lpVtbl->Show(This,bFast,pdwReqID)
+#define IAgentCharacter_Hide(This,bFast,pdwReqID) (This)->lpVtbl->Hide(This,bFast,pdwReqID)
+#define IAgentCharacter_Speak(This,bszText,bszUrl,pdwReqID) (This)->lpVtbl->Speak(This,bszText,bszUrl,pdwReqID)
+#define IAgentCharacter_MoveTo(This,x,y,lSpeed,pdwReqID) (This)->lpVtbl->MoveTo(This,x,y,lSpeed,pdwReqID)
+#define IAgentCharacter_GestureAt(This,x,y,pdwReqID) (This)->lpVtbl->GestureAt(This,x,y,pdwReqID)
+#define IAgentCharacter_GetMoveCause(This,pdwCause) (This)->lpVtbl->GetMoveCause(This,pdwCause)
+#define IAgentCharacter_GetVisibilityCause(This,pdwCause) (This)->lpVtbl->GetVisibilityCause(This,pdwCause)
+#define IAgentCharacter_HasOtherClients(This,plNumOtherClients) (This)->lpVtbl->HasOtherClients(This,plNumOtherClients)
+#define IAgentCharacter_SetSoundEffectsOn(This,bOn) (This)->lpVtbl->SetSoundEffectsOn(This,bOn)
+#define IAgentCharacter_GetSoundEffectsOn(This,pbOn) (This)->lpVtbl->GetSoundEffectsOn(This,pbOn)
+#define IAgentCharacter_SetName(This,bszName) (This)->lpVtbl->SetName(This,bszName)
+#define IAgentCharacter_SetDescription(This,bszDescription) (This)->lpVtbl->SetDescription(This,bszDescription)
+#define IAgentCharacter_GetExtraData(This,pbszExtraData) (This)->lpVtbl->GetExtraData(This,pbszExtraData)
+#endif
+#endif
+  HRESULT WINAPI IAgentCharacter_GetVisible_Proxy(IAgentCharacter *This,long *pbVisible);
+  void __RPC_STUB IAgentCharacter_GetVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_SetPosition_Proxy(IAgentCharacter *This,long lLeft,long lTop);
+  void __RPC_STUB IAgentCharacter_SetPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_GetPosition_Proxy(IAgentCharacter *This,long *plLeft,long *plTop);
+  void __RPC_STUB IAgentCharacter_GetPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_SetSize_Proxy(IAgentCharacter *This,long lWidth,long lHeight);
+  void __RPC_STUB IAgentCharacter_SetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_GetSize_Proxy(IAgentCharacter *This,long *plWidth,long *plHeight);
+  void __RPC_STUB IAgentCharacter_GetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_GetName_Proxy(IAgentCharacter *This,BSTR *pbszName);
+  void __RPC_STUB IAgentCharacter_GetName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_GetDescription_Proxy(IAgentCharacter *This,BSTR *pbszDescription);
+  void __RPC_STUB IAgentCharacter_GetDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_GetTTSSpeed_Proxy(IAgentCharacter *This,long *pdwSpeed);
+  void __RPC_STUB IAgentCharacter_GetTTSSpeed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_GetTTSPitch_Proxy(IAgentCharacter *This,short *pwPitch);
+  void __RPC_STUB IAgentCharacter_GetTTSPitch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_Activate_Proxy(IAgentCharacter *This,short sState);
+  void __RPC_STUB IAgentCharacter_Activate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_SetIdleOn_Proxy(IAgentCharacter *This,long bOn);
+  void __RPC_STUB IAgentCharacter_SetIdleOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_GetIdleOn_Proxy(IAgentCharacter *This,long *pbOn);
+  void __RPC_STUB IAgentCharacter_GetIdleOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_Prepare_Proxy(IAgentCharacter *This,long dwType,BSTR bszName,long bQueue,long *pdwReqID);
+  void __RPC_STUB IAgentCharacter_Prepare_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_Play_Proxy(IAgentCharacter *This,BSTR bszAnimation,long *pdwReqID);
+  void __RPC_STUB IAgentCharacter_Play_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_Stop_Proxy(IAgentCharacter *This,long dwReqID);
+  void __RPC_STUB IAgentCharacter_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_StopAll_Proxy(IAgentCharacter *This,long lTypes);
+  void __RPC_STUB IAgentCharacter_StopAll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_Wait_Proxy(IAgentCharacter *This,long dwReqID,long *pdwReqID);
+  void __RPC_STUB IAgentCharacter_Wait_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_Interrupt_Proxy(IAgentCharacter *This,long dwReqID,long *pdwReqID);
+  void __RPC_STUB IAgentCharacter_Interrupt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_Show_Proxy(IAgentCharacter *This,long bFast,long *pdwReqID);
+  void __RPC_STUB IAgentCharacter_Show_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_Hide_Proxy(IAgentCharacter *This,long bFast,long *pdwReqID);
+  void __RPC_STUB IAgentCharacter_Hide_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_Speak_Proxy(IAgentCharacter *This,BSTR bszText,BSTR bszUrl,long *pdwReqID);
+  void __RPC_STUB IAgentCharacter_Speak_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_MoveTo_Proxy(IAgentCharacter *This,short x,short y,long lSpeed,long *pdwReqID);
+  void __RPC_STUB IAgentCharacter_MoveTo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_GestureAt_Proxy(IAgentCharacter *This,short x,short y,long *pdwReqID);
+  void __RPC_STUB IAgentCharacter_GestureAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_GetMoveCause_Proxy(IAgentCharacter *This,long *pdwCause);
+  void __RPC_STUB IAgentCharacter_GetMoveCause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_GetVisibilityCause_Proxy(IAgentCharacter *This,long *pdwCause);
+  void __RPC_STUB IAgentCharacter_GetVisibilityCause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_HasOtherClients_Proxy(IAgentCharacter *This,long *plNumOtherClients);
+  void __RPC_STUB IAgentCharacter_HasOtherClients_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_SetSoundEffectsOn_Proxy(IAgentCharacter *This,long bOn);
+  void __RPC_STUB IAgentCharacter_SetSoundEffectsOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_GetSoundEffectsOn_Proxy(IAgentCharacter *This,long *pbOn);
+  void __RPC_STUB IAgentCharacter_GetSoundEffectsOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_SetName_Proxy(IAgentCharacter *This,BSTR bszName);
+  void __RPC_STUB IAgentCharacter_SetName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_SetDescription_Proxy(IAgentCharacter *This,BSTR bszDescription);
+  void __RPC_STUB IAgentCharacter_SetDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacter_GetExtraData_Proxy(IAgentCharacter *This,BSTR *pbszExtraData);
+  void __RPC_STUB IAgentCharacter_GetExtraData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentCharacterEx_INTERFACE_DEFINED__
+#define __IAgentCharacterEx_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentCharacterEx;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentCharacterEx : public IAgentCharacter {
+  public:
+    virtual HRESULT WINAPI ShowPopupMenu(short x,short y) = 0;
+    virtual HRESULT WINAPI SetAutoPopupMenu(long bAutoPopupMenu) = 0;
+    virtual HRESULT WINAPI GetAutoPopupMenu(long *pbAutoPopupMenu) = 0;
+    virtual HRESULT WINAPI GetHelpFileName(BSTR *pbszName) = 0;
+    virtual HRESULT WINAPI SetHelpFileName(BSTR bszName) = 0;
+    virtual HRESULT WINAPI SetHelpModeOn(long bHelpModeOn) = 0;
+    virtual HRESULT WINAPI GetHelpModeOn(long *pbHelpModeOn) = 0;
+    virtual HRESULT WINAPI SetHelpContextID(long ulID) = 0;
+    virtual HRESULT WINAPI GetHelpContextID(long *pulID) = 0;
+    virtual HRESULT WINAPI GetActive(short *psState) = 0;
+    virtual HRESULT WINAPI Listen(long bListen) = 0;
+    virtual HRESULT WINAPI SetLanguageID(long langid) = 0;
+    virtual HRESULT WINAPI GetLanguageID(long *plangid) = 0;
+    virtual HRESULT WINAPI GetTTSModeID(BSTR *pbszModeID) = 0;
+    virtual HRESULT WINAPI SetTTSModeID(BSTR bszModeID) = 0;
+    virtual HRESULT WINAPI GetSRModeID(BSTR *pbszModeID) = 0;
+    virtual HRESULT WINAPI SetSRModeID(BSTR bszModeID) = 0;
+    virtual HRESULT WINAPI GetGUID(BSTR *pbszID) = 0;
+    virtual HRESULT WINAPI GetOriginalSize(long *plWidth,long *plHeight) = 0;
+    virtual HRESULT WINAPI Think(BSTR bszText,long *pdwReqID) = 0;
+    virtual HRESULT WINAPI GetVersion(short *psMajor,short *psMinor) = 0;
+    virtual HRESULT WINAPI GetAnimationNames(IUnknown **punkEnum) = 0;
+    virtual HRESULT WINAPI GetSRStatus(long *plStatus) = 0;
+  };
+#else
+  typedef struct IAgentCharacterExVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentCharacterEx *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentCharacterEx *This);
+      ULONG (WINAPI *Release)(IAgentCharacterEx *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentCharacterEx *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentCharacterEx *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentCharacterEx *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentCharacterEx *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *GetVisible)(IAgentCharacterEx *This,long *pbVisible);
+      HRESULT (WINAPI *SetPosition)(IAgentCharacterEx *This,long lLeft,long lTop);
+      HRESULT (WINAPI *GetPosition)(IAgentCharacterEx *This,long *plLeft,long *plTop);
+      HRESULT (WINAPI *SetSize)(IAgentCharacterEx *This,long lWidth,long lHeight);
+      HRESULT (WINAPI *GetSize)(IAgentCharacterEx *This,long *plWidth,long *plHeight);
+      HRESULT (WINAPI *GetName)(IAgentCharacterEx *This,BSTR *pbszName);
+      HRESULT (WINAPI *GetDescription)(IAgentCharacterEx *This,BSTR *pbszDescription);
+      HRESULT (WINAPI *GetTTSSpeed)(IAgentCharacterEx *This,long *pdwSpeed);
+      HRESULT (WINAPI *GetTTSPitch)(IAgentCharacterEx *This,short *pwPitch);
+      HRESULT (WINAPI *Activate)(IAgentCharacterEx *This,short sState);
+      HRESULT (WINAPI *SetIdleOn)(IAgentCharacterEx *This,long bOn);
+      HRESULT (WINAPI *GetIdleOn)(IAgentCharacterEx *This,long *pbOn);
+      HRESULT (WINAPI *Prepare)(IAgentCharacterEx *This,long dwType,BSTR bszName,long bQueue,long *pdwReqID);
+      HRESULT (WINAPI *Play)(IAgentCharacterEx *This,BSTR bszAnimation,long *pdwReqID);
+      HRESULT (WINAPI *Stop)(IAgentCharacterEx *This,long dwReqID);
+      HRESULT (WINAPI *StopAll)(IAgentCharacterEx *This,long lTypes);
+      HRESULT (WINAPI *Wait)(IAgentCharacterEx *This,long dwReqID,long *pdwReqID);
+      HRESULT (WINAPI *Interrupt)(IAgentCharacterEx *This,long dwReqID,long *pdwReqID);
+      HRESULT (WINAPI *Show)(IAgentCharacterEx *This,long bFast,long *pdwReqID);
+      HRESULT (WINAPI *Hide)(IAgentCharacterEx *This,long bFast,long *pdwReqID);
+      HRESULT (WINAPI *Speak)(IAgentCharacterEx *This,BSTR bszText,BSTR bszUrl,long *pdwReqID);
+      HRESULT (WINAPI *MoveTo)(IAgentCharacterEx *This,short x,short y,long lSpeed,long *pdwReqID);
+      HRESULT (WINAPI *GestureAt)(IAgentCharacterEx *This,short x,short y,long *pdwReqID);
+      HRESULT (WINAPI *GetMoveCause)(IAgentCharacterEx *This,long *pdwCause);
+      HRESULT (WINAPI *GetVisibilityCause)(IAgentCharacterEx *This,long *pdwCause);
+      HRESULT (WINAPI *HasOtherClients)(IAgentCharacterEx *This,long *plNumOtherClients);
+      HRESULT (WINAPI *SetSoundEffectsOn)(IAgentCharacterEx *This,long bOn);
+      HRESULT (WINAPI *GetSoundEffectsOn)(IAgentCharacterEx *This,long *pbOn);
+      HRESULT (WINAPI *SetName)(IAgentCharacterEx *This,BSTR bszName);
+      HRESULT (WINAPI *SetDescription)(IAgentCharacterEx *This,BSTR bszDescription);
+      HRESULT (WINAPI *GetExtraData)(IAgentCharacterEx *This,BSTR *pbszExtraData);
+      HRESULT (WINAPI *ShowPopupMenu)(IAgentCharacterEx *This,short x,short y);
+      HRESULT (WINAPI *SetAutoPopupMenu)(IAgentCharacterEx *This,long bAutoPopupMenu);
+      HRESULT (WINAPI *GetAutoPopupMenu)(IAgentCharacterEx *This,long *pbAutoPopupMenu);
+      HRESULT (WINAPI *GetHelpFileName)(IAgentCharacterEx *This,BSTR *pbszName);
+      HRESULT (WINAPI *SetHelpFileName)(IAgentCharacterEx *This,BSTR bszName);
+      HRESULT (WINAPI *SetHelpModeOn)(IAgentCharacterEx *This,long bHelpModeOn);
+      HRESULT (WINAPI *GetHelpModeOn)(IAgentCharacterEx *This,long *pbHelpModeOn);
+      HRESULT (WINAPI *SetHelpContextID)(IAgentCharacterEx *This,long ulID);
+      HRESULT (WINAPI *GetHelpContextID)(IAgentCharacterEx *This,long *pulID);
+      HRESULT (WINAPI *GetActive)(IAgentCharacterEx *This,short *psState);
+      HRESULT (WINAPI *Listen)(IAgentCharacterEx *This,long bListen);
+      HRESULT (WINAPI *SetLanguageID)(IAgentCharacterEx *This,long langid);
+      HRESULT (WINAPI *GetLanguageID)(IAgentCharacterEx *This,long *plangid);
+      HRESULT (WINAPI *GetTTSModeID)(IAgentCharacterEx *This,BSTR *pbszModeID);
+      HRESULT (WINAPI *SetTTSModeID)(IAgentCharacterEx *This,BSTR bszModeID);
+      HRESULT (WINAPI *GetSRModeID)(IAgentCharacterEx *This,BSTR *pbszModeID);
+      HRESULT (WINAPI *SetSRModeID)(IAgentCharacterEx *This,BSTR bszModeID);
+      HRESULT (WINAPI *GetGUID)(IAgentCharacterEx *This,BSTR *pbszID);
+      HRESULT (WINAPI *GetOriginalSize)(IAgentCharacterEx *This,long *plWidth,long *plHeight);
+      HRESULT (WINAPI *Think)(IAgentCharacterEx *This,BSTR bszText,long *pdwReqID);
+      HRESULT (WINAPI *GetVersion)(IAgentCharacterEx *This,short *psMajor,short *psMinor);
+      HRESULT (WINAPI *GetAnimationNames)(IAgentCharacterEx *This,IUnknown **punkEnum);
+      HRESULT (WINAPI *GetSRStatus)(IAgentCharacterEx *This,long *plStatus);
+    END_INTERFACE
+  } IAgentCharacterExVtbl;
+  struct IAgentCharacterEx {
+    CONST_VTBL struct IAgentCharacterExVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentCharacterEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentCharacterEx_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentCharacterEx_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentCharacterEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentCharacterEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentCharacterEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentCharacterEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentCharacterEx_GetVisible(This,pbVisible) (This)->lpVtbl->GetVisible(This,pbVisible)
+#define IAgentCharacterEx_SetPosition(This,lLeft,lTop) (This)->lpVtbl->SetPosition(This,lLeft,lTop)
+#define IAgentCharacterEx_GetPosition(This,plLeft,plTop) (This)->lpVtbl->GetPosition(This,plLeft,plTop)
+#define IAgentCharacterEx_SetSize(This,lWidth,lHeight) (This)->lpVtbl->SetSize(This,lWidth,lHeight)
+#define IAgentCharacterEx_GetSize(This,plWidth,plHeight) (This)->lpVtbl->GetSize(This,plWidth,plHeight)
+#define IAgentCharacterEx_GetName(This,pbszName) (This)->lpVtbl->GetName(This,pbszName)
+#define IAgentCharacterEx_GetDescription(This,pbszDescription) (This)->lpVtbl->GetDescription(This,pbszDescription)
+#define IAgentCharacterEx_GetTTSSpeed(This,pdwSpeed) (This)->lpVtbl->GetTTSSpeed(This,pdwSpeed)
+#define IAgentCharacterEx_GetTTSPitch(This,pwPitch) (This)->lpVtbl->GetTTSPitch(This,pwPitch)
+#define IAgentCharacterEx_Activate(This,sState) (This)->lpVtbl->Activate(This,sState)
+#define IAgentCharacterEx_SetIdleOn(This,bOn) (This)->lpVtbl->SetIdleOn(This,bOn)
+#define IAgentCharacterEx_GetIdleOn(This,pbOn) (This)->lpVtbl->GetIdleOn(This,pbOn)
+#define IAgentCharacterEx_Prepare(This,dwType,bszName,bQueue,pdwReqID) (This)->lpVtbl->Prepare(This,dwType,bszName,bQueue,pdwReqID)
+#define IAgentCharacterEx_Play(This,bszAnimation,pdwReqID) (This)->lpVtbl->Play(This,bszAnimation,pdwReqID)
+#define IAgentCharacterEx_Stop(This,dwReqID) (This)->lpVtbl->Stop(This,dwReqID)
+#define IAgentCharacterEx_StopAll(This,lTypes) (This)->lpVtbl->StopAll(This,lTypes)
+#define IAgentCharacterEx_Wait(This,dwReqID,pdwReqID) (This)->lpVtbl->Wait(This,dwReqID,pdwReqID)
+#define IAgentCharacterEx_Interrupt(This,dwReqID,pdwReqID) (This)->lpVtbl->Interrupt(This,dwReqID,pdwReqID)
+#define IAgentCharacterEx_Show(This,bFast,pdwReqID) (This)->lpVtbl->Show(This,bFast,pdwReqID)
+#define IAgentCharacterEx_Hide(This,bFast,pdwReqID) (This)->lpVtbl->Hide(This,bFast,pdwReqID)
+#define IAgentCharacterEx_Speak(This,bszText,bszUrl,pdwReqID) (This)->lpVtbl->Speak(This,bszText,bszUrl,pdwReqID)
+#define IAgentCharacterEx_MoveTo(This,x,y,lSpeed,pdwReqID) (This)->lpVtbl->MoveTo(This,x,y,lSpeed,pdwReqID)
+#define IAgentCharacterEx_GestureAt(This,x,y,pdwReqID) (This)->lpVtbl->GestureAt(This,x,y,pdwReqID)
+#define IAgentCharacterEx_GetMoveCause(This,pdwCause) (This)->lpVtbl->GetMoveCause(This,pdwCause)
+#define IAgentCharacterEx_GetVisibilityCause(This,pdwCause) (This)->lpVtbl->GetVisibilityCause(This,pdwCause)
+#define IAgentCharacterEx_HasOtherClients(This,plNumOtherClients) (This)->lpVtbl->HasOtherClients(This,plNumOtherClients)
+#define IAgentCharacterEx_SetSoundEffectsOn(This,bOn) (This)->lpVtbl->SetSoundEffectsOn(This,bOn)
+#define IAgentCharacterEx_GetSoundEffectsOn(This,pbOn) (This)->lpVtbl->GetSoundEffectsOn(This,pbOn)
+#define IAgentCharacterEx_SetName(This,bszName) (This)->lpVtbl->SetName(This,bszName)
+#define IAgentCharacterEx_SetDescription(This,bszDescription) (This)->lpVtbl->SetDescription(This,bszDescription)
+#define IAgentCharacterEx_GetExtraData(This,pbszExtraData) (This)->lpVtbl->GetExtraData(This,pbszExtraData)
+#define IAgentCharacterEx_ShowPopupMenu(This,x,y) (This)->lpVtbl->ShowPopupMenu(This,x,y)
+#define IAgentCharacterEx_SetAutoPopupMenu(This,bAutoPopupMenu) (This)->lpVtbl->SetAutoPopupMenu(This,bAutoPopupMenu)
+#define IAgentCharacterEx_GetAutoPopupMenu(This,pbAutoPopupMenu) (This)->lpVtbl->GetAutoPopupMenu(This,pbAutoPopupMenu)
+#define IAgentCharacterEx_GetHelpFileName(This,pbszName) (This)->lpVtbl->GetHelpFileName(This,pbszName)
+#define IAgentCharacterEx_SetHelpFileName(This,bszName) (This)->lpVtbl->SetHelpFileName(This,bszName)
+#define IAgentCharacterEx_SetHelpModeOn(This,bHelpModeOn) (This)->lpVtbl->SetHelpModeOn(This,bHelpModeOn)
+#define IAgentCharacterEx_GetHelpModeOn(This,pbHelpModeOn) (This)->lpVtbl->GetHelpModeOn(This,pbHelpModeOn)
+#define IAgentCharacterEx_SetHelpContextID(This,ulID) (This)->lpVtbl->SetHelpContextID(This,ulID)
+#define IAgentCharacterEx_GetHelpContextID(This,pulID) (This)->lpVtbl->GetHelpContextID(This,pulID)
+#define IAgentCharacterEx_GetActive(This,psState) (This)->lpVtbl->GetActive(This,psState)
+#define IAgentCharacterEx_Listen(This,bListen) (This)->lpVtbl->Listen(This,bListen)
+#define IAgentCharacterEx_SetLanguageID(This,langid) (This)->lpVtbl->SetLanguageID(This,langid)
+#define IAgentCharacterEx_GetLanguageID(This,plangid) (This)->lpVtbl->GetLanguageID(This,plangid)
+#define IAgentCharacterEx_GetTTSModeID(This,pbszModeID) (This)->lpVtbl->GetTTSModeID(This,pbszModeID)
+#define IAgentCharacterEx_SetTTSModeID(This,bszModeID) (This)->lpVtbl->SetTTSModeID(This,bszModeID)
+#define IAgentCharacterEx_GetSRModeID(This,pbszModeID) (This)->lpVtbl->GetSRModeID(This,pbszModeID)
+#define IAgentCharacterEx_SetSRModeID(This,bszModeID) (This)->lpVtbl->SetSRModeID(This,bszModeID)
+#define IAgentCharacterEx_GetGUID(This,pbszID) (This)->lpVtbl->GetGUID(This,pbszID)
+#define IAgentCharacterEx_GetOriginalSize(This,plWidth,plHeight) (This)->lpVtbl->GetOriginalSize(This,plWidth,plHeight)
+#define IAgentCharacterEx_Think(This,bszText,pdwReqID) (This)->lpVtbl->Think(This,bszText,pdwReqID)
+#define IAgentCharacterEx_GetVersion(This,psMajor,psMinor) (This)->lpVtbl->GetVersion(This,psMajor,psMinor)
+#define IAgentCharacterEx_GetAnimationNames(This,punkEnum) (This)->lpVtbl->GetAnimationNames(This,punkEnum)
+#define IAgentCharacterEx_GetSRStatus(This,plStatus) (This)->lpVtbl->GetSRStatus(This,plStatus)
+#endif
+#endif
+  HRESULT WINAPI IAgentCharacterEx_ShowPopupMenu_Proxy(IAgentCharacterEx *This,short x,short y);
+  void __RPC_STUB IAgentCharacterEx_ShowPopupMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_SetAutoPopupMenu_Proxy(IAgentCharacterEx *This,long bAutoPopupMenu);
+  void __RPC_STUB IAgentCharacterEx_SetAutoPopupMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_GetAutoPopupMenu_Proxy(IAgentCharacterEx *This,long *pbAutoPopupMenu);
+  void __RPC_STUB IAgentCharacterEx_GetAutoPopupMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_GetHelpFileName_Proxy(IAgentCharacterEx *This,BSTR *pbszName);
+  void __RPC_STUB IAgentCharacterEx_GetHelpFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_SetHelpFileName_Proxy(IAgentCharacterEx *This,BSTR bszName);
+  void __RPC_STUB IAgentCharacterEx_SetHelpFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_SetHelpModeOn_Proxy(IAgentCharacterEx *This,long bHelpModeOn);
+  void __RPC_STUB IAgentCharacterEx_SetHelpModeOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_GetHelpModeOn_Proxy(IAgentCharacterEx *This,long *pbHelpModeOn);
+  void __RPC_STUB IAgentCharacterEx_GetHelpModeOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_SetHelpContextID_Proxy(IAgentCharacterEx *This,long ulID);
+  void __RPC_STUB IAgentCharacterEx_SetHelpContextID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_GetHelpContextID_Proxy(IAgentCharacterEx *This,long *pulID);
+  void __RPC_STUB IAgentCharacterEx_GetHelpContextID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_GetActive_Proxy(IAgentCharacterEx *This,short *psState);
+  void __RPC_STUB IAgentCharacterEx_GetActive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_Listen_Proxy(IAgentCharacterEx *This,long bListen);
+  void __RPC_STUB IAgentCharacterEx_Listen_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_SetLanguageID_Proxy(IAgentCharacterEx *This,long langid);
+  void __RPC_STUB IAgentCharacterEx_SetLanguageID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_GetLanguageID_Proxy(IAgentCharacterEx *This,long *plangid);
+  void __RPC_STUB IAgentCharacterEx_GetLanguageID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_GetTTSModeID_Proxy(IAgentCharacterEx *This,BSTR *pbszModeID);
+  void __RPC_STUB IAgentCharacterEx_GetTTSModeID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_SetTTSModeID_Proxy(IAgentCharacterEx *This,BSTR bszModeID);
+  void __RPC_STUB IAgentCharacterEx_SetTTSModeID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_GetSRModeID_Proxy(IAgentCharacterEx *This,BSTR *pbszModeID);
+  void __RPC_STUB IAgentCharacterEx_GetSRModeID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_SetSRModeID_Proxy(IAgentCharacterEx *This,BSTR bszModeID);
+  void __RPC_STUB IAgentCharacterEx_SetSRModeID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_GetGUID_Proxy(IAgentCharacterEx *This,BSTR *pbszID);
+  void __RPC_STUB IAgentCharacterEx_GetGUID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_GetOriginalSize_Proxy(IAgentCharacterEx *This,long *plWidth,long *plHeight);
+  void __RPC_STUB IAgentCharacterEx_GetOriginalSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_Think_Proxy(IAgentCharacterEx *This,BSTR bszText,long *pdwReqID);
+  void __RPC_STUB IAgentCharacterEx_Think_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_GetVersion_Proxy(IAgentCharacterEx *This,short *psMajor,short *psMinor);
+  void __RPC_STUB IAgentCharacterEx_GetVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_GetAnimationNames_Proxy(IAgentCharacterEx *This,IUnknown **punkEnum);
+  void __RPC_STUB IAgentCharacterEx_GetAnimationNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentCharacterEx_GetSRStatus_Proxy(IAgentCharacterEx *This,long *plStatus);
+  void __RPC_STUB IAgentCharacterEx_GetSRStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgent_INTERFACE_DEFINED__
+#define __IAgent_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgent;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgent : public IDispatch {
+  public:
+    virtual HRESULT WINAPI Load(VARIANT vLoadKey,long *pdwCharID,long *pdwReqID) = 0;
+    virtual HRESULT WINAPI Unload(long dwCharID) = 0;
+    virtual HRESULT WINAPI Register(IUnknown *punkNotifySink,long *pdwSinkID) = 0;
+    virtual HRESULT WINAPI Unregister(long dwSinkID) = 0;
+    virtual HRESULT WINAPI GetCharacter(long dwCharID,IDispatch **ppunkCharacter) = 0;
+    virtual HRESULT WINAPI GetSuspended(long *pbSuspended) = 0;
+  };
+#else
+  typedef struct IAgentVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgent *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgent *This);
+      ULONG (WINAPI *Release)(IAgent *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgent *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *Load)(IAgent *This,VARIANT vLoadKey,long *pdwCharID,long *pdwReqID);
+      HRESULT (WINAPI *Unload)(IAgent *This,long dwCharID);
+      HRESULT (WINAPI *Register)(IAgent *This,IUnknown *punkNotifySink,long *pdwSinkID);
+      HRESULT (WINAPI *Unregister)(IAgent *This,long dwSinkID);
+      HRESULT (WINAPI *GetCharacter)(IAgent *This,long dwCharID,IDispatch **ppunkCharacter);
+      HRESULT (WINAPI *GetSuspended)(IAgent *This,long *pbSuspended);
+    END_INTERFACE
+  } IAgentVtbl;
+  struct IAgent {
+    CONST_VTBL struct IAgentVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgent_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgent_Release(This) (This)->lpVtbl->Release(This)
+#define IAgent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgent_Load(This,vLoadKey,pdwCharID,pdwReqID) (This)->lpVtbl->Load(This,vLoadKey,pdwCharID,pdwReqID)
+#define IAgent_Unload(This,dwCharID) (This)->lpVtbl->Unload(This,dwCharID)
+#define IAgent_Register(This,punkNotifySink,pdwSinkID) (This)->lpVtbl->Register(This,punkNotifySink,pdwSinkID)
+#define IAgent_Unregister(This,dwSinkID) (This)->lpVtbl->Unregister(This,dwSinkID)
+#define IAgent_GetCharacter(This,dwCharID,ppunkCharacter) (This)->lpVtbl->GetCharacter(This,dwCharID,ppunkCharacter)
+#define IAgent_GetSuspended(This,pbSuspended) (This)->lpVtbl->GetSuspended(This,pbSuspended)
+#endif
+#endif
+  HRESULT WINAPI IAgent_Load_Proxy(IAgent *This,VARIANT vLoadKey,long *pdwCharID,long *pdwReqID);
+  void __RPC_STUB IAgent_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgent_Unload_Proxy(IAgent *This,long dwCharID);
+  void __RPC_STUB IAgent_Unload_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgent_Register_Proxy(IAgent *This,IUnknown *punkNotifySink,long *pdwSinkID);
+  void __RPC_STUB IAgent_Register_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgent_Unregister_Proxy(IAgent *This,long dwSinkID);
+  void __RPC_STUB IAgent_Unregister_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgent_GetCharacter_Proxy(IAgent *This,long dwCharID,IDispatch **ppunkCharacter);
+  void __RPC_STUB IAgent_GetCharacter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgent_GetSuspended_Proxy(IAgent *This,long *pbSuspended);
+  void __RPC_STUB IAgent_GetSuspended_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentEx_INTERFACE_DEFINED__
+#define __IAgentEx_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentEx;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentEx : public IAgent {
+  public:
+    virtual HRESULT WINAPI GetCharacterEx(long dwCharID,IAgentCharacterEx **ppCharacterEx) = 0;
+    virtual HRESULT WINAPI GetVersion(short *psMajor,short *psMinor) = 0;
+    virtual HRESULT WINAPI ShowDefaultCharacterProperties(short x,short y,long bUseDefaultPosition) = 0;
+  };
+#else
+  typedef struct IAgentExVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentEx *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentEx *This);
+      ULONG (WINAPI *Release)(IAgentEx *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentEx *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentEx *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentEx *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentEx *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *Load)(IAgentEx *This,VARIANT vLoadKey,long *pdwCharID,long *pdwReqID);
+      HRESULT (WINAPI *Unload)(IAgentEx *This,long dwCharID);
+      HRESULT (WINAPI *Register)(IAgentEx *This,IUnknown *punkNotifySink,long *pdwSinkID);
+      HRESULT (WINAPI *Unregister)(IAgentEx *This,long dwSinkID);
+      HRESULT (WINAPI *GetCharacter)(IAgentEx *This,long dwCharID,IDispatch **ppunkCharacter);
+      HRESULT (WINAPI *GetSuspended)(IAgentEx *This,long *pbSuspended);
+      HRESULT (WINAPI *GetCharacterEx)(IAgentEx *This,long dwCharID,IAgentCharacterEx **ppCharacterEx);
+      HRESULT (WINAPI *GetVersion)(IAgentEx *This,short *psMajor,short *psMinor);
+      HRESULT (WINAPI *ShowDefaultCharacterProperties)(IAgentEx *This,short x,short y,long bUseDefaultPosition);
+    END_INTERFACE
+  } IAgentExVtbl;
+  struct IAgentEx {
+    CONST_VTBL struct IAgentExVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentEx_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentEx_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentEx_Load(This,vLoadKey,pdwCharID,pdwReqID) (This)->lpVtbl->Load(This,vLoadKey,pdwCharID,pdwReqID)
+#define IAgentEx_Unload(This,dwCharID) (This)->lpVtbl->Unload(This,dwCharID)
+#define IAgentEx_Register(This,punkNotifySink,pdwSinkID) (This)->lpVtbl->Register(This,punkNotifySink,pdwSinkID)
+#define IAgentEx_Unregister(This,dwSinkID) (This)->lpVtbl->Unregister(This,dwSinkID)
+#define IAgentEx_GetCharacter(This,dwCharID,ppunkCharacter) (This)->lpVtbl->GetCharacter(This,dwCharID,ppunkCharacter)
+#define IAgentEx_GetSuspended(This,pbSuspended) (This)->lpVtbl->GetSuspended(This,pbSuspended)
+#define IAgentEx_GetCharacterEx(This,dwCharID,ppCharacterEx) (This)->lpVtbl->GetCharacterEx(This,dwCharID,ppCharacterEx)
+#define IAgentEx_GetVersion(This,psMajor,psMinor) (This)->lpVtbl->GetVersion(This,psMajor,psMinor)
+#define IAgentEx_ShowDefaultCharacterProperties(This,x,y,bUseDefaultPosition) (This)->lpVtbl->ShowDefaultCharacterProperties(This,x,y,bUseDefaultPosition)
+#endif
+#endif
+  HRESULT WINAPI IAgentEx_GetCharacterEx_Proxy(IAgentEx *This,long dwCharID,IAgentCharacterEx **ppCharacterEx);
+  void __RPC_STUB IAgentEx_GetCharacterEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentEx_GetVersion_Proxy(IAgentEx *This,short *psMajor,short *psMinor);
+  void __RPC_STUB IAgentEx_GetVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentEx_ShowDefaultCharacterProperties_Proxy(IAgentEx *This,short x,short y,long bUseDefaultPosition);
+  void __RPC_STUB IAgentEx_ShowDefaultCharacterProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentNotifySink_INTERFACE_DEFINED__
+#define __IAgentNotifySink_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentNotifySink;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentNotifySink : public IDispatch {
+  public:
+    virtual HRESULT WINAPI Command(long dwCommandID,IUnknown *punkUserInput) = 0;
+    virtual HRESULT WINAPI ActivateInputState(long dwCharID,long bActivated) = 0;
+    virtual HRESULT WINAPI Restart(void) = 0;
+    virtual HRESULT WINAPI Shutdown(void) = 0;
+    virtual HRESULT WINAPI VisibleState(long dwCharID,long bVisible,long dwCause) = 0;
+    virtual HRESULT WINAPI Click(long dwCharID,short fwKeys,long x,long y) = 0;
+    virtual HRESULT WINAPI DblClick(long dwCharID,short fwKeys,long x,long y) = 0;
+    virtual HRESULT WINAPI DragStart(long dwCharID,short fwKeys,long x,long y) = 0;
+    virtual HRESULT WINAPI DragComplete(long dwCharID,short fwKeys,long x,long y) = 0;
+    virtual HRESULT WINAPI RequestStart(long dwRequestID) = 0;
+    virtual HRESULT WINAPI RequestComplete(long dwRequestID,long hrStatus) = 0;
+    virtual HRESULT WINAPI BookMark(long dwBookMarkID) = 0;
+    virtual HRESULT WINAPI Idle(long dwCharID,long bStart) = 0;
+    virtual HRESULT WINAPI Move(long dwCharID,long x,long y,long dwCause) = 0;
+    virtual HRESULT WINAPI Size(long dwCharID,long lWidth,long lHeight) = 0;
+    virtual HRESULT WINAPI BalloonVisibleState(long dwCharID,long bVisible) = 0;
+  };
+#else
+  typedef struct IAgentNotifySinkVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentNotifySink *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentNotifySink *This);
+      ULONG (WINAPI *Release)(IAgentNotifySink *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentNotifySink *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentNotifySink *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentNotifySink *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentNotifySink *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *Command)(IAgentNotifySink *This,long dwCommandID,IUnknown *punkUserInput);
+      HRESULT (WINAPI *ActivateInputState)(IAgentNotifySink *This,long dwCharID,long bActivated);
+      HRESULT (WINAPI *Restart)(IAgentNotifySink *This);
+      HRESULT (WINAPI *Shutdown)(IAgentNotifySink *This);
+      HRESULT (WINAPI *VisibleState)(IAgentNotifySink *This,long dwCharID,long bVisible,long dwCause);
+      HRESULT (WINAPI *Click)(IAgentNotifySink *This,long dwCharID,short fwKeys,long x,long y);
+      HRESULT (WINAPI *DblClick)(IAgentNotifySink *This,long dwCharID,short fwKeys,long x,long y);
+      HRESULT (WINAPI *DragStart)(IAgentNotifySink *This,long dwCharID,short fwKeys,long x,long y);
+      HRESULT (WINAPI *DragComplete)(IAgentNotifySink *This,long dwCharID,short fwKeys,long x,long y);
+      HRESULT (WINAPI *RequestStart)(IAgentNotifySink *This,long dwRequestID);
+      HRESULT (WINAPI *RequestComplete)(IAgentNotifySink *This,long dwRequestID,long hrStatus);
+      HRESULT (WINAPI *BookMark)(IAgentNotifySink *This,long dwBookMarkID);
+      HRESULT (WINAPI *Idle)(IAgentNotifySink *This,long dwCharID,long bStart);
+      HRESULT (WINAPI *Move)(IAgentNotifySink *This,long dwCharID,long x,long y,long dwCause);
+      HRESULT (WINAPI *Size)(IAgentNotifySink *This,long dwCharID,long lWidth,long lHeight);
+      HRESULT (WINAPI *BalloonVisibleState)(IAgentNotifySink *This,long dwCharID,long bVisible);
+    END_INTERFACE
+  } IAgentNotifySinkVtbl;
+  struct IAgentNotifySink {
+    CONST_VTBL struct IAgentNotifySinkVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentNotifySink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentNotifySink_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentNotifySink_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentNotifySink_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentNotifySink_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentNotifySink_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentNotifySink_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentNotifySink_Command(This,dwCommandID,punkUserInput) (This)->lpVtbl->Command(This,dwCommandID,punkUserInput)
+#define IAgentNotifySink_ActivateInputState(This,dwCharID,bActivated) (This)->lpVtbl->ActivateInputState(This,dwCharID,bActivated)
+#define IAgentNotifySink_Restart(This) (This)->lpVtbl->Restart(This)
+#define IAgentNotifySink_Shutdown(This) (This)->lpVtbl->Shutdown(This)
+#define IAgentNotifySink_VisibleState(This,dwCharID,bVisible,dwCause) (This)->lpVtbl->VisibleState(This,dwCharID,bVisible,dwCause)
+#define IAgentNotifySink_Click(This,dwCharID,fwKeys,x,y) (This)->lpVtbl->Click(This,dwCharID,fwKeys,x,y)
+#define IAgentNotifySink_DblClick(This,dwCharID,fwKeys,x,y) (This)->lpVtbl->DblClick(This,dwCharID,fwKeys,x,y)
+#define IAgentNotifySink_DragStart(This,dwCharID,fwKeys,x,y) (This)->lpVtbl->DragStart(This,dwCharID,fwKeys,x,y)
+#define IAgentNotifySink_DragComplete(This,dwCharID,fwKeys,x,y) (This)->lpVtbl->DragComplete(This,dwCharID,fwKeys,x,y)
+#define IAgentNotifySink_RequestStart(This,dwRequestID) (This)->lpVtbl->RequestStart(This,dwRequestID)
+#define IAgentNotifySink_RequestComplete(This,dwRequestID,hrStatus) (This)->lpVtbl->RequestComplete(This,dwRequestID,hrStatus)
+#define IAgentNotifySink_BookMark(This,dwBookMarkID) (This)->lpVtbl->BookMark(This,dwBookMarkID)
+#define IAgentNotifySink_Idle(This,dwCharID,bStart) (This)->lpVtbl->Idle(This,dwCharID,bStart)
+#define IAgentNotifySink_Move(This,dwCharID,x,y,dwCause) (This)->lpVtbl->Move(This,dwCharID,x,y,dwCause)
+#define IAgentNotifySink_Size(This,dwCharID,lWidth,lHeight) (This)->lpVtbl->Size(This,dwCharID,lWidth,lHeight)
+#define IAgentNotifySink_BalloonVisibleState(This,dwCharID,bVisible) (This)->lpVtbl->BalloonVisibleState(This,dwCharID,bVisible)
+#endif
+#endif
+  HRESULT WINAPI IAgentNotifySink_Command_Proxy(IAgentNotifySink *This,long dwCommandID,IUnknown *punkUserInput);
+  void __RPC_STUB IAgentNotifySink_Command_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySink_ActivateInputState_Proxy(IAgentNotifySink *This,long dwCharID,long bActivated);
+  void __RPC_STUB IAgentNotifySink_ActivateInputState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySink_Restart_Proxy(IAgentNotifySink *This);
+  void __RPC_STUB IAgentNotifySink_Restart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySink_Shutdown_Proxy(IAgentNotifySink *This);
+  void __RPC_STUB IAgentNotifySink_Shutdown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySink_VisibleState_Proxy(IAgentNotifySink *This,long dwCharID,long bVisible,long dwCause);
+  void __RPC_STUB IAgentNotifySink_VisibleState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySink_Click_Proxy(IAgentNotifySink *This,long dwCharID,short fwKeys,long x,long y);
+  void __RPC_STUB IAgentNotifySink_Click_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySink_DblClick_Proxy(IAgentNotifySink *This,long dwCharID,short fwKeys,long x,long y);
+  void __RPC_STUB IAgentNotifySink_DblClick_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySink_DragStart_Proxy(IAgentNotifySink *This,long dwCharID,short fwKeys,long x,long y);
+  void __RPC_STUB IAgentNotifySink_DragStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySink_DragComplete_Proxy(IAgentNotifySink *This,long dwCharID,short fwKeys,long x,long y);
+  void __RPC_STUB IAgentNotifySink_DragComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySink_RequestStart_Proxy(IAgentNotifySink *This,long dwRequestID);
+  void __RPC_STUB IAgentNotifySink_RequestStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySink_RequestComplete_Proxy(IAgentNotifySink *This,long dwRequestID,long hrStatus);
+  void __RPC_STUB IAgentNotifySink_RequestComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySink_BookMark_Proxy(IAgentNotifySink *This,long dwBookMarkID);
+  void __RPC_STUB IAgentNotifySink_BookMark_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySink_Idle_Proxy(IAgentNotifySink *This,long dwCharID,long bStart);
+  void __RPC_STUB IAgentNotifySink_Idle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySink_Move_Proxy(IAgentNotifySink *This,long dwCharID,long x,long y,long dwCause);
+  void __RPC_STUB IAgentNotifySink_Move_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySink_Size_Proxy(IAgentNotifySink *This,long dwCharID,long lWidth,long lHeight);
+  void __RPC_STUB IAgentNotifySink_Size_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySink_BalloonVisibleState_Proxy(IAgentNotifySink *This,long dwCharID,long bVisible);
+  void __RPC_STUB IAgentNotifySink_BalloonVisibleState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentNotifySinkEx_INTERFACE_DEFINED__
+#define __IAgentNotifySinkEx_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentNotifySinkEx;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentNotifySinkEx : public IAgentNotifySink {
+  public:
+    virtual HRESULT WINAPI HelpComplete(long dwCharID,long dwCommandID,long dwCause) = 0;
+    virtual HRESULT WINAPI ListeningState(long dwCharID,long bListening,long dwCause) = 0;
+    virtual HRESULT WINAPI DefaultCharacterChange(BSTR bszGUID) = 0;
+    virtual HRESULT WINAPI AgentPropertyChange(void) = 0;
+    virtual HRESULT WINAPI ActiveClientChange(long dwCharID,long lStatus) = 0;
+  };
+#else
+  typedef struct IAgentNotifySinkExVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentNotifySinkEx *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentNotifySinkEx *This);
+      ULONG (WINAPI *Release)(IAgentNotifySinkEx *This);
+      HRESULT (WINAPI *GetTypeInfoCount)(IAgentNotifySinkEx *This,UINT *pctinfo);
+      HRESULT (WINAPI *GetTypeInfo)(IAgentNotifySinkEx *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
+      HRESULT (WINAPI *GetIDsOfNames)(IAgentNotifySinkEx *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
+      HRESULT (WINAPI *Invoke)(IAgentNotifySinkEx *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
+      HRESULT (WINAPI *Command)(IAgentNotifySinkEx *This,long dwCommandID,IUnknown *punkUserInput);
+      HRESULT (WINAPI *ActivateInputState)(IAgentNotifySinkEx *This,long dwCharID,long bActivated);
+      HRESULT (WINAPI *Restart)(IAgentNotifySinkEx *This);
+      HRESULT (WINAPI *Shutdown)(IAgentNotifySinkEx *This);
+      HRESULT (WINAPI *VisibleState)(IAgentNotifySinkEx *This,long dwCharID,long bVisible,long dwCause);
+      HRESULT (WINAPI *Click)(IAgentNotifySinkEx *This,long dwCharID,short fwKeys,long x,long y);
+      HRESULT (WINAPI *DblClick)(IAgentNotifySinkEx *This,long dwCharID,short fwKeys,long x,long y);
+      HRESULT (WINAPI *DragStart)(IAgentNotifySinkEx *This,long dwCharID,short fwKeys,long x,long y);
+      HRESULT (WINAPI *DragComplete)(IAgentNotifySinkEx *This,long dwCharID,short fwKeys,long x,long y);
+      HRESULT (WINAPI *RequestStart)(IAgentNotifySinkEx *This,long dwRequestID);
+      HRESULT (WINAPI *RequestComplete)(IAgentNotifySinkEx *This,long dwRequestID,long hrStatus);
+      HRESULT (WINAPI *BookMark)(IAgentNotifySinkEx *This,long dwBookMarkID);
+      HRESULT (WINAPI *Idle)(IAgentNotifySinkEx *This,long dwCharID,long bStart);
+      HRESULT (WINAPI *Move)(IAgentNotifySinkEx *This,long dwCharID,long x,long y,long dwCause);
+      HRESULT (WINAPI *Size)(IAgentNotifySinkEx *This,long dwCharID,long lWidth,long lHeight);
+      HRESULT (WINAPI *BalloonVisibleState)(IAgentNotifySinkEx *This,long dwCharID,long bVisible);
+      HRESULT (WINAPI *HelpComplete)(IAgentNotifySinkEx *This,long dwCharID,long dwCommandID,long dwCause);
+      HRESULT (WINAPI *ListeningState)(IAgentNotifySinkEx *This,long dwCharID,long bListening,long dwCause);
+      HRESULT (WINAPI *DefaultCharacterChange)(IAgentNotifySinkEx *This,BSTR bszGUID);
+      HRESULT (WINAPI *AgentPropertyChange)(IAgentNotifySinkEx *This);
+      HRESULT (WINAPI *ActiveClientChange)(IAgentNotifySinkEx *This,long dwCharID,long lStatus);
+    END_INTERFACE
+  } IAgentNotifySinkExVtbl;
+  struct IAgentNotifySinkEx {
+    CONST_VTBL struct IAgentNotifySinkExVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentNotifySinkEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentNotifySinkEx_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentNotifySinkEx_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentNotifySinkEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IAgentNotifySinkEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IAgentNotifySinkEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IAgentNotifySinkEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+#define IAgentNotifySinkEx_Command(This,dwCommandID,punkUserInput) (This)->lpVtbl->Command(This,dwCommandID,punkUserInput)
+#define IAgentNotifySinkEx_ActivateInputState(This,dwCharID,bActivated) (This)->lpVtbl->ActivateInputState(This,dwCharID,bActivated)
+#define IAgentNotifySinkEx_Restart(This) (This)->lpVtbl->Restart(This)
+#define IAgentNotifySinkEx_Shutdown(This) (This)->lpVtbl->Shutdown(This)
+#define IAgentNotifySinkEx_VisibleState(This,dwCharID,bVisible,dwCause) (This)->lpVtbl->VisibleState(This,dwCharID,bVisible,dwCause)
+#define IAgentNotifySinkEx_Click(This,dwCharID,fwKeys,x,y) (This)->lpVtbl->Click(This,dwCharID,fwKeys,x,y)
+#define IAgentNotifySinkEx_DblClick(This,dwCharID,fwKeys,x,y) (This)->lpVtbl->DblClick(This,dwCharID,fwKeys,x,y)
+#define IAgentNotifySinkEx_DragStart(This,dwCharID,fwKeys,x,y) (This)->lpVtbl->DragStart(This,dwCharID,fwKeys,x,y)
+#define IAgentNotifySinkEx_DragComplete(This,dwCharID,fwKeys,x,y) (This)->lpVtbl->DragComplete(This,dwCharID,fwKeys,x,y)
+#define IAgentNotifySinkEx_RequestStart(This,dwRequestID) (This)->lpVtbl->RequestStart(This,dwRequestID)
+#define IAgentNotifySinkEx_RequestComplete(This,dwRequestID,hrStatus) (This)->lpVtbl->RequestComplete(This,dwRequestID,hrStatus)
+#define IAgentNotifySinkEx_BookMark(This,dwBookMarkID) (This)->lpVtbl->BookMark(This,dwBookMarkID)
+#define IAgentNotifySinkEx_Idle(This,dwCharID,bStart) (This)->lpVtbl->Idle(This,dwCharID,bStart)
+#define IAgentNotifySinkEx_Move(This,dwCharID,x,y,dwCause) (This)->lpVtbl->Move(This,dwCharID,x,y,dwCause)
+#define IAgentNotifySinkEx_Size(This,dwCharID,lWidth,lHeight) (This)->lpVtbl->Size(This,dwCharID,lWidth,lHeight)
+#define IAgentNotifySinkEx_BalloonVisibleState(This,dwCharID,bVisible) (This)->lpVtbl->BalloonVisibleState(This,dwCharID,bVisible)
+#define IAgentNotifySinkEx_HelpComplete(This,dwCharID,dwCommandID,dwCause) (This)->lpVtbl->HelpComplete(This,dwCharID,dwCommandID,dwCause)
+#define IAgentNotifySinkEx_ListeningState(This,dwCharID,bListening,dwCause) (This)->lpVtbl->ListeningState(This,dwCharID,bListening,dwCause)
+#define IAgentNotifySinkEx_DefaultCharacterChange(This,bszGUID) (This)->lpVtbl->DefaultCharacterChange(This,bszGUID)
+#define IAgentNotifySinkEx_AgentPropertyChange(This) (This)->lpVtbl->AgentPropertyChange(This)
+#define IAgentNotifySinkEx_ActiveClientChange(This,dwCharID,lStatus) (This)->lpVtbl->ActiveClientChange(This,dwCharID,lStatus)
+#endif
+#endif
+  HRESULT WINAPI IAgentNotifySinkEx_HelpComplete_Proxy(IAgentNotifySinkEx *This,long dwCharID,long dwCommandID,long dwCause);
+  void __RPC_STUB IAgentNotifySinkEx_HelpComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySinkEx_ListeningState_Proxy(IAgentNotifySinkEx *This,long dwCharID,long bListening,long dwCause);
+  void __RPC_STUB IAgentNotifySinkEx_ListeningState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySinkEx_DefaultCharacterChange_Proxy(IAgentNotifySinkEx *This,BSTR bszGUID);
+  void __RPC_STUB IAgentNotifySinkEx_DefaultCharacterChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySinkEx_AgentPropertyChange_Proxy(IAgentNotifySinkEx *This);
+  void __RPC_STUB IAgentNotifySinkEx_AgentPropertyChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentNotifySinkEx_ActiveClientChange_Proxy(IAgentNotifySinkEx *This,long dwCharID,long lStatus);
+  void __RPC_STUB IAgentNotifySinkEx_ActiveClientChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentPrivateNotifySink_INTERFACE_DEFINED__
+#define __IAgentPrivateNotifySink_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentPrivateNotifySink;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentPrivateNotifySink : public IUnknown {
+  public:
+    virtual HRESULT WINAPI ReleaseAll(void) = 0;
+    virtual HRESULT WINAPI ReleaseOne(void *pnNotify) = 0;
+    virtual HRESULT WINAPI GetClientID(DWORD *pdwClientID) = 0;
+  };
+#else
+  typedef struct IAgentPrivateNotifySinkVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentPrivateNotifySink *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentPrivateNotifySink *This);
+      ULONG (WINAPI *Release)(IAgentPrivateNotifySink *This);
+      HRESULT (WINAPI *ReleaseAll)(IAgentPrivateNotifySink *This);
+      HRESULT (WINAPI *ReleaseOne)(IAgentPrivateNotifySink *This,void *pnNotify);
+      HRESULT (WINAPI *GetClientID)(IAgentPrivateNotifySink *This,DWORD *pdwClientID);
+    END_INTERFACE
+  } IAgentPrivateNotifySinkVtbl;
+  struct IAgentPrivateNotifySink {
+    CONST_VTBL struct IAgentPrivateNotifySinkVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentPrivateNotifySink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentPrivateNotifySink_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentPrivateNotifySink_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentPrivateNotifySink_ReleaseAll(This) (This)->lpVtbl->ReleaseAll(This)
+#define IAgentPrivateNotifySink_ReleaseOne(This,pnNotify) (This)->lpVtbl->ReleaseOne(This,pnNotify)
+#define IAgentPrivateNotifySink_GetClientID(This,pdwClientID) (This)->lpVtbl->GetClientID(This,pdwClientID)
+#endif
+#endif
+  HRESULT WINAPI IAgentPrivateNotifySink_ReleaseAll_Proxy(IAgentPrivateNotifySink *This);
+  void __RPC_STUB IAgentPrivateNotifySink_ReleaseAll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentPrivateNotifySink_ReleaseOne_Proxy(IAgentPrivateNotifySink *This,void *pnNotify);
+  void __RPC_STUB IAgentPrivateNotifySink_ReleaseOne_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI IAgentPrivateNotifySink_GetClientID_Proxy(IAgentPrivateNotifySink *This,DWORD *pdwClientID);
+  void __RPC_STUB IAgentPrivateNotifySink_GetClientID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentCustomMarshalMaker_INTERFACE_DEFINED__
+#define __IAgentCustomMarshalMaker_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentCustomMarshalMaker;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentCustomMarshalMaker : public IUnknown {
+  public:
+    virtual HRESULT WINAPI Create(IUnknown *pSink,REFIID riidSink,IUnknown **pMarshaledSink) = 0;
+
+  };
+#else
+  typedef struct IAgentCustomMarshalMakerVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentCustomMarshalMaker *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentCustomMarshalMaker *This);
+      ULONG (WINAPI *Release)(IAgentCustomMarshalMaker *This);
+      HRESULT (WINAPI *Create)(IAgentCustomMarshalMaker *This,IUnknown *pSink,REFIID riidSink,IUnknown **pMarshaledSink);
+    END_INTERFACE
+  } IAgentCustomMarshalMakerVtbl;
+  struct IAgentCustomMarshalMaker {
+    CONST_VTBL struct IAgentCustomMarshalMakerVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentCustomMarshalMaker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentCustomMarshalMaker_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentCustomMarshalMaker_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentCustomMarshalMaker_Create(This,pSink,riidSink,pMarshaledSink) (This)->lpVtbl->Create(This,pSink,riidSink,pMarshaledSink)
+#endif
+#endif
+  HRESULT WINAPI IAgentCustomMarshalMaker_Create_Proxy(IAgentCustomMarshalMaker *This,IUnknown *pSink,REFIID riidSink,IUnknown **pMarshaledSink);
+  void __RPC_STUB IAgentCustomMarshalMaker_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __IAgentClientStatus_INTERFACE_DEFINED__
+#define __IAgentClientStatus_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_IAgentClientStatus;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct IAgentClientStatus : public IUnknown {
+  public:
+    virtual HRESULT WINAPI Ping(void) = 0;
+  };
+#else
+  typedef struct IAgentClientStatusVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(IAgentClientStatus *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(IAgentClientStatus *This);
+      ULONG (WINAPI *Release)(IAgentClientStatus *This);
+      HRESULT (WINAPI *Ping)(IAgentClientStatus *This);
+    END_INTERFACE
+  } IAgentClientStatusVtbl;
+  struct IAgentClientStatus {
+    CONST_VTBL struct IAgentClientStatusVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define IAgentClientStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IAgentClientStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IAgentClientStatus_Release(This) (This)->lpVtbl->Release(This)
+#define IAgentClientStatus_Ping(This) (This)->lpVtbl->Ping(This)
+#endif
+#endif
+  HRESULT WINAPI IAgentClientStatus_Ping_Proxy(IAgentClientStatus *This);
+  void __RPC_STUB IAgentClientStatus_Ping_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#define AGENT_VERSION_MAJOR (2)
+#define AGENT_VERSION_MINOR (0)
+
+  extern RPC_IF_HANDLE __MIDL_itf_AgentServer_0229_v0_0_c_ifspec;
+  extern RPC_IF_HANDLE __MIDL_itf_AgentServer_0229_v0_0_s_ifspec;
+
+#ifndef __AgentServerObjects_LIBRARY_DEFINED__
+#define __AgentServerObjects_LIBRARY_DEFINED__
+
+  EXTERN_C const IID LIBID_AgentServerObjects;
+  EXTERN_C const CLSID CLSID_AgentServer;
+
+#ifdef __cplusplus
+  class AgentServer;
+#endif
+#endif
+
+  unsigned long __RPC_API BSTR_UserSize(unsigned long *,unsigned long,BSTR *);
+  unsigned char *__RPC_API BSTR_UserMarshal(unsigned long *,unsigned char *,BSTR *);
+  unsigned char *__RPC_API BSTR_UserUnmarshal(unsigned long *,unsigned char *,BSTR *);
+  void __RPC_API BSTR_UserFree(unsigned long *,BSTR *);
+  unsigned long __RPC_API VARIANT_UserSize(unsigned long *,unsigned long,VARIANT *);
+  unsigned char *__RPC_API VARIANT_UserMarshal(unsigned long *,unsigned char *,VARIANT *);
+  unsigned char *__RPC_API VARIANT_UserUnmarshal(unsigned long *,unsigned char *,VARIANT *);
+  void __RPC_API VARIANT_UserFree(unsigned long *,VARIANT *);
+
+#ifdef __cplusplus
+}
+#endif
+#endif