Programmer Reference-QA Plugins

Implementation Guidelines

An ApSIC Xbench QA plug-in is a standard Windows DLL that implements a predefined set of function calls designed to extend the QA built-in capabilities. The QA plug-in can be implemented in any programming language that supports standard Windows DLL development. All function calls described in this reference guide must be implemented and exported. If not all functions are exported, ApSIC Xbench will either not recognize the QA plug-in or crash. »

QA Plugin Structure

The QA plug-in implements two sets of functions that are used by ApSIC Xbench at two different stages: Startup Stage These functions are called when ApSIC Xbench starts and are used to get information about the functionality of all QA plug-ins installed. ApSIC Xbench uses this information to extend the check box options available in the QA view. Each QA plug-in maps to an item in the check group list and each check function implemented in the QA plug-in maps to a check in the list of checks list linked to the check group. »


At startup, ApSIC Xbench will look for all DLLs in the ApSIC Xbench directory with a file name beginning with XbenchQA. Those DLLs implementing all function calls defined in this reference guide will be loaded and prepared to be used by the QA process. To install a QA plug-in, just copy the DLL into the ApSIC Xbench directory. To uninstall it, simply move the DLL to another directory. »


GetDeclareInfo Retrieves information about the QA plug-in. Syntax PQAPluginDeclareInfo GetDeclareInfo() Parameters None Result Returns a pointer to a TQAPluginDeclareInfo object containing information about the QA plug-in. GetDeclareName Retrieves the name for this QA plug-in to be shown in the “Check Group” box in QA tab. Syntax PWSTR GetDeclareName() Parameters None Result Returns a pointer to a string with the name of the QA plug-in. GetFirstFunction Retrieves the handle of the first function in the QA plug-in. »


TQAPluginDeclareInfo Contains information and properties regarding the QA plug-in. Syntax typedef struct _TQAPluginDeclareInfo { WORD StructVersion; WCHAR Description[256]; WCHAR Keywords[256]; WORD Version; LANGID SourceLang; LANGID TargetLang; BOOL AllowsUnicode; BOOL AllowsAnsi; } TQAPluginDeclareInfo, *PQAPluginDeclareInfo; Properties StructVersion: Version of the TQAPluginDeclareInfo structure. Leave as 0. Description: Short description of the QA plug-in functionality. Keywords: Comma separated list of keywords which are related to this QA plug-in (not used currently). Version: Version for this QA plug-in. »