GUIDELINE

typedef struct tagGUIDELINE {
  DWORD  dwSize;
  DWORD  dwLevel;    // the error level.
      // GL_LEVEL_NOGUIDELINE, 
      // GL_LEVEL_FATAL, 
      // GL_LEVEL_ERROR, 
      // GL_LEVEL_WARNNING,
      // GL_LEVEL_INFORMATION
  DWORD  dwIndex;   // GL_ID_NODICTIONARY and so on.
  DWORD  dwStrLen;  // Error Strings, if this is 0, 
                    //   there is no error string.
  DWORD  dwStrOffset;
  DWORD  dwPrivateSize;
  DWORD  dwPrivateOffset;
} GUIDELINE;
 
dwLevel
Can be one of these values:
Value Meaning
GL_LEVEL_NOGUIDELINE There is no guideline. If the old guideline is shown, the UI should hide the old guideline.
GL_LEVEL_FATAL Fatal error occurred. Some data may be lost.
GL_LEVEL _ERROR Error occurs. The handling may not continue.
GL_LEVEL _WARNING IME warns the user. An unexpected event occurred, but the IME can continue to handle.
GL_LEVEL _INFORMATION User information.

dwIndex
Can be one of these values:
Value Meaning
GL_ID_UNKNOWN Unknown Error. The application should refer to Error String.
GL_ID_NOMODULE IME cannot find a needed module.
GL_ID_NODICTIONARY IME cannot find or recognize the dictionary.
GL_ID_CANNOTSAVE Dictionary or the statistic data cannot be saved.
GL_ID_NOCONVERT IME cannot convert any more.
GL_ID_TYPINGERROR Typing error. IME cannot handle this typing.
GL_ID_TOOMANYSTROKE There are two many strokes for one character or one clause.
GL_ID_READINGCONFLICT For example, some vowels cannot be put together.
GL_ID_INPUTREADING IME prompts the user - now it is in inputting reading character state.
GL_ID_INPUTRADICAL IME prompts the user. It is now inputting the radical character state.
GL_ID_INPUTCODE IME prompts the user. It is now inputting the character code state.
GL_ID_CHOOSECANIDATE IME prompts the user. It is now choosing the candidate string state.
GL_ID_REVERSECONVERSION IME prompts the user - the information of reverse conversion. The information of reverse conversion can be retrieved by ImmGetGuideLine(hIMC, GGL_PRIVATE. lpBuf, dwBufLen).The information filled in lpBuf is in CANDIDATELIST format.
GL_ID_PRIVATE_FIRST The identifier which is between GL_ID_PRIVATE_FIRST and GL_ID_PRIVATE_LAST is reserved for the IME. IME can freely use these identifiers for its own GUIDELINE.
GL_ID_PRIVATE_LAST The identifier which is between GL_ID_PRIVATE_FIRST and GL_ID_PRIVATE_LAST is reserved for the IME. IME can freely use these identifiers for its own GUIDELINE.

dwPrivateSize
Private area in this memory block.
dwPrivateOffset
Offset from the beginning of this structure to the private area.