Microsoft® IME Application Interface

Version 1.1

January 5, 1999

© Microsoft Corporation, 1997-99


What Is MS-IME API?

There are two ways to communicate between MS-IME and applications:

  • Standard IMM APIs published in Win32 SDK
  • MS-IME native application interface exported from the IME itself

This document describes how applications can use the native interface to communicate directly with MS-IME. The need for application interfaces arises for following reasons:

  • An application wishes to use some MS-IME-specific functionality or exchange information that is not available via IMM
  • An application wishes to use new features defined in an updated version of IMM, but the OS has the old version of IMM

Overview by functionality

IME Pad interface (new).   IImePad and IImePadApplet global interfaces allow vendors to develop "pluggable" input method with its own user interface. WM_MSIME_SHOWIMEPAD message allows the application to control IMEPad as a part of per IME interface.

Other native application interfaces.   Currently, there are three global interfaces, namely IFECommon, IFELanguage and IFEDictionary. In addition, there is one more service object called CIMEShare. This allows an application to share the same looks of an IME undetermined string among multiple applications. There are also WM_MSIME_ messages. They are defined to allow applications to use advanced features of MS-IME in sync with standard IMM messages, which is per IME interface.

Overview by API format

There are two types of application interfaces provided by MS-IME:

All application interfaces are defined in one header named "msime.h". All string manipulation interfaces use the UNICODE character set.

For more information, refer part of speech used by both interfaces.

The interfaces described in this document are supported by Microsoft® IME 2000 Japanese version.