lpDllDlgStruct is a pointer to a tagDLLMSGSTRUCT that contains the following information:
-
lpDllDlgStruct->nDllDlgStructSize: The size of the structure can be used to compare the size of your custom DLL's defined structure with the size of a defined structure being passed by OCR for AnyDoc. This will serve to protect the custom verification DLL from having a version mismatch with OCR for AnyDoc.
-
lpDllDlgStruct->pszFamilyName: pszFamilyName is a pointer to a null terminated string that contains the name of the Form Family being processed.
-
lpDllDlgStruct->pszBatchName: pszBatchName is a pointer to a null terminated string that contains the batch number being processed.
-
lpDllDlgStruct->pszTemplateName: pszTemplateName is a pointer to a null terminated string that contains the master form template name being processed.
-
lpDllDlgStruct->pszImageFileName: pszImageFileName is a pointer to a null terminated string that contains the fully qualified path and filename of the current image.
-
lpDllDlgStruct->pszImportFileName: pszImportFileName is a pointer to a null terminated string that contains the fully qualified original import path and file name of the image.
-
lpDllDlgStruct->nSequence: nSequence contains the batch sequence number of the current image.
-
lpDllDlgStruct->nTotalImages: nTotalImages contains the total number of images in this batch.
-
lpDllDlgStruct->nTotalZones: nTotalZones contains the total number of zones for the current master form template.
-
lpDllDlgStruct->nTotalLines: NtotalLines contains the total number of lines in the current zone.
-
lpDllDlgStruct->pszZoneName: pszZoneName is a pointer to a null terminated string that contains the name of the current zone being passed to the DLL.
-
lpDllDlgStruct->nZoneNumber: nZoneNumber contains the number of the current zone being passed to the DLL.
-
lpDllDlgStruct->nLineNumber: nLineNumber contains the number of the current line of the current zone being passed to the DLL.
-
lpDllDlgStruct->rLineRect: The rLineRect structure defines the coordinates of the upper-left and lower-right corners of the rectangle on the image that contains the current line being passed to the custom DLL.
-
leftSpecifies the x-coordinate of the upper-left corner of the rectangle.
topSpecifies the y-coordinate of the upper-left corner of the rectangle.
rightSpecifies the x-coordinate of the lower-right corner of the rectangle.
bottomSpecifies the y-coordinate of the lower-right corner of the rectangle.
-
-
lpDllDlgStruct->pQuesChars: pQuesChars is a pointer to an array of bytes that either have a 0 or a 1. A zero (0) has a value of not questionable and one (1) has a value of questionable. This array has a length of the current value of lpDllDlgStruct->pszText and each value corresponds to the character at the same index within that member variable.
-
lpDllDlgStruct->prCharRects: prCharRects is a pointer to an array of RECT structures that define the coordinates of the upper-left and lower-right corners of the rectangle of the indexed questionable character on the image that contains the current line being passed to the custom DLL. Can be accessed as follows:
-
LPRECT lpRect;
lpRect = (LPRECT)lpDllRuleStruct->prCharRects+(nIndex*(sizeof(RECT)));
-
-
lpDllDlgStruct->nNumQuesChars: nNumQuesChars contains the total number of questionable characters in the current line being passed to the custom DLL.
-
lpDllDlgStruct->pszText: On entry, pszText contains a pointer to a null terminated string that contains the value of the current line of the current zone being passed to the DLL.
This value can be modified by the custom DLL if desired (for example, after displaying a dialog box). If it is modified, OCR for AnyDoc will remove additional questionable information from the line.
-
lpDllDlgStruct->nDllMessage: The verification DLL can use the variable to store information for later calls to DLLVfyLinePhase(), DLLDlgLinePhase(), or DLLRuleLinePhase().
For example, this number could be used to store what type of violation occurred or, if you are using resource strings, to set the number of the string to be displayed when DLLDlgLinePhase() is called. Remember that OCR for AnyDoc does nothing with this value other than store it.
-
lpDllDlgStruct->nStatus: On return from the DLL nStatus describes any status changes that need to be communicated by the DLL to OCR for AnyDoc. It must contain one of the Custom DLL Line Status Flags defined in the supplied header file VFYCUST.H.
On entry, nStatus has no use.
-
CDLL_UNCHANGED: The value of lpDllDlgStruct->pszText is “OK”; its contents are returned unmodified (default).
-
CDLL_FLAGGED: The value of lpDllDlgStruct->pszText is incorrect and requires custom rule interaction. The rule interaction insures that the line in question is stopped for interactive editing in the verification phase and that DLLMsgLinePhase is called. OCR for AnyDoc will remove additional questionable information from the line. The value of lpDllDlgStruct->pszText may be modified on return.
-
CDLL_MODIFIED: The value of lpDllDlgStruct->pszText was modified or is OK and will not be brought up for interactive editing in the verification phase unless the user moves to this line. OCR for AnyDoc will remove additional questionable information from the line. The value of lpDllDlgStruct->pszText may be modified on return.
-
CDLL_MODIFIED_DISABLE: The value of lpDllDlgStruct->pszText was modified or is OK and will not be brought up for interactive editing in the verification phase unless the user navigates to this line, then it is READ-ONLY. OCR for AnyDoc will remove additional questionable information from the line. The value of lpDllDlgStruct->pszText may be modified on return.
-
CDLL_MODIFIED_HIDE: The value of lpDllDlgStruct->pszText was modified or is OK and will not be brought up for interactive editing in the verification phase even if the user navigates to this line. OCR for AnyDoc will remove additional questionable information from the line. The value of lpDllDlgStruct->pszText may be modified on return.
-
CDLL_FLAGGED_UNCHANGED: The value of lpDllDlgStruct->pszText is incorrect and requires custom rule interaction. This insures that the line in question is stopped for interactive editing in the verification phase and that DLLMsgLinePhase is called. Additional questionable information will not be removed from the line. The value of lpDllDlgStruct->pszText may not be modified by the DLL.
-
CDLL_INSERT_BEFORE: The value of lpDllDlgStruct->pszText is inserted before the current line.
-
CDLL_INSERT_AFTER: The value of lpDllDlgStruct->pszText is inserted after the current line.
-
CDLL_RECHECK_RULE: The value of lpDllDlgStruct->pszText was modified and will not be brought up for interactive editing in the verification phase unless other form definition rules are broken on this line. OCR for AnyDoc will remove additional questionable information from the line. The value of lpDllDlgStruct->pszText may be modified on return.
-