In the Help Access Library you'll frequently encounter the follwing terms:
A TopicOffset is a 32-Bit Value signifieing a physical Position in the Help File text. It contains in ist higher order bits a block number of a physical 4 KByte compressed text block, and in the lower Bits the offset into the decomressed Image of the Memory block.
The TopicOffset is a physical value, most likely comparable to the recordnumber of a database.
TopicOffsets are applicable to any Character of a help file, but some Help Access Library functions need to get a TopicOffset value that points exactly to the beginning of a new topic.
A hash code is a 32-Bit value representation of a context-Id string. Instead of storing context ID strings with several dozenz characters, Windows Help has been optimized by using hash values of 4 Bytes only.
A context-id is a string value uses as jump target in windows help files. The definition of a context id is done by the contents of a #-Footnote. When using a Context Id to resolve a jump, WinHelp computes the HashCode from the context-ID and searches for this HashCode in the |CONTEXT internal file. If the HashCode exists, it points to a TopicOffset value telling it where to find the topic data informations.
<Internal File System>
Help files consist of several types of informations. To organize them, every data type has ist own file inside of the help file, while the HLP-file is a container of these internal files. This structure is most likelely comparable to a ZIP or LHA-Archiv.