Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This structure is used by the IIMCallback2::SendAlternatives2interface to send information from an input method (IM) to an input method editor (IME).

Syntax

typedef struct  _tagLMDATA{
  DWORD 
dwVersion;
  DWORD 
flags;
  DWORD 
cnt;
  DWORD 
dwOffsetSymbols;
  DWORD 
dwOffsetSkip;
  DWORD 
dwOffsetScore;
}LMDATA;

Members

dwVersion

Version number of the structure. This must be set to 0x00010000.

flags

Flags to apply to the structure. This notifies the IME what kind of data a given offset type — symbol, skip, or score — contains. The following table lists the flags. This member is set to a combination of flags, with one flag for each offset type.

Flag Description

LMDATA_SYMBOL_BYTE

Symbol information store as a BYTE.

LMDATA_SYMBOL_WORD

Symbol information store as a WORD.

LMDATA_SYMBOL_DWORD

Symbol information store as a DWORD.

LMDATA_SYMBOL_QWORD

Symbol information store as a QUAD WORD.

LMDATA_SKIP_BYTE

Skip information store as a BYTE.

LMDATA_SKIP_WORD

Skip information store as a WORD.

LMDATA_SCORE_BYTE

Score information store as a BYTE.

LMDATA_SCORE_WORD

Score information store as a WORD.

LMDATA_SCORE_DWORD

Score information store as a DWORD.

LMDATA_SCORE_QWORD

Score information store as a QUAD WORD.

LMDATA_SCORE_FLOAT

Score information store as a FLOAT.

LMDATA_SCORE_DOUBLE

Score information store as a DOUBLE.

The skip flag is not required by the structure.

cnt

Number of rows of data. A row consisting of a symbol, a score, and optionally a skip. For each symbol sent there is a score and perhaps a skip that form a row.

dwOffsetSymbols

Offset to the start of the symbol table. The offset is from the end of the LMDATAstructure.

dwOffsetSkip

Offset to the start of the skip table. The offset is from the end of the LMDATAstructure.

dwOffsetScore

Offset to the start of the score table. The offset is from the end of the LMDATAstructure.

Remarks

The description of the LMDATAstructure can vary from application to application. For example, if the symbol being sent is really a word then the symbol table can be used as an offset to the actual word. This implementation depends completely on the how an IME and IM have agreed to share data.

In the following code example, a memory dump is shown for a structure that contains WORD symbols and a score only.

Copy Code
Offset Value Comment
0x0000 0x00010000 Version 1.0 data structure
0x0004 0x00000102 LMDATA_SYMBOL_WORD | LMDATA_SCORE_DWORD
0x0008 0x00000007 7 values in each column 
0x000c 0x00000000 offset to symbol data
0x0010 0x00000000 offset to skip data
0x0014 0x00000010 offset to score data
0x0018 0x6eae first symbol
0x001a 0x8a01 second symbol
0x001c 0x4efe third symbol
0x001e 0x9f44 fourth symbol
0x0020 0x7784 fifth symbol
0x0022 0x888e sixth symbol
0x0024 0x900f seventh symbol
0x0026 0x0000 padding for data type alignment
0x0028 0xfffe1008 score for first symbol
0x002c 0xfffdcbfe score for second symbol
0x0030 0xfffda778 score for third symbol
0x0034 0xfffcfed0 score for fourth symbol
0x0038 0xfffb9965 score for fifth symbol
0x003c 0xfffab430 score for sixth symbol
0x0040 0xfffa7ffe score for seventh symbol

Requirements

Header sip.h
Windows Embedded CE Windows CE 2.12 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also