Contains information and properties regarding the QA plug-in.
typedef struct _TQAPluginDeclareInfo { WORD StructVersion; WCHAR Description[256]; WCHAR Keywords[256]; WORD Version; LANGID SourceLang; LANGID TargetLang; BOOL AllowsUnicode; BOOL AllowsAnsi; } TQAPluginDeclareInfo, *PQAPluginDeclareInfo;
When ApSIC Xbench feeds segments to the QA plug-in, their source and target text may be encoded either in ANSI or Unicode. The AllowsAnsi and AllowsUnicode fields tell ApSIC Xbench the encodings the QA plug-in is able to handle in case there is more than one possibility.
Please note that saying that a QA plug-in ALLOWS a specific encoding does not mean that it WILL get the text using that encoding. For instance, setting AllowsUnicode to TRUE just tells ApSIC Xbench that the encoding is accepted, but it is not being forced to use it. Actually the engine in ApSIC Xbench 2.9 will only send ANSI strings to the QA plug-in.
Contains information about an error detected by the QA plug-in during the QA.
typedef struct _TQAPluginResult {
PWSTR Text;
DWORD SegId;
PQAPluginResultOptions Options;
} TQAPluginResult, *PQAPluginResult;
The Options element is ignored if this structure is returned from ProcessSegment. It is only checked when returning from GetFirstResult/GetNextResult.
The segment identifier (SegId) is provided by ApSIC Xbench through ProcessSegment function calls.
Contains extra information about the result for a QA error.
typedef struct _TQAPluginResultOptions {
WORD StructVersion;
BOOL Sorted;
BOOL Groupable;
} TQAPluginResultOptions, *PQAPluginResultOptions;
typedef struct _TQASegmentInfo {
PSTR Source;
PSTR Target;
PWSTR WSource;
PWSTR WTarget;
DWORD SegId;
} TQASegmentInfo, *PQASegmentInfo;
This structure will never have both the ANSI and Unicode versions of a string, only one of the Source/Target pairs will be present (be it the ANSI or the Unicode one) and the other will be NULL. It is up to the QA plug- in to check if the string is valid or NULL. Please note that ApSIC Xbench 2.9 works internally in ANSI mode even when the original files are Unicode, but this changed in ApSIC Xbench 3.0, so do not assume you will always get ANSI strings here.