Copyright: Herd Software Development (C) 1996


Contents
Help Access Library 1.0.1 Contents

To display a list of topics by category, click any of the contents entries below. To display an alphabetical list of topics, choose the Index button.

Copyright Informations

Licenses and Ordering

Help Access Library is Copyrighted 1996 by Dipl. Ing. Bernd Herd, Rudolf-Virchow-Str. 8, 68642 Bürstadt. This is the trial Version for the Software. You have the right to test this product inside of your applications for a maximum of 30 days, but no right to distribute any Programs with it.

C/C++ Elements

API-Introduction

Functions

Structures and Enums

Constants

Modules

Other

Glossary

Library binaries

Simple Example Programs

TCNT.C	Creates Windows 95 Contents Files (CNT) for a whole set of Help-Files (Windows 3.1 or Windows 95) automatically. Illustrates the use of HlpEnumTitles and  HlpCreateStringForHashValue.

TCPP.CPP	Shows how to use Help Access Library with C++ class oriented programming. This example displays all Topic-Entry and Hotspot macros used in a Help file. Illustrates the use of HlpTopicEnumerate and HlpGetTopicTitle functions.

TCOPYRIG.C	Displays the Copyright-Informations of all the Files in a Directory by using the HlpGetHelpTitle function.

TENUMCON.C	Enumerates the a list of all context-string entries possible with JumpId(...) macros and "-i"-command line parameters into a file...using the HlpEnumContext function.

TENUMTOP.C	Enumerates the contents of one Topic by using the HlpTopicEnumerate function.

TENUMTTL.C	Enumerates the list of Topics contained in a Help-File by using the HlpEnumTitles function.

TEXTRACT.C	Extracts an internal file, baggage-or Bitmap-file from a help-file by using the IFSOpenFile function.

THASHLIST.C	Lists Titles of Topics and associated Context Ids created by HlpCreateStringForHashValue hat can be used in a Call to WinHelp API or on the command line via -i to open the Topic.

THLPGREP.C	Searches for Topics that contain one of a set of Keywords in their Text using the HlpTopicEnumerate  function.

TJUMP.C	Opens the Viewer Application (Media Viewer 2.0 or Windows Help) for a given Topic using the HlpTopicJumpAPI function.

TIFSENU.C	Displays a list of all internal files contained in an internal file system file (help file, annotations-file...) by using the IFSEnumerateFiles function. This is eventually useful to retrieve all Text informations from an Annotations-File (.ANN).

TISTOPIC.C	Determines if a topic using the given context-String exists in a help file using the  IsTopic function.

TKWLIST.C	Lists the Keywords contained in a Help file and the Titles of the Topics that do use these Keywords using HlpEnumKeyWords and HlpGetTopicTitle functions.

TMVGROUP.C	Enumerates the Titles of all Topic in a Media Viewer 2.0 File and their associated Group-Names by using the HlpTopicEnumerate function.

Advanced Example Programs

TCGI.C	Allows to read a help file via an web browser over the internet supplying a http-server uising CGI programming interface. THTML does on-the-fly search of keywords in topic headings, decompilation of topic text and conversion of bitmaps to GIF-Graphics. Hotspots remain intact, even hotspots that link to other help or media viewer files.

TCNV.C	Source code for the THLP.CNV Text Import Library for Microsoft Word Version 6.0 (16 Bit). Using this Library, import of Help files into Microsoft Word is just a "File Open"...

About Autoduck


Glossary

In the Help Access Library you'll frequently encounter the follwing terms:

<TopicOffset>

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.

<HashCode>

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.

<ContextId>

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.


Library binaries

The registered full version of Help Access Library contains the following Binary Library representations:

Dynamic Link Libraries:

FileName	Redistributable	Contents

hlpacc16.dll	Yes	Windows 16 Bit dynamic link library useable for Windows 3.1, Windows 3.11, Windows 95 and Windows NT.

hlpacc16.lib	No	Import library needed to link to hlpacc16.dll and created by IMPLIB

hlpacc32.dll	Yes	Windows 32 Bit dynamic link library useable for Windows 3.1x with WIN32s, Windows 95 and Windows NT 3.51 or newer. This version of the Library is NOT multithreading-capable.

hlpacc32.lib	No	Import library to link to hlpacc32.dll using Borland C++

hlpacc3m.lib	No	Import library to link to hlpacc32.dll using Microsoft C++

hlpaccmt.dll	Yes	Multithreading-capable windows 32 Bit dynamic link library useable for Windows 95 and Windows NT 3.51 or newer. Windows 3.1x with WIN32s can also be used with this Library version, but they do not support multithreading.

hlpaccmt.lib	No	Import library to link to hlpaccmt.dll using Borland C++

hlpaccmm.lib	No	Import library to link to hlpaccmt.dll using Microsoft C++

Static Link Libraries:

FileName	Redistributable	Contents

hlpast16.lib	No	Static link library to be bound with Windows 16-Bit programs created by Borland C++

hlpast32.lib	No	Static link library to be bound with Windows 32-Bit programs created by Borland C++

Note: Static linking means that both your application program and help access library are bound into one DLL or EXE file containing your program and the part of Help Access Library required by your application.

Header files:

FileName	Redistributable	Contents

hlpaccess.h	No	Header file for C/C++ programming to access help-file data (Internal File System, KeyWords, Titles, Topic Text, formatting etc.).

shgimpor.h	No	Header file required to retrieve graphics and macros from SHG files.

seg.h	No	Header file required to retrieve macro and positioning data from Hotspots contained in SHG files.

Make files:

FileName	Redistributable	Contents

makefile.msc	No	Makefile for example programs based on Microsoft 32-Bit C-Compilers

makefile.bc	No	Makefile for example programs based on Borland 32-Bit C-Compilers

Others:

FileName	Redistributable	Contents

thlp.cnv	Yes	Microsoft Word 6.0 Text import library for help files. After copying this file into your WINWORD directory and restarting word, you can now import Help Files into word by just opening them by "File Open" Menu Item.

This Version has been linked statically with hlpast16.lib to prevent problems finding the hlpacc16.dll from Word.


Redistributable:

A file that you are allowed to copy together with your Program
at no additional charge in case you have paid a redistributable
license for Help Access Library.

Your program must have a copyright notice naming the Help Access

Library client.


API-Introduction

Presumptions

Before you start to work with Help Access Library you need to:

•	Know the basics of C programming as the example programs are all defined in C.

•	Know the basics of how to create a Windows Help file as a source project and compile it.

Basic Windows Help File concepts

Internal File System

Windows Help files and Media Viewer files are orgainzed internally as "Internal File Systems" meaning that a help file consists of many other internal files much the same way a ZIP or LHA-Archiv does. The internal files are not compressed like the ones used with ZIP, but for an application program using help files, these files can be handled like a set of distinct files located in a special directory.

