ABS_Callback PROCEDURE(ULONG ABS_Operation,ULong dwMsgID,Ulong dwData) Code !MR:Message='ID:'&dwMsgID&' Data:'&pMsgData !Add(MessageResponses) !MR:Message=' FlagResult: '&ABS_Operation_1.Flags !Add(MessageResponses) Case dwMsgID Of ABS_MSG_PROCESS_BEGIN !MR:Message='UPEK New process stage of the interactive operation begun.' !Add(MessageResponses) Of ABS_MSG_PROCESS_END !MR:Message='UPEK Process stage of the interactive operation ended.' !Add(MessageResponses) Of ABS_MSG_PROCESS_SUSPEND !MR:Message='UPEK Execution of the interactive operation has been suspended.' !Add(MessageResponses) Of ABS_MSG_PROCESS_RESUME !MR:Message='UPEK The interactive operation has been resumed.' !Add(MessageResponses) Of ABS_MSG_PROCESS_PROGRESS !MR:Message='UPEK Informs that the operation is in progress.' !Add(MessageResponses) Of ABS_MSG_PROCESS_SUCCESS MR:Message='UPEK Informs that the process has succeeded.'&ABS_MSG_PROCESS_SUCCESS Add(MessageResponses) ! ABS_PROCESS_SUCCESS_DATA GROUP,TYPE ! ProcessID ULong ! SampleImage ULONG ! Template ULONG ! End ! ABS_PROCESS_SUCCESS_DATA_1 Like(ABS_PROCESS_SUCCESS_DATA) memcpy(address(ABS_Header),AbsBirHeader.FormatID,size(AbsBirHeader.Length)) memcpy(address(ABS_PROCESS_SUCCESS_DATA_1),dwData,size(ABS_PROCESS_SUCCESS_DATA_1)) MR:Message='dwData-pointer='&dwData Add(MessageResponses) ! ABS_IMAGE GROUP,TYPE ! Width SHORT ! Height SHORT ! ColorCount ULONG ! HorizontalDPI ULONG ! VerticalDPI ULONG ! ImageData BYTE ! End ! ABS_IMAGE_1 Like(ABS_IMAGE) If ABS_PROCESS_SUCCESS_DATA_1.SampleImage > 0 memcpy(Address(ABS_IMAGE_1),ABS_PROCESS_SUCCESS_DATA_1.SampleImage,Size(ABS_IMAGE_1)) MR:Message='Sample-Image-Pointer: '&ABS_PROCESS_SUCCESS_DATA_1.SampleImage Add(MessageResponses) MR:Message='Sample-Image: '&ABS_IMAGE_1 Add(MessageResponses) MR:Message='ABS_IMAGE_1.Width:'&ABS_IMAGE_1.Width Add(MessageResponses) MR:Message='ABS_IMAGE_1.Height:'&ABS_IMAGE_1.Height Add(MessageResponses) End MR:Message='Template-pointer: '&ABS_PROCESS_SUCCESS_DATA_1.Template Add(MessageResponses) IF ABS_PROCESS_SUCCESS_DATA_1.Template > 0 memcpy(Address(BIR_Template),ABS_PROCESS_SUCCESS_DATA_1.Template,Size(BIR_Template)) End MR:Message='Template-ID:'&BIR_Template Add(MessageResponses) Of ABS_MSG_PROCESS_FAILURE MR:Message='UPEK Informs that the operation has failed.' Add(MessageResponses) Of ABS_MSG_PROMPT_SCAN MR:Message='SWIPE FINGER NOW' Add(MessageResponses) Of ABS_MSG_PROMPT_TOUCH MR:Message='TOUCH SENSOR NOW' Add(MessageResponses) Of ABS_MSG_PROMPT_KEEP MR:Message='HOLD FINGER ON SENSOR' Add(MessageResponses) Of ABS_MSG_PROMPT_LIFT MR:Message='LIFT FINGER FROM SENSOR' Add(MessageResponses) Of ABS_MSG_PROMPT_CLEAN MR:Message='CLEAN SENSOR' Add(MessageResponses) Of ABS_MSG_QUALITY MR:Message='SWIPE QUALITY IS LOW' Add(MessageResponses) Of ABS_MSG_QUALITY_CENTER_HARDER MR:Message='CENTER FINGER PRESS HARDER' Add(MessageResponses) Of ABS_MSG_QUALITY_CENTER MR:Message='CENTER FINGER' Add(MessageResponses) Of ABS_MSG_QUALITY_TOO_LEFT MR:Message='FINGER IS TOO LEFT' Add(MessageResponses) Of ABS_MSG_QUALITY_TOO_RIGHT MR:Message='FINGER IS TOO RIGHT' Add(MessageResponses) Of ABS_MSG_QUALITY_TOO_HIGH MR:Message='FINGER IS TOO HIGH' Add(MessageResponses) Of ABS_MSG_QUALITY_TOO_LOW MR:Message='FINGER IS TOO LOW' Add(MessageResponses) Of ABS_MSG_QUALITY_HARDER MR:Message='PRESS HARDER' Add(MessageResponses) Of ABS_MSG_QUALITY_TOO_LIGHT MR:Message='TOO LIGHT' Add(MessageResponses) Of ABS_MSG_QUALITY_TOO_DRY MR:Message='TOO DRY' Add(MessageResponses) Of ABS_MSG_QUALITY_TOO_SMALL MR:Message='TOO SMALL' Add(MessageResponses) Of ABS_MSG_QUALITY_TOO_SHORT MR:Message='TOO SHORT' Add(MessageResponses) Of ABS_MSG_QUALITY_TOO_FAST MR:Message='TOO FAST' Add(MessageResponses) Of ABS_MSG_QUALITY_TOO_SKEWED MR:Message='TOO SKEWED' Add(MessageResponses) Of ABS_MSG_QUALITY_TOO_DARK MR:Message='TOO DARK' Add(MessageResponses) Of ABS_MSG_QUALITY_BACKWARD MR:Message='SWIPTE MOVED BACKWARD' Add(MessageResponses) Of ABS_MSG_QUALITY_JOINT MR:Message='JOINT HAS BEEN DETECTED' Add(MessageResponses) Of ABS_MSG_NAVIGATE_CHANGE MR:Message='UPEK Notifies about navigation change (user has moved his finger, touched the sensor of left the finger). Applies only during navigation operation.' Add(MessageResponses) Of ABS_MSG_NAVIGATE_CLICK MR:Message='UPEK Notifies that the user clicked on sensor by his finger. Applies only during navigation operation.' Add(MessageResponses) Of ABS_MSG_DLG_SHOW MR:Message='Feedback dialog should be shown.' Add(MessageResponses) Of ABS_MSG_DLG_HIDE MR:Message='Feedback dialog should be hidden.' Add(MessageResponses) Of ABS_MSG_IDLE MR:Message='Interactive cancel enabled.' Add(MessageResponses) Else MR:Message='no response from case' Add(MessageResponses) End Post(Event:GainFocus,,ViewMsgThread) Return