Recognizer Objects

Three objects serve the process of recognition, identified by their handles: recognition context (HRC), recognition context result (HRCRESULT), and word list (HWL). The structure and implementation of these objects are left to the recognizer developer and remain invisible to applications and the system. However, the objects must comply with the following two requirements:

  • The handle value must be a 32-bit pointer to the object in memory.

  • The first DWORD (32 bits) of the memory that the handle points to is reserved for system use. The recognizer must not alter the DWORD value during the life of the object.

Thus, a recognizer's internal structure of a recognition object should be of the following form:

typedef struct {

DWORD dwReserved;





It is the application's responsibility to destroy the recognition objects when finished. A recognizer should validate all handles to ensure an object exists before processing. Although a product of an HRC, an HRCRESULT is usually an independent object. Destroying an HRC does not destroy its HRCRESULT objects, which remain valid objects and must be destroyed separately.

A single HWL object can be associated with multiple HRC objects at any given time. The recognizer should not allow alteration of an HWL while processing any of its associated HRC objects. Similarly, the recognizer should not allow destruction of an HWL before the destruction of all its associated HRC objects. In either case, the recognizer should return an error to the application.

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database