To see a listing of all files contained in a given help file, you might try the TIFSENU.EXE program example:

C:\hlpacces>tifsenu hlpacces.hlp
FileOffset:0x00000010 Size:0x0000007c   FileName:"bag.ini"
FileOffset:0x00011b00 Size:0x00000826   FileName:"|CONTEXT"
FileOffset:0x0001082d Size:0x00000002   FileName:"|CTXOMAP"
FileOffset:0x000105bb Size:0x00000269   FileName:"|FONT"
FileOffset:0x00010aa2 Size:0x00000826   FileName:"|KWBTREE"
FileOffset:0x00010838 Size:0x00000250   FileName:"|KWDATA"
FileOffset:0x00010a91 Size:0x00000008   FileName:"|KWMAP"
FileOffset:0x000004c4 Size:0x00000284   FileName:"|SYSTEM"
FileOffset:0x00000751 Size:0x0000fe61   FileName:"|TOPIC"
FileOffset:0x000112d1 Size:0x00000826   FileName:"|TTLBTREE"
FileOffset:0x0001232f Size:0x00001a4f   FileName:"|bm0"

Files placed automatically by HC31 or HCW usually start with a "|"-Character, the file "bag.ini" in this example is a file included into the IFS by placing it into the [baggage] of an HPJ help project file.

This listing shows up where a internal file starts inside of the .HLP-File and the size of the internal file, so you could now theoretically read this files using your own code. But to easify this Process, Help Access Library supports functions to make reading from an internal file as easy as "open" and "close":

Accessing the IFS by Help Access Library

First you have to open the physical help or media viewer file using the Function IFSOpen. The result of this operation is a HIFS-Handle you'll need to use for all subsequent operations on this help file. You can't use this handle for Windows-Based file I/O functions, you have to use the Help Access Library functions instead.

{ HIFS ifs;

  ifs = IFSOpen("Filename.hlp");

  if (ifs)

  { /* File is available, could be opened and is indeed an IFS */

    IFSClose(ifs);

  }

}

After all operations on the help file have completed you can close the file by calling IFSClose to free up memory and the file handle associated with the file. Be aware to close all other handles assigned to this HIFS before closing it.

Accessing a named internal file

Once you have a HIFS-Handle retrieved by IFSOpen you can now open an internal file for reading by using the IFSOpenFile function. The Result of this operation is a HIFSFILE-Handle:

{ HIFSFILE ifsfile;

  ifsfile = IFSOpenFile(ifs,"|bm0");

  if (ifsfile)

  { /* A file of that name exists. */

    IFSCloseFile(ifsfile);

  }

}

Note that an HIFSHANDLE does not requre ist own operating system file handle. It is just a memory structure requiring some 100 bytes.

Reading an internal file

Once you have an HIFSFILE handle you can now perform read operations by using IFSReadFile and IFSSeekFile. To ask for the size of an internal file, you might use a call to IFSSeekFile with the whence-parameter set to 2.

{ DWORD	dwSize;

  HGLOBAL	hmem;

  LPSTR	pmem;

  /* Get file size, and go back to start of file */

  dwSize = IFSSeekFile(ifsfile, 0, 2);

  IFSSeekFile(ifsfile, 0, 0);

  /* Allocate a memory-Block of that size*/

  hmem = GlobalAlloc(LPTR, dwSize);

  if (hmem)

  {

pmem = (LPSTR) GlobalLock(hmem);

/* Read Data from the internal file into the memory block */

IFSReadFile(ifsfile, pmem, dwSize);

GlobalUnlock(hmem);

  }

}

Special Windows Help internal files

Windows Help uses several internal files to represent the data retrieved from a Help Project during compilation:

