Contents of TM-S Sample Programs for TM-S9000/S2000 Driver        
                     
  Step Overview New function used in the step Related Win32/64 API Related structure in Win32/64 API   Related .NET API Related class and properties in .NET API
  1 This is a sample program for opening and closing devices, and scanning.
Opening driver with device name BiOpenMonPrinter       OpenMonPrinter    
  Register callback BiSCNMICRSetStatusBackFunction       SCNMICRSetStatusBackFunction    
  Start scanning BiSCNMICRFunctionContinuously(, , MF_EXEC)       SCNMICRFunctionContinuously(FunctionType.MF_EXEC)    
  Cancellation during scanning BiSCNMICRCancelFunction       SCNMICRCancelFunction    
  Recovery from recoverable error BiCancelError       CancelError    
  Get device status BiGetStatus        GetStatus     
  Cancel callback BiSCNMICRCancelStatusBack       SCNMICRCancelStatusBack    
  Close driver BiCloseMonPrinter       CloseMonPrinter    
                 
  2 In addition to Step 1, this sample program allows you to select to scan either a check sheet or a card, and then retrieve and display the scanned images.
Media selection - check or card BiSCNSelectScanUnit       SCNSelectScanUnit    
  Resolution selection BiSCNMICRFunctionContinuously(, , MF_SET_SCAN_FRONT_PARAM)
BiSCNMICRFunctionContinuously(, , MF_SET_SCAN_BACK_PARAM)
MF_SCAN sResolution   SCNMICRFunctionContinuously(, FunctionType.MF_SET_SCAN_FRONT_PARAM)
SCNMICRFunctionContinuously(, FunctionType.MF_SET_SCAN_BACK_PARAM)
MFScan Resolution
  Saving scanned data to file with an image file format BiSCNSetImageFormat       SCNSetImageFormat    
  Select scanning side BiSCNSelectScanFace       SCNSelectScanFace    
  Image type selection BiSCNSetImageQuality       SCNSetImageQuality    
  Light source selection BiSCNSetImageTypeOption       SCNSetImageTypeOption    
  Light source of the scanned image to be retrieved during callback BiSCNSelectScanImage       SCNSelectScanImage    
  Obtain image data during callback BiGetScanImage       GetScanImage    
                 
  3 In addition to Step 2, this sample program retrieves and displays MICR data. It also cleans the MICR.
Get result of MICR character recognition BiGetMicrText       GetMicrText    
  MICR font selection - E13B or CMC7 BiSCNMICRFunctionContinuously(, , MF_SET_MICR_PARAM) MF_MICR01 bFont   SCNMICRFunctionContinuously(, FunctionType.MF_SET_MICR_PARAM) MFMicr Font
  MICR cleaning BiMICRCleaning       MICRCleaning    
  Clears spaces included in MICR data BiMICRClearSpaces       MICRClearSpaces    
                 
  4 In addition to Step 3, this sample program performs physical endorse/electronic endorse.
Select endorsement type - physical or electronic (virtual) BiSetPrintStation       SetPrintStation    
  Template printing settings BiLoadTemplatePrintArea
BiTemplatePrint
BiSetTemplatePrintArea
      LoadTemplatePrintArea
TemplatePrint
SetTemplatePrintArea
   
  Print image in endorsement BiSCNPrintMemoryImage       SCNPrintMemoryImage    
  Print text in endorsement BiSCNPrintText       SCNPrintText    
  Register callback for start of endorsement print BiStartEndorsementSetStatusBackFunction       StartEndorsementSetStatusBackFunction    
  Register callback for end of endorsement print BiEndEndorsementSetStatusBackFunction       EndEndorsementSetStatusBackFunction    
  Select endorsement print mode - High speed or Data-waiting BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bEndorsePrintMode   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess EndorsePrintMode
  Select cancel scanning after unreceived data error BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bPrnDataUnreceiveCancel   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess PrnDataUnreceiveCancel
                 
  5 In addition to Step 3, this sample program processes cashier's checks. It also prints cut sheets/roll paper (TM-S9000 only).

