ImRegisterIME
IME Install program can register any IME to any language.
Format:
APIRET APIENTRY ImRegisterIME(
PSZ pszImeName,
PREGISTERIMEHEADER pRegIme,
PULONG pImeId )
Parameters:
pszImeName(input) : a name of IME. This must be the same as actual IME DLL file name without extension(e.g., "FAKEIME").
pRegIme(input) : a pointer to REGISTERIMEHEADER as follows:
REGISTERIMEHEADER
{
ULONG cbSize;
ULONG ulLangCount;
ULONG offsetLang;
ULONG ulDescriptionLen
ULONG offsetDescription;
ULONG ulFlag;
}
where
cbSize(input) : size of this structure
ulLangCount(input) : number of the supported languages.
offsetLang(input) : offset of the 2 byte language array
ulDescriptionLen(input) : Byte length of the IME Description.
offsetDescription(input) : offset of IME Description.
IME Description is used for IME Selection panel.
ulFlag(input) : Registration flag which is the combination of the following:
IM_REG_FLAG_DEFAULT(0x00000001) :
The installed IME will be the default IME for all of
the languages which this IME supports.
IM_REG_FLAG_IME16CALLABLE(0x00000002) :
The installed IME has 32-bit IME but also has the 16-bit
legacy IME interface. If this flag is set, IMMON and VDMIMFEP
will call IME through IME16 interface.
It is useful when IME needs to show configure panel
in full screen environment.
IM_REG_FLAG_IME16(0x80000000) :
The installed IME is the 16-bit legacy IME which can be accessible through GTO.
pImeId(output) : Registered IME ID is filled on return.
Returns:
Success indicator 0 : Successful completion other : Error occurred
Remarks:
This API is not called from IME DLL itself, but from IME install program only. IME DLL file must be placed in some directory which is listed in LIBPATH environment. 'Language' is a 2 byte character such as 'JA'. All available languages are listed in the chapter 'Install'.