Entwickeln IME-Aware Anwendungen mit mehreren Threads

Der IMM enthält eine Threadidentifikationsüberprüfung, die bestimmt, ob ein aufrufende Thread der Ersteller eines angegebenen Eingabemethode-Kontexthandks (HIMC-Typ) oder Fensterhand handle (HWND-Typ) ist. Wenn der Thread nicht der Ersteller des Handles ist, schlägt die aufgerufene IMM-Funktion fehl, und ein nachfolgender Aufruf von GetLastError gibt ERROR _ INVALID ACCESS _ zurück.

Hinweis

Die aktuelle IMM-Architektur bietet keine Synchronisierungsmöglichkeit für den Zugriff auf IMM-Handles.

Um die Threadidentifikationsüberprüfung zu verwenden, müssen Ihre Anwendungen die folgenden Richtlinien einhalten:

  • Ein Thread sollte nicht auf den Eingabekontext zugreifen, der von einem anderen Thread erstellt wurde.
  • Ein Thread sollte einem fenster, das von einem anderen Thread erstellt wurde, keinen Eingabekontext zuordnen und umgekehrt.

Verwenden des Eingabemethode-Managers