|SYSTEM	Contains: •Copyright=/citation=  option strings •Group names for media Viewer files •[window]-Definitions •compression method informations •[config]-macros •icon= icon data Help Access Library representation: HlpGetHelpTitle
|KWBTREE |KWDATA |KWMAP	Keyword-List (K-Footnotes) Help Access Library representation: HlpEnumKeyWords
|CONTEXT	A B-Tree associating hash values representing jump targets (#-footnotes) and TopicOffsets where these targets are located in the |TOPIC internal file. Help Access Library representation:HlpEnumContext.
|FONT	A list of the fonts and colors used in a help file. Help Access Library representation: HlpTopicEnumerate
|CTXOMAP	A list of numeric Ids defined in the [map] section of a help project and the associated hash values. Notze that this list is no B-Tree, so the size of this list is somewhat limited.
|TTLBTREE	A B-Tree list containing all TopicOffset values of Topics in the |TOPIC internal file and their associated Title-Strings ($-Footnote). Note that entries having no title are also included into this list. Help Access Library representation:HlpEnumTitles, HlpGetTopicTitle.
|TOPIC	The most complex part of the Help file containing most of the data retrieved from the RTF-Sources: •Text •Formatting informations (Tables, fonts...) •Titles ($-Footnotes) a second time in addition to |TTLBTREE •Bitmaps included with { bmcwd ... } The |TOPIC-File is usually stored as a compressed file where every compressed data block is 4 KByte or 2 KByte in Size, so the whole structure is rather complex. Help Access Library representation: HlpTopicEnumerate
|Phrases	Contains a list of phrases (most used words and parts of sentences) found during compressuib in a help file.
|PhrIndex |PhrImage	The same as |Phrases for WinHelp 4.0 files.
|bm<number> or bm<number>	A Bitmap or metafile referenced by { bmx filename } and always converted to a file format very likely to the SHG file format used by SHED.
TopicOffset values linking internal files together

References done from the |CONTEXT, |KWDATA or |TTLBTREE internal file to the |TOPIC internal file are done using a 32 bit value named TopicOffset in Help Access library. These TopicOffset values are never used in the regular Windows Help API, as they reference directly into the binary location of data stored in the |TOPIC file. For the |TOPIC  file is being compressed, the meaning of a TopicOffset is rather complex, but don't worry about that as Help Access Library manages these for you.

Hash Values and Context ID strings

A context ID string is a string connected to a #-Footnote to signify a Jump target for a popup or a topic. Context ID strings are usually not stored explicitly in a help file with the exception of context ID strings stored in SHG segmented hypergraphics and macros.

Instead Windows Help computes hash value representations from the context ID strings and stores these hash values into the |CONTEXT internal file. As the hash value contains much less information than the context ID string it is impossible to regenerate the context ID string from the hash value. Help Access Library contains the function HlpCreateStringForHashValue to generate a string having the same hash value representation, but it won't usually generate the same string passed to generate the hash value. To generate a hash value representation yourself you can use the HlpGenerateHashValue function.

Help Access Library concepts

Enumeration callbacks

For the amount of data stored in a help file can be pretty huge we choose to use enumeration callback based functionality whereever the amount of data to be retrieved is not limited. This is especially true for the Topic data, the context, key word and title lists.

For this reason most of the Help Access Library API cannot get accessed by interpreting languages like Visual Basic and Windows Help.

Examples for the use of these callbacks are to be found in a the example programs.

Accessing topic text

As the |TOPIC internal file references into the |FONTS and the |Phrases internal file and gets referenced by |KWDATA and |CONTEXT internal files, all these files need to be loaded into memory before accessing the topic text. The result of this process is summerized into a HTOPIC handle retrieved by calling HlpTopicOpen.

{ HTOPIC	htopic;

  htopic = HlpTopicOpen(ifs, HTO_FONTS | HTO_CONTEXT | HTO_KEYWORDS);

  if (htopic)

  {

    HlpTopicClose(htopic);

  }

}

If your application does not need to know about keyword usage and jump targets, you can omit the HTO_CONTEXT and HTO_KEYWORDS flags to speed up processing.

If your application is interested in plain text data only, you can even omit HTO_FONTS. HlpTopicOpen is a rather slow function so you should call it once when opening the help file and use it for all subsequent calls to HlpTopicSeek and HlpTopicEnumerate.

Reading topic text

To read the topic text you first have to call HlpTopicSeek to setup the HTOPIC-Handle to read from the specified address. The TopicOffset value transfered to HlpTopicSeek has to point directly to the beginning of a topic, so you should retrieve it by a call to HlpEnumTitles or HlpGetTopicTitle. A TopicOffset if zero (0x00000000) is always valid and signifies the start of the file.

    HlpTopicSeek(htopic, 0x00000000L);

After the seek operation has been performed you are now ready to read the topic text by enumerting it thru a callback function:

BOOL CALLBACK MyCallback(LPCSTR lpszTopicText, DWORD dummy, TEXTTYPE eTextType, LPARAM lParam)

{

  return TRUE;

}

HlpTopicEnumerate(htopic, MyCallback, 0L);

The HlpTopicEnumerate function retrieves the text from the help file and passes it to the callback paragraph by paragraph. Several TextTypes telling the callback what to do about the data transfered, it is about the same as a message parameter in a Window Procedure.

Handling of formatting informations

Help Access Library transfers all formatting informations like bold, itcalic, font size, color etc. as strings in RTF (Richt Text Format) very likely to the format they had in the help file source code. These formatting informations are sent in texttype=TOPIC_RTF_TEXT. The text data itself is not included in the RTF data and it is sent as texttype=TOPIC_TEXT.

In case your application does not need to process any formatting informations you'll usually need to process the texttypes TOPIC_TEXT and TOPIC_TEXT_CONTROL. TOPIC_TEXT_CONTROL contains the same informations as TOPIC_RTF_TEXT for carriage returns, tabs and line feeds.

If your application needs to do a good representation of the text formatting, you need to process TOPIC_RTF_TEXT and TOPIC_TEXT, in addition Help Access Library sends RTTF initialization sequenced in TOPIC_RTF_INIT and the ending "}" in TOPIC_RTF_EXIT. Thus you can add your own stylesheets, headlines etc. after TOPIC_RTF_INIT or you can inhibit TOPIC_RTF_INIT on subsequent calls to HlpTopicEnumerate after TOPIC_RTF_INIT has been included once.

To get a close idea of how formatting is to be done, take a look at the TRTF, TCNV and TCGI-examples.

Accessing Bitmaps

All Bitmaps and Metafile graphics used in Help Files are stored in a file format most likely to the Segmented Hypergraphics SHG format used by the SHED help design tool. To give your application access to the data included in these files, include the files SHGIMPOR.H and SEG.H in your C-Sourcecode and use the SHGImport function to convert data to DIB or METAFILE format. See TCNV example for more details.


TopicOffset

The higher order bits signifieing the number of a compressed memory block in the |TOPIC-file while the lower order bits pointing to a byte into the decompressed memory block starting from the first topic link block contained in that block.


Licenses and Ordering

Help Access Library is not and has never been free Software. You have the right to test the Shareware-Version of Help Access Library for 30 Days, afterwards you'll have to register (buy) it, or delete it. You do not have the right to use the example programs beyond this time period.

Help Access Library licensing price is 999 US $ or 1499 DM for a redistributable License. This will contain the License to use the DLLs and LIB files in your own application and distribute the DLL-files with it.

Please order with the Ordering Form

Giving you a License

After paying the registration fee Dipl Ing. Bernd Herd give you the right to use the Help Access Library Appliaction development Files on one Computer. Using a Software is analog to using a Book: You may use it on one single Computer Simultaniously. Copys are to be done for Backup purposes only.

You've got the right to sell your Programs with the licensed File-Versions of  Help Access Library.

You are not allowed to change, disassemble or otherwise reenginere Help Access Library or its Component Librarys.

Limited Warranty

We give no Warranty for Help Access Library to fit any given purpose. Any Program may be errornous, so we give no warranty for Costs you may have thru using Help Access Library.

License Agreement for ShareWare-Version

The Shareware-Version of LZAPI may be tested for 30 Days.

You also have the right to

•	Distribute the unchanged Archiv.

•	Test Help Access Library on ONE Computer for a maximum of 30 Days.

Contacting the Developers:

Herd Software Entwicklung

Dipl. Ing. Bernd Herd

Rudolf-Virchow-Str. 8

68642 Bürstadt

Germany

Tel.: +49-6206-707775

Fax.: +49-6206-707776

EMail-Adressen:

InterNet: HerdSoft@aol.com

CompuServe: 100545,3001

AOL: HerdSoft

FIDO-Netzadresse: 2:2464/420.10.

Word wide Web: http://www.herdsoft.com

Print your Order


Contents
HLPACCES Help File Contents

To display a list of topics by category, click any of the contents entries below. To display an alphabetical list of topics, choose the Index button.

COM Elements

Objects and Interfaces

Object Methods

Object Properties

C/C++ Elements

Classes and Class Members

Functions

Messages

Structures and Enums

Other

Overviews

Modules

Constants

Help file built: 12/17/99

About Autoduck


About Autoduck

The sources for this Help file were generated by Autoduck, the source code documentation tool that generates Print or Help files from tagged comments in C, C++, Assembly, and Basic source files.

For more information, contact Eric Artzt (erica@microsoft.com).


Contents: Objects and Interfaces
Objects and Interfaces


Contents: Object Methods
Object Methods


Contents: Object Properties
Object Properties


Contents: Object Events
Object Events


Contents: Classes and Class Members
Classes and Class Members


Contents: Functions
Functions

CONTEXTNUMPROC

HlpCreateStringForHashValue

HlpEnumContext

HlpEnumKeyWords

HlpEnumTitles

HlpFreeHelpTitle

HlpGenerateHashValue

HlpGetHelpTitle

HlpGetTopicTitle

HlpIsTopic

HlpTopicClose

HlpTopicEnumerate

HlpTopicJumpAPI

HlpTopicOpen

HlpTopicSeek

IFSClose

IFSCloseFile

IFSEnumerateFiles

IFSENUMPROC

IFSOpen

IFSOpenFile

IFSReadFile

IFSSeekFile

IsSecondaryWindow

IsTopic

KWENUMPROC

SHGExport

SHGImport

TITLEENUMPROC

TOPICENUMPROC


Contents: Messages
Messages


Contents: Structures and Enums
Structures and Enums

HELPFILETITLE

TEXTTYPE


Contents: Overviews
Overviews


Contents: Modules
Modules

ENUMCON.C

ENUMKW.C

ENUMTOP.C

ENUMTTL.C

GETTOP.C

GETTTL.C

GETVAL.C

HASH.C

HLPACCES.H

hlpalloc.c

IFS.C

IFSENUM.C

ISSECOND.C

istopic.c

JUMPAPI.C

LDCONTEXT.C

LDFONTS.C

LDKW.C

LZCOMPR.C

PARA.C

PHRASES.C

PTABLE.C

PTITLE.C

PTOPCRD.C

SHGEXPOR.C

SHGIMPOR.C


Contents: Constants
Constants


ENUMCON.C
Module ENUMCON.C

Filename: C:/HLPACCES/ENUMCON.C

Description

Code to enumerate all Context.Strings in a Help-File

Help Access Library Project.


ENUMKW.C
Module ENUMKW.C

Filename: C:/HLPACCES/ENUMKW.C

Description

Enumerates the list of Keywords contained in a Help file.

Help Access Library Project.


ENUMTOP.C
Module ENUMTOP.C

Filename: C:/HLPACCES/ENUMTOP.C

Description

Code to enumerate a topics contents and the most complex code of the whole project...

Help Access Library Project.


ENUMTTL.C
Module ENUMTTL.C

Filename: C:/HLPACCES/ENUMTTL.C

Description

Code to enumerate the list of Titles in a .HLP or .MVB File.

Help Access Library Project.


GETTOP.C
Module GETTOP.C

Filename: C:/HLPACCES/GETTOP.C

Description

Code to go thru the TOPICLINKENTRIES and enumerate their contents.

Help Access Library Project.


GETTTL.C
Module GETTTL.C

Filename: C:/HLPACCES/GETTTL.C

Description

Gets Topic Title for any valid TopicOffset Value

Help Access Library Project.


GETVAL.C
Module GETVAL.C

Filename: C:/HLPACCES/GETVAL.C

Description

Simple iGetLongValue, iGetShortValue etc. routines

Help Access Library Project.


HASH.C
Module HASH.C

Filename: C:/HLPACCES/HASH.C

Description

Computes the Hash-Code for a given Context-String.

ISTOPIC-Project.


HLPACCES.H
Module HLPACCES.H

Filename: C:/HLPACCES/HLPACCES.H

Description

Include-File for programs that use the Herd Software help file access library HLPACC16.DLL or HLPACC32.DLL.

 (C) 1996 Herd Software Development Rudolf-Virchow-Str. 8/68642 Bürstadt / Germany


hlpalloc.c
Module hlpalloc.c

Filename: C:/HLPACCES/HLPALLOC.C

Description

Memory allocation procedures for debugging purposes.

Help Access Library Project.


IFS.C
Module IFS.C

Filename: C:/HLPACCES/IFS.C

Description

Code for internal File System of Windows Help

Help Access Library Project.


IFSENUM.C
Module IFSENUM.C

Filename: C:/HLPACCES/IFSENUM.C

Description

Code to enumerate all files contained in a internal file System to a callback-Procedure.

Help File Access Project.


ISSECOND.C
Module ISSECOND.C

Filename: C:/HLPACCES/ISSECOND.C

Description

Test validity of Secondary Window Names

Help File Acces Project.


istopic.c
Module istopic.c

Filename: C:/HLPACCES/ISTOPIC.C

Description

Code to search for the Existence of a specified Context-String in the CONTEXT internal help file.

Help Access Library Project.


JUMPAPI.C
Module JUMPAPI.C

Filename: C:/HLPACCES/JUMPAPI.C

Description

Code to search for a way to open the specified topic in the appropiate Viewer application.

Help Access Library Project.


LDCONTEXT.C
Module LDCONTEXT.C

Filename: C:/HLPACCES/LDCONTEX.C

Description

Handling of CONTEXT-File

Loads CONTEXT-File into main memory and does a qsort of the Data by TopicOffset-Values to support Generation of #-Footnotes

Help Access Library Project.


LDFONTS.C
Module LDFONTS.C

Filename: C:/HLPACCES/LDFONTS.C

Description

Handling of FONTS-File

Help Access Library Project.


LDKW.C
Module LDKW.C

Filename: C:/HLPACCES/LDKW.C

Description

Loads all Keywords-Positioning Informations into Main Memory and does a qsort of the Data by TopicOffset-Values to support Generation of K-Footnotes

Not Based on HlpEnumKeyWords

Help Access Library Project.


LZCOMPR.C
Module LZCOMPR.C

Filename: C:/HLPACCES/LZCOMPR.C

Description

Code to decompress the LZ77-Compressed memory blocks.

Help Access Library Project.


PARA.C
Module PARA.C

Filename: C:/HLPACCES/PARA.C

Description

topic Paragraph enumeration

Help Access Library Project.


PHRASES.C
Module PHRASES.C

Filename: C:/HLPACCES/PHRASES.C

Description

Handling of Phrases and PhrIndex, PhrImage etc. Files.

Help Access Library Project.


PTABLE.C
Module PTABLE.C

Filename: C:/HLPACCES/PTABLE.C

Description

topic Table enumeration

Help Access Library Project.


PTITLE.C
Module PTITLE.C

Filename: C:/HLPACCES/PTITLE.C

Description

Code to Help-File system global Data like Help-File title, Copyright-String etc.

Help Access Library Project.


PTOPCRD.C
Module PTOPCRD.C

Filename: C:/HLPACCES/PTOPCRD.C

Description

Code to read a Data-Block from TOPIC-File

Help Access Library Project.


SHGEXPOR.C
Module SHGEXPOR.C

Filename: C:/HLPACCES/SHGEXPOR.C

Description

Export-Support for SHG-Files.

Converts DIBs and Hótspot-Informations into SHG (Segmented HyperGraphic) Files like the ones created by Microsofts SHED or HC31.

This function does not support creation of Metafile-based SHG-Files.

Help Access Library Project.


SHGIMPOR.C
Module SHGIMPOR.C

Filename: C:/HLPACCES/SHGIMPOR.C

Description

Import-Support for SHG-Files.

Converts SHG-Files (Segmented HyperGraphic) Files created by Microsofts SHED or HC31 into DIB or METAFILE-Format

Help Access Library Project.


CONTEXTNUMPROC

BOOL CALLBACK CONTEXTNUMPROC(DWORD dwHashValue, DWORD dwTopicOffset, LPARAM lParam)

Type-Definition for an application-supplied callback-Function that will be called each time a Hash-Value has been retrieved from the Help-File by the HlpEnumContext function.

Defined in: C:/HLPACCES/HLPACCES.H

Return Value

The Callback-Function cancels the Enumeration by return 0, every other value continues enumeration

Parameters

dwHashValue

Hashcode for the Context-ID String (#-Footnote) a valid context-String for this value may be created by the HlpCreateStringForHashValue function.

dwTopicOffset

Topic-Offset into the TOPIC-File.

lParam

Application-Defined parameter transfered to HlpEnumTitles

Comments

The enumeration is sorted by the HashValues


HlpCreateStringForHashValue

void HlpCreateStringForHashValue(DWORD HashValue, LPSTR Buffer)

Creates a String that has the same Hash-Code and can be used to Transfer hash-code data to Winhelp as a context-String for example in JumpId()-Macros and "-i"-command line Parameter.

Defined in: C:/HLPACCES/HASH.C

Parameters

HashValue

Hash-Code that shall be decoded

Buffer

Buffer for the decoded hash-Value. Minimum Size is 20 Bytes.

Comments

This Function is implemented in a rather slow manner, so do not call it more often than needed.


HlpEnumContext

BOOL HlpEnumContext(HIFS ifs, CONTEXTENUMPROC fnContextEnumProc, LPARAM lParam)

Enumerates all the Context-Id-Hash-Values defined in a Help-File By reading thru all of the CONTEXT internal File.

Defined in: C:/HLPACCES/ENUMCON.C

Return Value

TRUE if enumeration has been performed successfully.

Parameters

ifs

Handle to a opened File-System opened by IFSOpen

fnContextEnumProc

CONTEXTENUMPROC Application-Defined Callback-Procedure to be called for every context-Id found in the help file

lParam

Aplication-defined parameter to be transfered to the Callback-function


HlpEnumKeyWords

BOOL HlpEnumKeyWords(HIFS ifs, KWENUMPROC fnKWEnumProc, LPCSTR StartKeyWord, LPCSTR KWListName, LPARAM lParam)

This Function enumerates the List of Keywords from a Help or Media Viewer Tile. This Function is relatively fast.

Note that one Help or Media Viewer file can Have several Keyword lists. Usually in Help Files the Keyword list is named "K" in Media Viewe it's Named "0K", the ALink-List in Windows 95 Files is named "A", others are also possible.

Defined in: C:/HLPACCES/ENUMKW.C

Return Value

TRUE if the Function was Successfull FALSE else

Parameters

ifs

Handle to a opened File-System opened by IFSOpen

fnKWEnumProc

KWENUMPROC Application-Defined Callback-Procedure to be called for every Keyword retrieved. from the help file

StartKeyWord

Keyword to start the scan with.

KWListName

Name of the Keyword Table (K,0K,A...)

lParam

Aplication-defined parameter to be transfered to the Callback-function


HlpEnumTitles

BOOL HlpEnumTitles(HIFS ifs, TITLEENUMPROC fnTitleEnumProc, LPARAM lParam)

This Function enumerates the List of titles to the application-Given callback Function.

Defined in: C:/HLPACCES/ENUMTTL.C

Return Value

TRUE if the Function was Successfull FALSE else

Parameters

ifs

Handle to a opened File-System opened by IFSOpen

fnTitleEnumProc

TITLEENUMPROC Application-Defined Callback-Procedure to be called for every topic found in the help file

lParam

Aplication-defined parameter to be transfered to the Callback-function

Comments

As the Group-Definition Contained in a Media Viewer 2.0-File is not itself stored in the TTLBTREE internal File, this Function will not emit group strings. The HlpTopicEnumerate Function can be used to retrieve these strings for one or all topics.


HlpFreeHelpTitle

void HlpFreeHelpTitle(LPHELPFILETITLE tit)

Frees a HELPFILETITLE memory-Object allocated by the HlpGetHelpTitle function

Defined in: C:/HLPACCES/PTITLE.C

Parameters

tit

Pointer to the memory-Object


HlpGenerateHashValue

long HlpGenerateHashValue(LPCSTR lpszHashString)

Computes a Hash-Value representing a Context-String (#-Footnote) using the same algorithm Windows Help uses internally.

Defined in: C:/HLPACCES/HASH.C

Return Value

The 32-Bit Hash Value

Parameters

lpszHashString

Pointer to the context-Striong, for example "IDH_CONTENTS"


HlpGetHelpTitle

LPHELPFILETITLE HlpGetHelpTitle(HIFS ifs)

Allocates a memory-Object with Informations read from a Help-Files SYSTEM-File The memory object must be freed with HlpFreeHelpTitle afterwards.

Defined in: C:/HLPACCES/PTITLE.C

Return Value

A Pointer to a HELPFILETITLE structure or NULL if the file-System does not contain a SYSTEM-File.

Parameters

ifs

Handle of the File-System, opened wit IFSOpen


HlpGetTopicTitle

BOOL HlpGetTopicTitle(HIFS ifs, DWORD dwTopicOffset, LPSTR lpszBuffer, UINT uBufferSize, LPDWORD lpdwTopicOffsetStart)

Retrieves the Topic Title for a given TopicOffset Value. The TopicOffset does not neccessarily need to point directly to the start of the Topic.

Defined in: C:/HLPACCES/GETTTL.C

Return Value

TRUE if the Function was Successfull FALSE else

Parameters

ifs

Handle to a opened File-System opened by IFSOpen

dwTopicOffset

TopicOffset to search for

lpszBuffer

Pointer to a Buffer to copy the retrieved Title String or NULL if not needed

uBufferSize

Size of the Bufffer in Bytes

lpdwTopicOffsetStart

Pointer to a DWORD that will contain the TopicOffset value for the begin of the Topic or NULL if this is not needed


HlpIsTopic

BOOL HlpIsTopic(HIFS ifs, DWORD HashCode)

Tests if the given Hash-Code is in the list of hash-Codes in the given File.

Hash-Codes are 32-Bit values generated from Context-Strings (#-Footnotes) by a call to HlpGenerateHashValue

The hash-Codes are to be found in the internal CONTEXT-File which is organized as a simple B-Tree

Defined in: C:/HLPACCES/ISTOPIC.C

Return Value

TopicOffset Value, or 0xffffffff if not found.

Parameters

ifs

Handle of an open File-System returned by IFSOpen

HashCode

Hash-Code for a contextr string, retrieved by HlpGenerateHashValue

See Also

IsTopic, HlpGenerateHashValue, IFSOpen


HlpTopicClose

HlpTopicClose(void)

Closes a Handle opened by HlpTopicOpen

Defined in: C:/HLPACCES/ENUMTOP.C


HlpTopicEnumerate

BOOL HlpTopicEnumerate(HTOPIC htopic, TOPICENUMPROC fnenum, LPARAM lParam)

Enumerates a topics contents to the Application-Defined Callback function

Defined in: C:/HLPACCES/ENUMTOP.C

Parameters

htopic

HTOPIC-Handle retrieved from a call to HlpTopicOpen

fnenum

TOPICENUMPROC Application-Defined callback-Funtion that will receive Data

lParam

Application-defined userdata to be transfered to the callback function


HlpTopicJumpAPI

BOOL HlpTopicJumpAPI(LPCSTR lpszHelpFileName, HTOPIC topic)

Tries to launch Windows Help or Media Viewer 2.0 to display the topic accessed with HlpTopicSeek.

This is not always possible.

The Function determines automatically if the Windows Help File has been created using HC31 or HCW. If The file has been created using HCW, WINHLP32.EXE will be used as viewer application, else WINHELP.EXE will be used to avoid nag Messages caused by 16-Bit dynamic link Libraries.

Defined in: C:/HLPACCES/JUMPAPI.C

Return Value

The return Value is TRUE when the Function successfully started a Viewer, it is FALSE if either the Media Viewer was not installed or the Windows Help topic has no context Id to jump to.

Parameters

lpszHelpFileName

Filename of the Help or Media Viewer file.

topic

Topic-Handle created by HlpTopicOpen and positioned to the TopicOffset using HlpTopicSeek

Comments

The function cannot jump directly into a Windows Help File due to the fact the Windows Help does not support an API to transfer a TopicOffset Value.

The Function Therefore Searches the CONTEXT-File for a hash-Code that can be transfered using the undocumented JUMPHASH macro.

If there is no such context string entry (# Footnote), the Function is unable to open the topic.


HlpTopicOpen

HTOPIC HlpTopicOpen(HIFS ifs, DWORD flags)

Opens the internal Help TOPIC-File and reads in and decompresses secondary Tables, like Phrases, Keywords etc. for later use in Enumeration by HlpTopicEnumerate

The returned Handle need to be freed by calling HlpTopicClose.

The HlpTopicEnumerate-Function does not stop enumeration until the application-defined Callback-Functions tells it to stop by returning Zero, or the end of the file is reached.

Defined in: C:/HLPACCES/ENUMTOP.C

Return Value

The return Value will be NULL if the File cannot be opened, for example due to the fact that the IFS is not a Help-File.

Parameters

ifs

Handle of the open internal file System returned by IFSOpen

flags

Flag-Values that declare what data needs to be loaded (Keywords, Context-Strings...), combined with OR-Opertaor:

HTO_FONTS

Load FONTS-Table, create font and color Table output on enumeration. The use of this flag is recommended

HTO_KEYWORDS

load Keywords-Table (all!) and enumerate keywords whith the text. loading keywords takes a reasonable amount of time and main memory. Do not set this flag if you do not need the keywords.

HTO_CONTEXT

Loads CONTEXT-Table (all!) and enumerate Context Ids (#-Footnotes) whith the text. Loading takes a reasonable amount of time and main memory. Do not set this flag if you do not need the Context Id output.

Comments

HlpOpenTopic is a rather slow operation, so when enumerating multiple Topics it's a good idea to do them all using the same HTOPIC-Handle.

This effect is especially important when using HTO_xxxx flags to add keyword and context-String support, because they have to be loaded ALL and COMPLETELY.


HlpTopicSeek

void HlpTopicSeek(HTOPIC topic, DWORD TopicOffset)

Positions the TOPIC-File to the TopicOffset address given as the Parameter. This TopicOffset will be the Address for subsequent calls to HlpTopicEnumerate and HlpTopicJumpAPI

Defined in: C:/HLPACCES/PTOPCRD.C

Parameters

topic

TOPIC-File reference Handle

TopicOffset

TopicOffset value retrieved by HlpEnumTiltes

Comments

This is not a simple seek-operation, as the Topiclink chains have to be maintained.

If the given TopicOffset is invalid, a GPF may occur.


IFSClose

void IFSClose(HIFS ifs)

Closes Down .HLP-File and frees assigned Structures. Frees memory-Structures created by IFSOpen

Defined in: C:/HLPACCES/IFS.C

Parameters

ifs

Handle of the File-System returned by IFSOpen


IFSCloseFile

void IFSCloseFile(HIFSFILE ifsfile)

Closes an internal File opened by IFSOpenFile.

Defined in: C:/HLPACCES/IFS.C

Parameters

ifsfile

The file-handle as returned by IFSOpenFile

Comments

All HIFSFILE File handled must be closed with calls to IFSCloseFile before the assigned HIFS can be closed by IFSClose


IFSEnumerateFiles

void IFSEnumerateFiles(HIFS ifs, IFSENUMPROC fnCallback, LPARAM lParam)

Enumerates the files contained in the File System.

Has about the same meaning as a DIR-Command or a set of findfirst/findnext...

Defined in: C:/HLPACCES/IFSENUM.C

Parameters

ifs

Handle of the file system opened with a call to IFSOpen

fnCallback

IFSENUMPROC application-supplied callback-function that will be called for every filename retrieved from the File System

lParam

Application-Defined parameter that will be transfered to the callback

Comments

Files starting with a 0x7c-Character are usually automatically added by the Compiler, while other files are usually added by the [Baggage]

The enumeration is sorted by the Filename, upper case characters first


IFSENUMPROC

BOOL CALLBACK IFSENUMPROC(LPCSTR lpszFileName, DWORD dwFileOffset, LPARAM lParam)

Application-defined callback-Function to be used for calls to IFSEnumerateFiles. IFSEnumerateFiles calls this function for every Filename retrieved from a file System

Defined in: C:/HLPACCES/HLPACCES.H

Parameters

lpszFileName

File name of the internal File

dwFileOffset

Offset of the file in the physical Help-File

lParam

Application-Defined parameter transfered with the call to IFSEnumerateFiles


IFSOpen

HIFS IFSOpen(LPCSTR HelpFileName)

Opens an existing .HLP or .MVB and reads in Header-Level Data structures

Defined in: C:/HLPACCES/IFS.C

Return Value

A Handle for the opened File-System to be used in Subsequent calls to IFSOpenFile. The Handle must be freed by calling IFSClose

Parameters

HelpFileName

Pointer to a string containing the Filename of the Help-File

Comments

This function may also be used to open other internal File Systems, for example Annotation-Files etc.


IFSOpenFile

HIFSFILE IFSOpenFile(HIFS ifs, LPCSTR InternalFileName)

Opens an internal File.

Opens a file contained in a File-System for reading. The file system has to be opened by a previous call to IFSOpen. More than one internal file can be ópened with calls to IFSOpenFile at the same time using the same HIFS-Handle.

Defined in: C:/HLPACCES/IFS.C

Return Value

A Handle for the opened file to be used in subsequent calls to IFSReadFile IFSSeekFile and IFSCloseFile

Parameters

ifs

Handle of the File-System opened by IFSOpen

InternalFileName

Internal filename of the Baggage-File NOTE: filenames are case-different, so you have to transfer the correct case for the Filename

Comments

All HIFSFILE File handled must be closed with calls to IFSCloseFile before the assigned HIFS can be closed by IFSClose


IFSReadFile

long IFSReadFile(HIFSFILE ifsfile, LPVOID dest, DWORD count)

Reads data from an internal File.

Defined in: C:/HLPACCES/IFS.C

Return Value

Number of bytes actually read from the internal file. if the Number of bytes that need to be read would exceed the size of the internal file, the number is reduced to the actual file size.

The number returned may be -1 to indicate an error.

Parameters

ifsfile

Handle to the opened internal file returned by IFSOpenFile

dest

Destination buffer address

count

Number of Bytes that need to be read

Comments

This function can read more than 65535 bytes at a time on 16-Bit OS.


IFSSeekFile

long IFSSeekFile(HIFSFILE ifsfile, DWORD pos, int whence)

Positions an Internal File for subsequent calls to IFSREadFile.

Defined in: C:/HLPACCES/IFS.C

Return Value

The new file-position in the internal file relative to the start of the internal file.

Parameters

ifsfile

Handle of the internal file returned by IFSOpenFile

pos

new file-Postion

whence

0-Postion relative to start of file, 1-Postion relative to current position, 2-Position relative to end of file

Comments

This Function is also useful to retrieve the size of a internal File. by Specifying 2 (SEEK_END) for whence and 0 for pos

This function will not detect if the new position is before the start or after the end of the file.


IsSecondaryWindow

BOOL IsSecondaryWindow(LPCSTR FileName, LPCSTR WindowName)

Tests if the given Help-File contains a Definition of the diven Secondary Window-Name.

Defined in: C:/HLPACCES/ISSECOND.C

Return Value

Indicates if the Window-Definition exists

TRUE

The file contains such a Window-Definition

FALSE

The file does not exist, is no help file or does not contain such a Window-Definition

Parameters

FileName

Filename of the Help-File

WindowName

name of the secondary Window

Comments

Lower/Upper case do not care.


IsTopic

BOOL IsTopic(LPCSTR FileName, LPCSTR ContextString)

Tests if a given Help file contains a given Context-String (#-Footnote).

Defined in: C:/HLPACCES/ISTOPIC.C

Return Value

Indicates if the Context-String

TRUE

The file contains such a Topic

FALSE

The file does not exist, is no help file or does not contain such a topic

Parameters

FileName

Pointer to Filename of the help file

ContextString

Pointer to Context-String, i.e. IDH_CONTENTS

Comments

Lower/Upper case do not care.

The context-String might either be defined in a popup or topic, in the middle of a Topic or at the start of a topic...

See Also

HlpIsTopic


KWENUMPROC

BOOL CALLBACK KWENUMPROC(LPCSTR lpszKeyWord, DWORD dwDataOffset, UINT uDataCount, LPARAM lParam)

Application-defined callback-Function to be used for calls to HlpEnumKeyWords. HlpEnumKeyWords calls this function for every Keyword retrieved from a Help or Media Viewer File

Defined in: C:/HLPACCES/HLPACCES.H

Return Value

The Callback-Function cancels the Enumeration by return 0, every other value continues enumeration

Parameters

lpszKeyWord

Keyword retrieved

dwDataOffset

Offset of the Keyword into the Keyword-Datafile (KWDATA, 0KWDATA or AKWDATA...) where the TopicOffsets for use with HlpTopicSeek can be retrieved

uDataCount

Number of uses of this Keyword in the File.

lParam

Application-Defined parameter transfered with the call to IFSEnumerateFiles

Comments

The Informations retrieved from the KeyWord Binary Tree contain the Keyword strings in an alphabetically sorted list and a Reference to the Keyword Data File (KWDATA, 0KWDATA, AKWDATA...)

The KWDATA file contains a list of DWORD-Values for the TopicOffsets linkes to the Topics that used these Keyword. To jump to a Topic using HlpTopicSeek or HlpTopicJumpAPI You first have to open the KWDATA-File, read the Topic-Offset(s) and use these for the Jump.


SHGExport

HGLOBAL SHGExport(HWND hwParent, HGLOBAL hDib, HGLOBAL hSegInfo)

Performs export of DIB as SHG-Graphic with Hotspots

Defined in: C:/HLPACCES/SHGEXPOR.C

Parameters

hwParent

Parent-Window for error Messages

hDib

DIB-Handle

hSegInfo

Segmentation Informations or NULL if none available See File SEG.H for more Informations on format

See Also

SHGImport

Return Codes

NULL	on Error
!=NULL	Global Memory Handle containing the SHG file Data.


SHGImport

BOOL SHGImport(HWND hwParent, LPVOID SHGData, HGLOBAL FAR * lphDib, HMETAFILE FAR* lphMetaFile, LPMETAFILEHEADER lpMetaFileHeader, HGLOBAL FAR * lphSegInfo)

Does convert a Memory-Block that signifies an SHG-File into a DIB-Bitmap or Meatfile and Segmentation-Information in SEG-File Format. The segmented Hypergraphics in SEG-File format is documented in file SEG.H

Defined in: C:/HLPACCES/SHGIMPOR.C

Parameters

hwParent

Parent-Window for error Messages

SHGData

Input Data Block

lphDib

Pointer to a DIB-Handle variable. Should be Initialized by the application to NULL and will Contain a DIB-Handle on return if the SHG-File contained a DIB

lphMetaFile

Metafile-Handle for SHG containing WMF Initialized by the application to NULL and will Contain a HMETAFILE-Handle on return if the SHG-File contained a Metafile

lpMetaFileHeader

Will be filled with Informations on placeable Metafiles This member is used only if the SHG-File has been built based on a Metafile.

lphSegInfo

Segmentation Informations in format documented in SEG.H

Comments

Segmented Hypergraphic file can either be created based on a Bitmap (DIB) or on a Metafile. Both can be converted one into the other with some restrictions. This conversion code is not itself part of Help Access Library and can be found in our DaVinci package. Be aware that many Metafiles are just wrappers around Bitmaps and using PlayMetafile to transfer these into a Bitmap is NOT the best method of handling.

See Also

SHGExport

Return Codes

TRUE	On Successfull Execution
FALSE	On Errors


TITLEENUMPROC

BOOL CALLBACK TITLEENUMPROC(LPCSTR lpszTitle, LPCSTR lpszDummy, DWORD dwTopicOffset, LPARAM lParam)

Type-Definition for an application-supplied callback-Function that will be called each time a Title has been retrieved from the Help-File by the HlpEnumTitles function.

Defined in: C:/HLPACCES/HLPACCES.H

Return Value

The Callback-Function cancels the Enumeration by return 0, every other value continues enumeration

TRUE if the Function was Successfull FALSE else

Parameters

lpszTitle

Title-String retrieved from Help-File TTLBTREE

lpszDummy

Dummy-String variable might eventually be used for Group names in the future and is currently always NULL

dwTopicOffset

Topic-Offset into the TOPIC-File.

lParam

Application-Defined parameter transfered to HlpEnumTitles

Comments

The number of enumerated Names can be huge, depending on the .MVB - or .HLP File.

The enumeration is sorted by the value of TopicOffset

As the Group-Definition Contained in a Media Viewer 2.0-File is not itself stored in the TTLBTREE internal File, this Function will not receive it. The HlpTopicEnumerate Function can be used to retrieve these strings for one or all topics.


TOPICENUMPROC

BOOL CALLBACK TOPICENUMPROC(LPCSTR lpszTopicText, DWORD dwTopicOffset, TEXTTYPE eTextType, LPARAM lParam)

Application-Defined callback-routine called by HlpEnumerateTopic whenever Topic-Text is to be transfered to the Application.

Defined in: C:/HLPACCES/HLPACCES.H

Return Value

The Callback-Function cancels the Enumeration by return 0, every other value continues enumeration

Parameters

lpszTopicText

Text to be transfered to the Application program

dwTopicOffset

TopicOffset where these Informations have been retrieved (not exact)

eTextType

TEXTTYPE type of Text-String transfered to the Application

lParam

Application-Defined user Data


HELPFILETITLE
HELPFILETITLE Structure

typedef struct {

LPSTR HelpTitle;

LPSTR Citation;

LPSTR Copyright;

BYTE Version;

BYTE Revision;

WORD Flags;

UINT GroupCount;

LPSTR FAR   * GroupNames;

} HELPFILETITLE;

a Memory-Object allocated and filled by HlpGetHelpTitle and Freed by the HlpFreeHelpTitle.

Defined in: C:/HLPACCES/HLPACCES.H

Members

HelpTitle

Title of Help-File

Citation

Citation of Help-File

Copyright

Copyright of Help-File

Version

Version # of Help Compiler

Revision

Revision code of Help Compiler

Flags

Compression-related Flag-Values

GroupCount

Number of Groups defined in an Media Viewer 2.0-File

GroupNames

Names and descriptions of the Groups, or NULL of no groups defined or no Media Viewer 2.0 file.


HIFS

Handle to an open File-System (.HLP, .MVB or .ANN-File)

Defined in: C:/HLPACCES/HLPACCES.H


HIFSFILE

Handle to a file inside of a File-System, like a Baggage-File or a included SHG-File etc.

Defined in: C:/HLPACCES/HLPACCES.H


HTOPIC

Handle to an opened TOPIC-File retrieved vom HlpTopicOpen and closed by HlpTopicClose

Defined in: C:/HLPACCES/HLPACCES.H


TEXTTYPE

enum TEXTTYPE {

TOPIC_TEXT,

TOPIC_TEXT_CONTROL,

TOPIC_TITLE,

TOPIC_TITLE_GROUP,

TOPIC_MACRO_ENTRY,

TOPIC_MACRO_HOTSPOT,

TOPIC_RTF_INIT,

TOPIC_RTF_TEXT,

TOPIC_RTF_EXIT,

TOPIC_EWX,

TOPIC_BMX,

TOPIC_MCI,

TOPIC_BUTTON,

TOPIC_CONTEXTID,

TOPIC_KEYWORD,

TOPIC_HOTSPOT_START,

TOPIC_HOTSPOT_END

};

Topic text is transfered to the Application based on a Application-Defined Callback procdedure. The callback-Function receives a Block of text Data from the Topic.

The eTextType enumeration code tells the Application about the Type of Informations retrieved.

Defined in: C:/HLPACCES/HLPACCES.H

Members

TOPIC_TEXT

Transfered Data is normal Topic Text

TOPIC_TEXT_CONTROL

Transfered Data is Additional control-code, like Carriage Return, Tab etc.

TOPIC_TITLE

Transfered Data is a Topic Title ('$'-Footnote)

TOPIC_TITLE_GROUP

Transfered Data is the group-name in case of a Media Viewer 2.0 MVB-File, This does not currently apply to Media View files which are renamed to ".MVB", like Development Network files.

TOPIC_MACRO_ENTRY

Transfered Data is a Macro-String defined in a "!"-Footnote

TOPIC_MACRO_HOTSPOT

Transfered Data is a Macro-String defined in a Hotspot (!-Hidden Text)

TOPIC_RTF_INIT

Transfered Data is additional Formatting Information in RTF-Coding. The Data is Initialization Table Data such as colortbl etc. and should be contained in a Help File only once.

TOPIC_RTF_TEXT

Transfered Data is additional Formatting Information in RTF-Coding. The Data is part of the Text formatting of Paragraphs, Tabels etc.

TOPIC_RTF_EXIT

Transfered Data is additional Formatting Information in RTF-Coding. The Data is Deinitialization Data, usually no more than just "}" and should be contained in a Help File only once.

TOPIC_EWX

Transfered Dats is { ewl ...}, { ewc ...}, { ewr ...} embedded Window String

TOPIC_BMX

Transfered Data is { bml ...}, { bmr ...}, { bmc ...} Bitmap String. Filename: Internal File System Filename

TOPIC_MCI

Transfered Data is MCI-Control string { mci ...}

TOPIC_BUTTON

Transfered Data is Windows 95 { button...} string command

TOPIC_CONTEXTID

Transfered Data is a Context-Id (#-Footnote)

TOPIC_KEYWORD

Transfered Data is a Keyword-Entry (K-Footnote) Format: Table-Name tab List of Keywords

TOPIC_HOTSPOT_START

Transfered Data is Hotspot at the starting-Point of the Jump-Hotspot.

TOPIC_HOTSPOT_END

Transfered Data is Hotspot at the ending-Point of the Jump or Macro-Hotspot.