with GNATCOM.IInterface;

package MSHTML.IActiveIMMApp_Interface is

   type IActiveIMMApp_Type is
     new GNATCOM.IInterface.Interface_Type with null record;

   procedure Initialize (This : in out IActiveIMMApp_Type);

   function Pointer (This : IActiveIMMApp_Type)
     return Pointer_To_IActiveIMMApp;

   procedure Attach (This    : in out IActiveIMMApp_Type;
                     Pointer : in     Pointer_To_IActiveIMMApp);

   procedure AssociateContext
     (This   : IActiveIMMApp_Type;
      hWnd   : wireHWND;
      hIME   : Interfaces.C.unsigned_long;
      phPrev : GNATCOM.Types.Pointer_To_unsigned_long);

   procedure ConfigureIMEA
     (This   : IActiveIMMApp_Type;
      hKL    : GNATCOM.Types.Pointer_To_Void;
      hWnd   : wireHWND;
      dwMode : Interfaces.C.unsigned_long;
      pData  : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0001);

   procedure ConfigureIMEW
     (This   : IActiveIMMApp_Type;
      hKL    : GNATCOM.Types.Pointer_To_Void;
      hWnd   : wireHWND;
      dwMode : Interfaces.C.unsigned_long;
      pData  : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0002);

   procedure CreateContext
     (This  : IActiveIMMApp_Type;
      phIMC : GNATCOM.Types.Pointer_To_unsigned_long);

   procedure DestroyContext
     (This : IActiveIMMApp_Type;
      hIME : Interfaces.C.unsigned_long);

   procedure EnumRegisterWordA
     (This       : IActiveIMMApp_Type;
      hKL        : GNATCOM.Types.Pointer_To_Void;
      szReading  : GNATCOM.Types.LPSTR;
      dwStyle    : Interfaces.C.unsigned_long;
      szRegister : GNATCOM.Types.LPSTR;
      pData      : GNATCOM.Types.Pointer_To_Void;
      pEnum      : Pointer_To_Pointer_To_IEnumRegisterWordA);

   procedure EnumRegisterWordW
     (This       : IActiveIMMApp_Type;
      hKL        : GNATCOM.Types.Pointer_To_Void;
      szReading  : GNATCOM.Types.LPWSTR;
      dwStyle    : Interfaces.C.unsigned_long;
      szRegister : GNATCOM.Types.LPWSTR;
      pData      : GNATCOM.Types.Pointer_To_Void;
      pEnum      : Pointer_To_Pointer_To_IEnumRegisterWordW);

   procedure EscapeA
     (This     : IActiveIMMApp_Type;
      hKL      : GNATCOM.Types.Pointer_To_Void;
      hIMC     : Interfaces.C.unsigned_long;
      uEscape  : Interfaces.C.unsigned;
      pData    : GNATCOM.Types.Pointer_To_Void;
      plResult : Pointer_To_LONG_PTR);

   procedure EscapeW
     (This     : IActiveIMMApp_Type;
      hKL      : GNATCOM.Types.Pointer_To_Void;
      hIMC     : Interfaces.C.unsigned_long;
      uEscape  : Interfaces.C.unsigned;
      pData    : GNATCOM.Types.Pointer_To_Void;
      plResult : Pointer_To_LONG_PTR);

   procedure GetCandidateListA
     (This      : IActiveIMMApp_Type;
      hIMC      : Interfaces.C.unsigned_long;
      dwIndex   : Interfaces.C.unsigned_long;
      uBufLen   : Interfaces.C.unsigned;
      pCandList : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0007;
      puCopied  : GNATCOM.Types.Pointer_To_unsigned);

   procedure GetCandidateListW
     (This      : IActiveIMMApp_Type;
      hIMC      : Interfaces.C.unsigned_long;
      dwIndex   : Interfaces.C.unsigned_long;
      uBufLen   : Interfaces.C.unsigned;
      pCandList : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0007;
      puCopied  : GNATCOM.Types.Pointer_To_unsigned);

   procedure GetCandidateListCountA
     (This        : IActiveIMMApp_Type;
      hIMC        : Interfaces.C.unsigned_long;
      pdwListSize : GNATCOM.Types.Pointer_To_unsigned_long;
      pdwBufLen   : GNATCOM.Types.Pointer_To_unsigned_long);

   procedure GetCandidateListCountW
     (This        : IActiveIMMApp_Type;
      hIMC        : Interfaces.C.unsigned_long;
      pdwListSize : GNATCOM.Types.Pointer_To_unsigned_long;
      pdwBufLen   : GNATCOM.Types.Pointer_To_unsigned_long);

   procedure GetCandidateWindow
     (This       : IActiveIMMApp_Type;
      hIMC       : Interfaces.C.unsigned_long;
      dwIndex    : Interfaces.C.unsigned_long;
      pCandidate : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0005);

   procedure GetCompositionFontA
     (This : IActiveIMMApp_Type;
      hIMC : Interfaces.C.unsigned_long;
      plf  : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0003);

   procedure GetCompositionFontW
     (This : IActiveIMMApp_Type;
      hIMC : Interfaces.C.unsigned_long;
      plf  : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0004);

   procedure GetCompositionStringA
     (This     : IActiveIMMApp_Type;
      hIMC     : Interfaces.C.unsigned_long;
      dwIndex  : Interfaces.C.unsigned_long;
      dwBufLen : Interfaces.C.unsigned_long;
      plCopied : GNATCOM.Types.Pointer_To_long;
      pBuf     : GNATCOM.Types.Pointer_To_Void);

   procedure GetCompositionStringW
     (This     : IActiveIMMApp_Type;
      hIMC     : Interfaces.C.unsigned_long;
      dwIndex  : Interfaces.C.unsigned_long;
      dwBufLen : Interfaces.C.unsigned_long;
      plCopied : GNATCOM.Types.Pointer_To_long;
      pBuf     : GNATCOM.Types.Pointer_To_Void);

   procedure GetCompositionWindow
     (This      : IActiveIMMApp_Type;
      hIMC      : Interfaces.C.unsigned_long;
      pCompForm : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0006);

   procedure getContext
     (This  : IActiveIMMApp_Type;
      hWnd  : wireHWND;
      phIMC : GNATCOM.Types.Pointer_To_unsigned_long);

   procedure GetConversionListA
     (This     : IActiveIMMApp_Type;
      hKL      : GNATCOM.Types.Pointer_To_Void;
      hIMC     : Interfaces.C.unsigned_long;
      pSrc     : GNATCOM.Types.LPSTR;
      uBufLen  : Interfaces.C.unsigned;
      uFlag    : Interfaces.C.unsigned;
      pDst     : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0007;
      puCopied : GNATCOM.Types.Pointer_To_unsigned);

   procedure GetConversionListW
     (This     : IActiveIMMApp_Type;
      hKL      : GNATCOM.Types.Pointer_To_Void;
      hIMC     : Interfaces.C.unsigned_long;
      pSrc     : GNATCOM.Types.LPWSTR;
      uBufLen  : Interfaces.C.unsigned;
      uFlag    : Interfaces.C.unsigned;
      pDst     : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0007;
      puCopied : GNATCOM.Types.Pointer_To_unsigned);

   procedure GetConversionStatus
     (This           : IActiveIMMApp_Type;
      hIMC           : Interfaces.C.unsigned_long;
      pfdwConversion : GNATCOM.Types.Pointer_To_unsigned_long;
      pfdwSentence   : GNATCOM.Types.Pointer_To_unsigned_long);

   procedure GetDefaultIMEWnd
     (This     : IActiveIMMApp_Type;
      hWnd     : wireHWND;
      phDefWnd : Pointer_To_wireHWND);

   procedure GetDescriptionA
     (This          : IActiveIMMApp_Type;
      hKL           : GNATCOM.Types.Pointer_To_Void;
      uBufLen       : Interfaces.C.unsigned;
      szDescription : GNATCOM.Types.LPSTR;
      puCopied      : GNATCOM.Types.Pointer_To_unsigned);

   procedure GetDescriptionW
     (This          : IActiveIMMApp_Type;
      hKL           : GNATCOM.Types.Pointer_To_Void;
      uBufLen       : Interfaces.C.unsigned;
      szDescription : GNATCOM.Types.LPWSTR;
      puCopied      : GNATCOM.Types.Pointer_To_unsigned);

   procedure GetGuideLineA
     (This      : IActiveIMMApp_Type;
      hIMC      : Interfaces.C.unsigned_long;
      dwIndex   : Interfaces.C.unsigned_long;
      dwBufLen  : Interfaces.C.unsigned_long;
      pBuf      : GNATCOM.Types.LPSTR;
      pdwResult : GNATCOM.Types.Pointer_To_unsigned_long);

   procedure GetGuideLineW
     (This      : IActiveIMMApp_Type;
      hIMC      : Interfaces.C.unsigned_long;
      dwIndex   : Interfaces.C.unsigned_long;
      dwBufLen  : Interfaces.C.unsigned_long;
      pBuf      : GNATCOM.Types.LPWSTR;
      pdwResult : GNATCOM.Types.Pointer_To_unsigned_long);

   procedure GetIMEFileNameA
     (This       : IActiveIMMApp_Type;
      hKL        : GNATCOM.Types.Pointer_To_Void;
      uBufLen    : Interfaces.C.unsigned;
      szFileName : GNATCOM.Types.LPSTR;
      puCopied   : GNATCOM.Types.Pointer_To_unsigned);

   procedure GetIMEFileNameW
     (This       : IActiveIMMApp_Type;
      hKL        : GNATCOM.Types.Pointer_To_Void;
      uBufLen    : Interfaces.C.unsigned;
      szFileName : GNATCOM.Types.LPWSTR;
      puCopied   : GNATCOM.Types.Pointer_To_unsigned);

   procedure GetOpenStatus
     (This : IActiveIMMApp_Type;
      hIMC : Interfaces.C.unsigned_long);

   procedure GetProperty
     (This        : IActiveIMMApp_Type;
      hKL         : GNATCOM.Types.Pointer_To_Void;
      fdwIndex    : Interfaces.C.unsigned_long;
      pdwProperty : GNATCOM.Types.Pointer_To_unsigned_long);

   procedure GetRegisterWordStyleA
     (This      : IActiveIMMApp_Type;
      hKL       : GNATCOM.Types.Pointer_To_Void;
      nItem     : Interfaces.C.unsigned;
      pStyleBuf : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0008;
      puCopied  : GNATCOM.Types.Pointer_To_unsigned);

   procedure GetRegisterWordStyleW
     (This      : IActiveIMMApp_Type;
      hKL       : GNATCOM.Types.Pointer_To_Void;
      nItem     : Interfaces.C.unsigned;
      pStyleBuf : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0009;
      puCopied  : GNATCOM.Types.Pointer_To_unsigned);

   procedure GetStatusWindowPos
     (This   : IActiveIMMApp_Type;
      hIMC   : Interfaces.C.unsigned_long;
      pptPos : Pointer_To_tagPOINT);

   procedure GetVirtualKey
     (This         : IActiveIMMApp_Type;
      hWnd         : wireHWND;
      puVirtualKey : GNATCOM.Types.Pointer_To_unsigned);

   procedure InstallIMEA
     (This          : IActiveIMMApp_Type;
      szIMEFileName : GNATCOM.Types.LPSTR;
      szLayoutText  : GNATCOM.Types.LPSTR;
      phKL          : GNATCOM.Types.Pointer_To_Pointer_To_Void);

   procedure InstallIMEW
     (This          : IActiveIMMApp_Type;
      szIMEFileName : GNATCOM.Types.LPWSTR;
      szLayoutText  : GNATCOM.Types.LPWSTR;
      phKL          : GNATCOM.Types.Pointer_To_Pointer_To_Void);

   procedure IsIME
     (This : IActiveIMMApp_Type;
      hKL  : GNATCOM.Types.Pointer_To_Void);

   procedure IsUIMessageA
     (This    : IActiveIMMApp_Type;
      hWndIME : wireHWND;
      msg     : Interfaces.C.unsigned;
      wParam  : UINT_PTR;
      lParam  : LONG_PTR);

   procedure IsUIMessageW
     (This    : IActiveIMMApp_Type;
      hWndIME : wireHWND;
      msg     : Interfaces.C.unsigned;
      wParam  : UINT_PTR;
      lParam  : LONG_PTR);

   procedure NotifyIME
     (This     : IActiveIMMApp_Type;
      hIMC     : Interfaces.C.unsigned_long;
      dwAction : Interfaces.C.unsigned_long;
      dwIndex  : Interfaces.C.unsigned_long;
      dwValue  : Interfaces.C.unsigned_long);

   procedure RegisterWordA
     (This       : IActiveIMMApp_Type;
      hKL        : GNATCOM.Types.Pointer_To_Void;
      szReading  : GNATCOM.Types.LPSTR;
      dwStyle    : Interfaces.C.unsigned_long;
      szRegister : GNATCOM.Types.LPSTR);

   procedure RegisterWordW
     (This       : IActiveIMMApp_Type;
      hKL        : GNATCOM.Types.Pointer_To_Void;
      szReading  : GNATCOM.Types.LPWSTR;
      dwStyle    : Interfaces.C.unsigned_long;
      szRegister : GNATCOM.Types.LPWSTR);

   procedure ReleaseContext
     (This : IActiveIMMApp_Type;
      hWnd : wireHWND;
      hIMC : Interfaces.C.unsigned_long);

   procedure SetCandidateWindow
     (This       : IActiveIMMApp_Type;
      hIMC       : Interfaces.C.unsigned_long;
      pCandidate : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0005);

   procedure SetCompositionFontA
     (This : IActiveIMMApp_Type;
      hIMC : Interfaces.C.unsigned_long;
      plf  : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0003);

   procedure SetCompositionFontW
     (This : IActiveIMMApp_Type;
      hIMC : Interfaces.C.unsigned_long;
      plf  : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0004);

   procedure SetCompositionStringA
     (This      : IActiveIMMApp_Type;
      hIMC      : Interfaces.C.unsigned_long;
      dwIndex   : Interfaces.C.unsigned_long;
      pComp     : GNATCOM.Types.Pointer_To_Void;
      dwCompLen : Interfaces.C.unsigned_long;
      pRead     : GNATCOM.Types.Pointer_To_Void;
      dwReadLen : Interfaces.C.unsigned_long);

   procedure SetCompositionStringW
     (This      : IActiveIMMApp_Type;
      hIMC      : Interfaces.C.unsigned_long;
      dwIndex   : Interfaces.C.unsigned_long;
      pComp     : GNATCOM.Types.Pointer_To_Void;
      dwCompLen : Interfaces.C.unsigned_long;
      pRead     : GNATCOM.Types.Pointer_To_Void;
      dwReadLen : Interfaces.C.unsigned_long);

   procedure SetCompositionWindow
     (This      : IActiveIMMApp_Type;
      hIMC      : Interfaces.C.unsigned_long;
      pCompForm : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0006);

   procedure SetConversionStatus
     (This          : IActiveIMMApp_Type;
      hIMC          : Interfaces.C.unsigned_long;
      fdwConversion : Interfaces.C.unsigned_long;
      fdwSentence   : Interfaces.C.unsigned_long);

   procedure SetOpenStatus
     (This  : IActiveIMMApp_Type;
      hIMC  : Interfaces.C.unsigned_long;
      fOpen : Interfaces.C.long);

   procedure SetStatusWindowPos
     (This   : IActiveIMMApp_Type;
      hIMC   : Interfaces.C.unsigned_long;
      pptPos : Pointer_To_tagPOINT);

   procedure SimulateHotKey
     (This       : IActiveIMMApp_Type;
      hWnd       : wireHWND;
      dwHotKeyID : Interfaces.C.unsigned_long);

   procedure UnregisterWordA
     (This         : IActiveIMMApp_Type;
      hKL          : GNATCOM.Types.Pointer_To_Void;
      szReading    : GNATCOM.Types.LPSTR;
      dwStyle      : Interfaces.C.unsigned_long;
      szUnregister : GNATCOM.Types.LPSTR);

   procedure UnregisterWordW
     (This         : IActiveIMMApp_Type;
      hKL          : GNATCOM.Types.Pointer_To_Void;
      szReading    : GNATCOM.Types.LPWSTR;
      dwStyle      : Interfaces.C.unsigned_long;
      szUnregister : GNATCOM.Types.LPWSTR);

   procedure Activate
     (This           : IActiveIMMApp_Type;
      fRestoreLayout : Interfaces.C.long);

   procedure Deactivate
     (This : IActiveIMMApp_Type);

   procedure OnDefWindowProc
     (This     : IActiveIMMApp_Type;
      hWnd     : wireHWND;
      msg      : Interfaces.C.unsigned;
      wParam   : UINT_PTR;
      lParam   : LONG_PTR;
      plResult : Pointer_To_LONG_PTR);

   procedure FilterClientWindows
     (This        : IActiveIMMApp_Type;
      aaClassList : GNATCOM.Types.Pointer_To_unsigned_short;
      uSize       : Interfaces.C.unsigned);

   procedure GetCodePageA
     (This      : IActiveIMMApp_Type;
      hKL       : GNATCOM.Types.Pointer_To_Void;
      uCodePage : GNATCOM.Types.Pointer_To_unsigned);

   procedure GetLangId
     (This : IActiveIMMApp_Type;
      hKL  : GNATCOM.Types.Pointer_To_Void;
      plid : GNATCOM.Types.Pointer_To_unsigned_short);

   procedure AssociateContextEx
     (This    : IActiveIMMApp_Type;
      hWnd    : wireHWND;
      hIMC    : Interfaces.C.unsigned_long;
      dwFlags : Interfaces.C.unsigned_long);

   procedure DisableIME
     (This     : IActiveIMMApp_Type;
      idThread : Interfaces.C.unsigned_long);

   procedure GetImeMenuItemsA
     (This           : IActiveIMMApp_Type;
      hIMC           : Interfaces.C.unsigned_long;
      dwFlags        : Interfaces.C.unsigned_long;
      dwType         : Interfaces.C.unsigned_long;
      pImeParentMenu : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0010;
      pImeMenu       : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0010;
      dwSize         : Interfaces.C.unsigned_long;
      pdwResult      : GNATCOM.Types.Pointer_To_unsigned_long);

   procedure GetImeMenuItemsW
     (This           : IActiveIMMApp_Type;
      hIMC           : Interfaces.C.unsigned_long;
      dwFlags        : Interfaces.C.unsigned_long;
      dwType         : Interfaces.C.unsigned_long;
      pImeParentMenu : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0011;
      pImeMenu       : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0011;
      dwSize         : Interfaces.C.unsigned_long;
      pdwResult      : GNATCOM.Types.Pointer_To_unsigned_long);

   procedure EnumInputContext
     (This     : IActiveIMMApp_Type;
      idThread : Interfaces.C.unsigned_long;
      ppEnum   : Pointer_To_Pointer_To_IEnumInputContext);

end MSHTML.IActiveIMMApp_Interface;