Note: Difference between cashier's check and cut sheet printing is scanning can be enabled after printing a cashier's check.
Select print station - Cut Sheet or Roll Paper BiSetPrintStation       SetPrintStation    
  Select whether to scan printed document when performing cut sheet printing. BiSetPrintCutSheetSettings       SetPrintCutSheetSettings    
  Specify scanning condition of cut sheet printing BiPrintCutSheet       PrintCutSheet    
  Print text on cut sheet during callback using template print BiSCNPrintMemoryImage       SCNPrintMemoryImage    
  Print image on cut sheet during callback using template print BiSCNPrintText       SCNPrintText    
  Specify buffered print for roll paper printing BiBufferedPrint(, MF_PRT_BUFFERING)       BufferedPrint(PrintBuffer.MF_PRT_BUFFERING)    
  Set print area size BiSetPrintSize       SetPrintSize    
  Set the inline printing position BiSetPrintAlignment       SetPrintAlignment    
  Print text on roll paper BiPrintText       PrintText    
  Print image on roll paper BiPrintImage       PrintImage    
  Barcode printing on roll paper BiPrintBarCode       PrintBarCode    
  Auto cutter for roll paper BiAutoCutRollPaper       AutoCutRollPaper    
  Execute roll paper printing BiBufferedPrint(, MF_PRT_EXEC)       BufferedPrint(MF_PRT_EXEC)    
                 
  6 In addition to Step 3, this sample program retrieves and displays OCR-AB recognition results. It also sounds an alarm. Select OCR-A or OCR-B font for recognition BiGetOcrABText MF_OCR_AB bOcrType   GetOcrABText MFOcrAb OcrType
  Area definition for OCR-AB recognition BiGetOcrABText MF_OCR_AB bDirection, wStartX, wStartY, wEndX, wEndY   GetOcrABText MFOcrAb Direction, StartX, StartY, EndX, EndY
  Retrieve OCR-AB recognition result BiGetOcrABText MF_OCR_AB szOcrStr   GetOcrABText MFOcrAb OcrStr
  Select buzzer frequency BiSCNMICRFunctionContinuously(, , MF_SET_BASE_PARAM) MF_BASE01 bBuzzerHz   SCNMICRFunctionContinuously(, FunctionType.MF_SET_BASE_PARAM) MFBase BuzzerHz
  Select number of times that buzzer sounds BiSCNMICRFunctionContinuously(, , MF_SET_BASE_PARAM) MF_BASE01 bBuzzerCount   SCNMICRFunctionContinuously(, FunctionType.MF_SET_BASE_PARAM) MFBase BuzzerCount
                 
  7 In addition to Step 3, this sample program processes IQA and displays the results. It also allows the selection of scanning mode (High Speed Mode/Confirmation Mode/Waterfall) and processes scans. Select scanning mode - High speed mode or confirmation mode.
With high speed mode, the driver automatically choose exit pocket and termination of scanning based on pre-defined settings.
With confirmation mode, application can choose exit pocket, termination of scanning based on MICR or image.
BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bActivationMode   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess ActivationMode
  In confirmation mode, application choose feeding option for next document BiSetBehaviorToScnResult       SetBehaviorToScnResult    
  Select exit pocket in confirmation mode BiSetBehaviorToScnResult       SetBehaviorToScnResult    
  Specify water fall mode BiSetWaterfallMode       SetWaterfallMode    
  Enable/disable IQA test BiSCNMICRFunctionContinuously(, , MF_SET_IQA_PARAM) MF_IQA bErrorSelect   SCNMICRFunctionContinuously(, FunctionType.MF_SET_IQA_PARAM) MFIqa ErrorSelect
  Select ejection method when IQA error is detected BiSCNMICRFunctionContinuously(, , MF_SET_IQA_PARAM) MF_IQA bErrorEject   SCNMICRFunctionContinuously(, FunctionType.MF_SET_IQA_PARAM) MFIqa ErrorEject
  Select whether to continue scanning when IQA error is detected BiSCNMICRFunctionContinuously(, , MF_SET_IQA_PARAM) MF_IQA bCancel   SCNMICRFunctionContinuously(, FunctionType.MF_SET_IQA_PARAM) MFIqa Cancel
  Select image type for IQA test BiSCNMICRFunctionContinuously(, , MF_SET_IQA_PARAM) MF_IQA bImageFormat, bColorDepth, bThreshold, bColor, bExOption and sResolution   SCNMICRFunctionContinuously(, FunctionType.MF_SET_IQA_PARAM) MFIqa ImageFormat, ColorDepth, Threshold, Color, ExOption and Resolution
  Specify detail condition in IQA test BiSCNMICRFunctionContinuously(, , MF_SET_IQA_PARAM) MF_IQA bUndersize, bOversize, bMincompressed, bMaxcompressed, bFront_rear, bToolight, bToodark, bStreaks, bNoise, bFocus, bCorners, bEdges, bFraming, bSkew, bCarbon, bPiggyback   SCNMICRFunctionContinuously(, FunctionType.MF_SET_IQA_PARAM) MFIqa Undersize, Oversize, Mincompressed, Maxcompressed, Front_rear, Toolight, Toodark, Streaks, Noise, Focus, Corners, Edges, Framing, Skew, Carbon, Piggyback
  Get IQA result BiGetIQAResult MF_IQARESULT     GetIQAResult    
                 
  8 In addition to Step 3, this sample program retrieves and displays barcode decode results, and detects errors. It also retrieves device status and device information. Get current device status BiGetStatus       GetStatus    
  Get current ink status BiGetInkStatus       GetInkStatus    
  Get device information BiGetPrnCapability       GetPrnCapality    
  Get maintenance counters BiGetCounter       GetCounter    
  Enable/disable barcode decode error detection BiSCNMICRFunctionContinuously(, , MF_SET_BARCODE_FRONT_PARAM)
