ImQueryIMEProperty
Applications can get a property and capabilities of IME.
Format:
APIRET APIENTRY ImQueryIMEProperty(HIMI HIMI, ULONG ulIndex, PULONG pulProp)
Parameters:
hIMI(input)
┌──────────────────────────────┬──────────────────────────────────────────────────┐ │Type │Description │ ├──────────────────────────────┼──────────────────────────────────────────────────┤ │QIP_PROPERTY │Property information │ ├──────────────────────────────┼──────────────────────────────────────────────────┤ │QIP_INPUTMODE │Input mode capabilities │ ├──────────────────────────────┼──────────────────────────────────────────────────┤ │QIP_CONVERSIONMODE │Conversion mode capabilities │ ├──────────────────────────────┼──────────────────────────────────────────────────┤ │QIP_UI │User interface capabilities │ ├──────────────────────────────┼──────────────────────────────────────────────────┤ │QIP_SETCONVSTR │Conversion string capabilities │ ├──────────────────────────────┼──────────────────────────────────────────────────┤ │QIP_SELECT │Selection inheritance capabilities │ └──────────────────────────────┴──────────────────────────────────────────────────┘pulProp(output)
When ulIndex is QIP_PROPERTY,
┌──────────────────────────────┬──────────────────────────────────────────────────┐ │Type │Description │ ├──────────────────────────────┼──────────────────────────────────────────────────┤ │PRP_SPECIALUI │If it's set, IME has a special user interface, so │ │ │application should not draw in IME window. │ ├──────────────────────────────┼──────────────────────────────────────────────────┤ │PRP_UNICODE │If it's set, strings for the IM Instance have │ │ │UNICODE characters. │ ├──────────────────────────────┼──────────────────────────────────────────────────┤ │PRP_FORCEPOSITION │If it's set, IME has capability to set a │ │ │conversion window position by │ │ │ImSetConversionWindowPos with CPS_FORCE style. │ └──────────────────────────────┴──────────────────────────────────────────────────┘
When ulindex is QIP_INPUTMODE or QIP_CONVERSIONMODE, this output means supported input mode or conversion mode, which is defined in ImQueryIMMode section.
When ulIndex is QIP_UI,
┌──────────────────────────────┬────────────────────────────────────────┐ │Type │Description │ ├──────────────────────────────┼────────────────────────────────────────┤ │UIC_270 │Supports text escapement values of 0 and│ │ │270 │ ├──────────────────────────────┼────────────────────────────────────────┤ │UIC_ANGLE90 │Supports text escapement values of 0, │ │ │90, 180, and 270 │ ├──────────────────────────────┼────────────────────────────────────────┤ │UIC_ANGLEANY │Supports any text escapement value │ └──────────────────────────────┴────────────────────────────────────────┘
When ulIndex is QIP_SETCONVSTR,
┌──────────────────────────────┬──────────────────────────────────────────────────┐ │Type │Description │ ├──────────────────────────────┼──────────────────────────────────────────────────┤ │SCSC_CONVSTR │Can create a conversion string, when using │ │ │ImSetConversionString with SCS_STRING. │ ├──────────────────────────────┼──────────────────────────────────────────────────┤ │SCSC_MAKEREAD │Can create a reading string from a conversion │ │ │string, when using ImSetConversionString with │ │ │SCS_STRING │ └──────────────────────────────┴──────────────────────────────────────────────────┘
When ulIndex is QIP_SELECT,
┌──────────────────────────────┬────────────────────────────────────────┐ │Type │Description │ ├──────────────────────────────┼────────────────────────────────────────┤ │SLC_INPUTMODE │Inherits input mode when a new IME is │ │ │selected. │ ├──────────────────────────────┼────────────────────────────────────────┤ │SLC_CONVERSIONMODE │Inherits conversion mode when a new IME │ │ │is selected. │ └──────────────────────────────┴────────────────────────────────────────┘Return:
Zero is successful. Others are errors.