BiSCNMICRFunctionContinuously(, , MF_SET_BARCODE_BACK_PARAM)
MF_BARCODE bErrorSelect   SCNMICRFunctionContinuously(, FunctionType.MF_SET_BARCODE_FRONT_PARAM)
SCNMICRFunctionContinuously(, FunctionType.MF_SET_BARCODE_BACK_PARAM)
MFBarcode ErrorSelect
  Select ejection method when barcode decode error is detected BiSCNMICRFunctionContinuously(, , MF_SET_BARCODE_FRONT_PARAM)
BiSCNMICRFunctionContinuously(, , MF_SET_BARCODE_BACK_PARAM)
MF_BARCODE bErrorEject   SCNMICRFunctionContinuously(, FunctionType.MF_SET_BARCODE_FRONT_PARAM)
SCNMICRFunctionContinuously(, FunctionType.MF_SET_BARCODE_BACK_PARAM)
MFBarcode ErrorEject
  Select whether to continue scanning when  barcode decode error is detected BiSCNMICRFunctionContinuously(, , MF_SET_BARCODE_FRONT_PARAM)
BiSCNMICRFunctionContinuously(, , MF_SET_BARCODE_BACK_PARAM)
MF_BARCODE bCancel   SCNMICRFunctionContinuously(, FunctionType.MF_SET_BARCODE_FRONT_PARAM)
SCNMICRFunctionContinuously(, FunctionType.MF_SET_BARCODE_BACK_PARAM)
MFBarcode Cancel
  Retrieve barcode recognition result BiGetBarcodeData       GetBarcodeData    
  Enable/disable mis-insertion detection BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bPaperMisInsertionErrorSelect   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess PaperMisInsertionErrorSelect
  Select ejection method when mis-insertion error is detected BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bPaperMisInsertionErrorEject   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess PaperMisInsertionErrorEject
  Select whether to continue scanning when mis-insertion error is detected BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bPaperMisInsertionCancel   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess PaperMisInsertionCancel
  Enable/disable double-feed detection BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bDoubleFeedErrorSelect   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess DoubleFeedErrorSelect
  Select ejection method when double feed error is detected BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bDoubleFeedErrorEject   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess DoubleFeedErrorEject
  Select whether to continue scanning when double feed error is detected BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bDoubleFeedCancel   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess DoubleFeedCancel
  Enable/disable MICR noise detection BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bNoiseErrorSelect   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess NoiseErrorSelect
  Select ejection method when MICR noise error is detected BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bNoiseErrorEject   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess NoiseErrorEject
  Select whether to continue scanning when MICR noise error is detected BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01  bNoiseCancel   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess  NoiseCancel
  Enable/disable MICR character recognition error detection BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bBaddataErrorSelect   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess BaddataErrorSelect
  Select ejection method when MICR character recognition error is detected BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bBaddataCount   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess BaddataCount
  Select whether to continue scanning when MICR character recognition error is detected BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bBaddataCancel   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess BaddataCancel
  Enable/disable to detect errors when magnetic waveform is not found BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bNodataErrorSelect   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess NodataErrorSelect
  Select ejection method when MICR magnetic waveform is not found BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bNodataErrorEject   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess NodataErrorEject
  Select whether to continue scanning when MICR magnetic waveform is not found BiSCNMICRFunctionContinuously(, , MF_SET_PROCESS_PARAM) MF_PROCESS01 bNodataCancel   SCNMICRFunctionContinuously(, FunctionType.MF_SET_PROCESS_PARAM) MFProcess NodataCancel