|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Relojes Biometricos HANDPUNCH2000 |
Débuté par Jarod, 09 mar. 2008 00:41 - 18 réponses |
| |
| | | |
|
| |
Posté le 09 mars 2008 - 00:41 |
hola estoy tratando de hacer un software para leer informacion desde un reloj biometrico para control de asistencia a travez de una DLL qie trae el reloj rsidll32.dll pero todo los codigos de ejemplo que encuentro estan en Visual Basic o C tengo el manual de la DLL pero todas las declaraciones estan en C y no se como hacerlas en windev 8 si alguien quiere aportar les podria enviar la dll y el manual, les agradeceria el ejemplo de las declaraciones son las siguientes
VB Code ---------- Attribute VB_Name = "Rsidll32" Option Explicit
'----------------------------------------------- ' rsidll32 enumerations and constants '-----------------------------------------------
' //////////////////////////////////////////////////////////////// ' // ' // Macros for array sizes and data item ranges. ' // ' // Array sizes are for raw hand reader data. ' // ' ////////////////////////////////////////////////////////////////
Public Const RSI_LEN_ID = 5 Public Const RSI_LEN_TEMPLATE = 9 Public Const RSI_LEN_PASSWORD = 10 Public Const RSI_LEN_MESSAGE = 32 Public Const RSI_LEN_DATA_BANK = 4096 Public Const RSI_LEN_FKEY_DATA = 4096 Public Const RSI_LEN_READY_STR = 14 Public Const RSI_LEN_USER_DATA = 24 Public Const RSI_LEN_USER_NAME = 16 Public Const RSI_LEN_XUD_RESERVED = 6 Public Const RSI_LEN_NUM_XTI = 3 Public Const RSI_LEN_SETUP_DATA = 128 Public Const RSI_LEN_VECTOR = 2 + RSI_LEN_TEMPLATE Public Const RSI_LEN_USER_REC = 16 Public Const RSI_LEN_USER_REC_PARSE = 23 Public Const RSI_LEN_DISP_MSG = 37 Public Const RSI_LEN_TIME = 6 Public Const RSI_LEN_HOLIDAYS = 48 Public Const RSI_LEN_TIME_ZONES = RSI_LEN_HOLIDAYS + 720 Public Const RSI_LEN_BELLS = 300 Public Const RSI_LEN_PRINTER = 128 Public Const RSI_LEN_DATALOG = 18 Public Const RSI_LEN_DATA_LOG_PARSE = 28 Public Const RSI_LEN_CALIBRATION_DATA = 6 Public Const RSI_LEN_CALIBRATION_PARSE = 6 Public Const RSI_LEN_PROM_DATE = 20 Public Const RSI_LEN_PROM_NAME = 17 Public Const RSI_LEN_EXT_UD = 61 Public Const RSI_LEN_RI_RESERVED = 50 Public Const RSI_LEN_READER_INFO = 102 Public Const RSI_MAX_XTI = 1440 ' max minutes in a day
Public Const RSI_NUM_DAYS = 31 Public Const RSI_NUM_MONTHS = 12 Public Const RSI_NUM_PASSWORDS = 5 Public Const RSI_NUM_TIME_ZONE_INTERVALS = 4 Public Const RSI_NUM_TIME_ZONE_TABLE_ITEMS = 60 Public Const RSI_NUM_BELL_SCHEDULE_ITEMS = 100 Public Const RSI_NUM_DATA_BANK_ITEMS = 256
' NOTE THAT ALL ENUMS DECLARED IN A TYPE END UP AS LONGS
' ' RSI_RESULT ' Enum RSI_RESULT RSI_SUCCESS RSI_ERROR_DATA RSI_ERROR_COM RSI_NO_CONNECTION RSI_COM_TIMEOUT RSI_BAD_CRC RSI_PARSE_OVERFLOW RSI_PARSE_UNDERFLOW RSI_INVALID_CHANNEL RSI_INVALID_SOCKET RSI_INVALID_BUFFER RSI_SOCKET_ERROR RSI_CANCEL_IO End Enum
' ' RSI_MESSAGE_CODE ' Enum RSI_MESSAGE_CODE RSI_ACCESS_GRANTED = 0 RSI_WRONG_TIME_PLACE = 1 RSI_HAND_NOT_CLEARED = 2 End Enum
' ' RSI_PROMPT ' Enum RSI_PROMPT RSI_RIGHT = 0 RSI_LEFT = 1 RSI_BLANK = 2 End Enum
' ' DAY_NAMES ' ' These are used for the dowMask of time zones and bell schedules ' Enum DAY_NAMES RSI_SUNDAY = &H1 RSI_MONDAY = &H2 RSI_TUESDAY = &H4 RSI_WEDNESDAY = &H8 RSI_THURSDAY = &H10 RSI_FRIDAY = &H20 RSI_SATURDAY = &H40 RSI_HOLIDAY = &H80 End Enum
' ' TIME_ZONES ' Enum TIME_ZONES RSI_TZ_ALWAYS = 0 RSI_TZ_NEVER = 61 End Enum
' ' SPECIAL_READER_ADDRS ' Enum SPECIAL_READER_ADDRS RSI_MIN_READER_ADDRESS = &H0 RSI_MAX_READER_ADDRESS = &HFE RSI_BROADCAST_ADDRESS = &HAA RSI_SYSTEM_HOST_ADDRESS = &HFF End Enum
' ' RSI_BAUD ' Enum RSI_BAUD RSI_38400 = 0 RSI_19200 = 1 RSI_9600 = 2 RSI_4800 = 3 RSI_2400 = 4 RSI_1200 = 5 RSI_600 = 6 RSI_300 = 7 End Enum
' ' RSI_AUTHORITY_LEVEL ' Enum RSI_AUTHORITY_LEVEL RSI_NONE = 0 RSI_SERVICE = 1 RSI_SETUP = 2 RSI_MANAGEMENT = 3 RSI_ENROLLMENT = 4 RSI_SECURITY = 5 End Enum
' ' RSI_OUTPUT_STATE ' Enum RSI_OUTPUT_STATE RSI_TIMED_UNLOCK = 1 RSI_INDEFINATE_UNLOCK = 2 RSI_RELOCK_NOW = 3 RSI_AUX_ON = 4 RSI_AUX_OFF = 5 RSI_DISABLE_LOCK = 6 RSI_AUX1_ON = 7 RSI_AUX1_OFF = 8 RSI_AUX2_ON = 9 RSI_AUX2_OFF = 10 RSI_AUX0_TIMED = 11 RSI_AUX1_TIMED = 12 RSI_AUX2_TIMED = 13 End Enum
' ' RSI_OPERATING_MODE ' Enum RSI_OPERATING_MODE RSI_STAND_ALONE = 0 RSI_MASTER = 1 RSI_REMOTE = 2 End Enum
' ' RSI_OUTPUT_MODES ' Enum RSI_OUTPUT_MODES RSI_LOCK = 0 RSI_CARD_READER_EMULATION = 1 End Enum
' ' RSI_DATA_LOG_FORMAT ' Enum RSI_DATA_LOG_FORMAT RSI_DLF_BUFFER_EMPTY = 0 RSI_DLF_USER_ENROLLED = 1 RSI_DLF_NO_HAND_READ = 2 RSI_DLF_IDENTITY_UNKNOWN = 3 RSI_DLF_EXIT_GRANTED = 4 RSI_DLF_SCORE_IS = 5 RSI_DLF_ACCESS_DENIED = 6 RSI_DLF_IDENTITY_VERIFIED = 7 RSI_DLF_USER_REMOVED = 8 RSI_DLF_ENTER_COMMAND_MODE = 9 RSI_DLF_LEAVE_COMMAND_MODE = 10 RSI_DLF_RECALIBRATED = 11 RSI_DLF_TWO_MAN_TIMEOUT = 12 RSI_DLF_DOOR_FORCED_OPEN = 13 RSI_DLF_TAMPER_ACTIVATED = 14 RSI_DLF_SUPERVISOR_OVERRIDE = 15 RSI_DLF_USER_ADDED_FROM_CARD = 16 RSI_DLF_AUX_INPUT_ON = 17 RSI_DLF_REQ_EXIT_ACTIVATED = 18 RSI_DLF_AUX_OUTPUT_ON = 19 RSI_DLF_BAUD_RATE_CHANGED = 20 RSI_DLF_MESSAGES_READ = 21 RSI_DLF_UNIT_ADDRESS_CHANGED = 22 RSI_DLF_SITE_CODE_CHANGED = 23 RSI_DLF_TIME_AND_DATE_SET = 24 RSI_DLF_LOCK_SETUP_CHANGED = 25 RSI_DLF_PASSWORDS_CHANGED = 26 RSI_DLF_REJECT_THRESHOLD_SET = 27 RSI_DLF_AUX_OUT_SETUP_CHANGED = 28 RSI_DLF_PRINTER_SETUP_CHANGED = 29 RSI_DLF_EXT_DATALOGS = 30 RSI_DLF_DOOR_OPEN_TOO_LONG = 31 RSI_DLF_USERS_LISTED = 32 RSI_DLF_DATA_BASE_SAVED = 33 RSI_DLF_DATA_BASE_RESTORED = 34 RSI_DLF_AMNESTY_PUNCH_GRANTED = 35 RSI_DLF_REJ_OVERRIDE_CHANGED = 36 RSI_DLF_AUTH_LEVEL_CHANGED = 37 RSI_DLF_OPER_MODE_CHANGED = 38 RSI_DLF_OUTPUT_MODE_CHANGED = 39 RSI_DLF_MAX_ID_LEN_CHANGED = 40 RSI_DLF_MEMORY_CLEARED = 41 RSI_DLF_ACCESS_REFUSED_TZ = 42 RSI_DLF_TIME_ZONES_CHANGED = 43 RSI_DLF_USER_TIME_ZONE_CHANGED = 44 RSI_DLF_DURESS_ALARM = 45 RSI_DLF_LOCK_OUTPUT_ON = 46 RSI_DLF_LOCK_OUTPUT_OFF = 47 RSI_DLF_AUX_OUTPUT_OFF = 48 RSI_DLF_SPECIAL_ENROLLMENT = 49 RSI_DLF_AUX_UNLOCK_WIEGAND = 50 RSI_DLF_TIME_RESTRICTIONS = 51 End Enum
Enum RSI_RESPONSE_TYPE RSI_RESP_NONE = -1 RSI_RESP_HERE_IS_STATUS = &H30 ' '0' RSI_RESP_HERE_IS_USER_RECORD = &H32 ' '2' RSI_RESP_HERE_IS_CALIBRATION_DATA = &H33 ' '3' RSI_RESP_HERE_ARE_RESULTS = &H35 ' '5' RSI_RESP_HERE_IS_DATA_BANK = &H36 ' '6' RSI_RESP_HERE_IS_TEMPLATE_VECTOR = &H37 ' '7' RSI_RESP_HERE_IS_NEXT_DATA_LOG = &H38 ' '8' RSI_RESP_HERE_IS_SETUP_DATA = &H39 ' '9' RSI_RESP_HERE_IS_EXT_SETUP_DATA = &H41 ' 'A' RSI_RESP_UNABLE_TO_COMPLETE = &H58 ' 'X' RSI_RESP_HERE_IS_OEM_CODE = &H4F ' 'O' RSI_RESP_HERE_IS_READER_INFO = &H53 ' 'S' RSI_RESP_HERE_IS_EXT_USER_RECORD = &H31 ' '1' End Enum
' Enumeration for memory configuration Enum RSI_MEMORY_OPTIONS RSI_MEMORY_OPTION_A = 0 ' Small 128K RSI_MEMORY_OPTION_B = 1 ' Medium 256K RSI_MEMORY_OPTION_C = 2 ' Large 640K RSI_MEMORY_OPTION_ERROR End Enum
' Enumeration for reader model number Enum RSI_MODELS RSI_MODEL_HP2K = 0 RSI_MODEL_HP3K = 1 RSI_MODEL_HP4K = 2 RSI_MODEL_HKCR = 3 RSI_MODEL_HKII = 4 RSI_MODEL_5 = 5 RSI_MODEL_6 = 6 RSI_MODEL_7 = 7 RSI_MODEL_8 = 8 RSI_MODEL_9 = 9 RSI_MODEL_10 = 10 RSI_MODEL_11 = 11 RSI_MODEL_12 = 12 RSI_MODEL_13 = 13 RSI_MODEL_14 = 14 RSI_MODEL_SPECIAL = 15 RSI_MODEL_ERROR End Enum
' ' RSI_DATA_ERROR enumeration ' ' Enumeration for specific data range errors as described below. ' Enum RSI_DATA_ERROR RSI_DATA_OK ' No data error RSI_ERROR_ID_CHAR ' ASCII ID character out of range Ox30-Ox3F RSI_ERROR_AUTHORITY_LEVEL ' Authority level out of range 0-5 RSI_ERROR_REJECT_THRESHOLD ' Reject threshold out of range RSI_ERROR_TIME_ZONE ' Time zone out of range 0-61 RSI_ERROR_YEAR ' added by Prasanth Pulavarthi RSI_ERROR_MONTH ' Month out of range RSI_ERROR_DAY RSI_ERROR_HOUR ' added by Prasanth Pulavarthi RSI_ERROR_MINUTE RSI_ERROR_SECOND RSI_ERROR_TIME_20K RSI_ERROR_READER_ADDR ' added by Prasanth Pulavarthi RSI_ERROR_FACILITY_CODE ' added by Prasanth Pulavarthi RSI_ERROR_ID_LENGTH ' added by Prasanth Pulavarthi RSI_ERROR_NUM_TRIES ' added by Prasanth Pulavarthi RSI_ERROR_DURESS_CHAR ' added by Prasanth Pulavarthi RSI_ERROR_MSG_TEXT ' added by Prasanth Pulavarthi RSI_ERROR_INTERVAL_TIME ' added by Prasanth Pulavarthi RSI_ERROR_BELL_DURATION ' added by Prasanth Pulavarthi RSI_ERROR_BUFFER_INVALID ' added by Prasanth Pulavarthi RSI_ERROR_CHANNEL_INVALID ' used only by rsiGetDataError() RSI_ERROR_SERIAL_MODE End Enum
' ' RSI_COMMAND_TYPE enumeration ' ' These are the characters that are sent to the hand reader to execute a ' command. The argument to rsiSendMessage is set to one of these values. ' Enum RSI_COMMAND_TYPE RSI_CMD_RESUME = &H31 ' '1' RSI_CMD_ABORT = &H32 ' '2' RSI_CMD_HERE_IS_USER_RECORD = &H37 ' '7' RSI_CMD_SEND_USER_RECORD = &H38 ' '8' RSI_CMD_HERE_IS_SETUP_DATA = &H3D ' '=' RSI_CMD_REMOVE_USER_RECORD = &H3F ' '?' RSI_CMD_CALIBRATE = &H3A ' ':' RSI_CMD_CLEAR_USER_DATABASE = &H3E ' '>' RSI_CMD_SEND_CALIBRATION_DATA = &H3C ' '<' RSI_CMD_SEND_LAST_USER_RECORD = &H40 ' '@' RSI_CMD_HERE_IS_TIME = &H41 ' 'A' RSI_CMD_SEND_RESULTS = &H43 ' 'C' RSI_CMD_SEND_STATUS_CRC = &H44 ' 'D' RSI_CMD_ENTER_IDLE_MODE = &H45 ' 'E' RSI_CMD_ENTER_IDLE_MODE2 = &H65 ' 'e' RSI_CMD_HERE_IS_BANK_NUMBER = &H46 ' 'F' RSI_CMD_HERE_IS_DATA_BANK = &HC7 ' 'G' + high bit set for length>255 RSI_CMD_SEND_DATA_BANK = &H48 ' 'H' RSI_CMD_ENROLL_USER = &H49 ' 'I' RSI_CMD_VERIFY_USER_EXTERNAL = &H4A ' 'J' RSI_CMD_SEND_TEMPLATE = &H4B ' 'K' RSI_CMD_UPDATE_NV_RAM = &H4C ' 'L' RSI_CMD_SEND_DATA_LOG = &H4D ' 'M' RSI_CMD_SEND_PREV_DATA_LOG = &H6D ' 'm' RSI_CMD_SEND_SETUP_DATA = &H4E ' 'N' RSI_CMD_OUTPUT_CONTROL = &H4F ' 'O' RSI_CMD_HERE_IS_DISPLAY_MESSAGE = &H50 ' 'P' RSI_CMD_PRINTER_PASS_THROUGH = &H70 ' 'p' RSI_CMD_VERIFY_USER_INTERNAL = &H51 ' 'Q' RSI_CMD_NEXT_MESSAGE_TIME_ZONE = &H52 ' 'R' RSI_CMD_HERE_ARE_TIME_ZONES = &HD3 ' 'S' + high bit set for length>255 RSI_CMD_DISPLAY_CODED_MESSAGE = &H56 ' 'V' RSI_CMD_NEXT_MESSAGE_BELL_SCHEDULE = &H57 ' 'W' RSI_CMD_HERE_IS_BELL_SCHEDULE = &HD8 ' 'X' + high bit set for length>255
RSI_CMD_HERE_IS_FKEY_DATA = &H64 ' 'd' RSI_CMD_SEND_EXT_SETUP_DATA = &H2C ' ',' RSI_CMD_HERE_IS_EXT_SETUP_DATA = &H2B ' '+' RSI_CMD_SET_USER_DATA = &H66 ' 'f' RSI_CMD_SEND_OEM_CODE = &H6F ' 'o' RSI_CMD_SEND_READER_INFO = &H73 ' 's' RSI_CMD_SEND_EXT_USER_RECORD = &H74 ' 't' RSI_CMD_SET_EXT_USER_DATA = &H75 ' 'u' RSI_CMD_ADD_USER_MESSAGE = &H76 ' 'v' RSI_CMD_REMOVE_USER_MESSAGE = &H77 ' 'w' RSI_CMD_HERE_IS_EXT_USER_RECORD = &H78 ' 'x' RSI_CMD_CLEAR_USER_MESSAGES = &H79 ' 'y' End Enum
' ' RSI_DATA_LOG_DATA_TYPE ' Enum RSI_DATA_LOG_DATA_TYPE RSI_NO_DATA_EXPECTED = &HFF RSI_NO_DATA_ENTERED = &H0 RSI_DATA_IN = &H1 RSI_DATA_BACK1 = &H2 RSI_DATA_OUT = &H3 RSI_DATA_DEPARTMENT = &H4 RSI_DATA_BACK2 = &H5 RSI_DATA_JOB = &H6 RSI_DATA_BACK3 = &H7 RSI_DATA_BULK_HOURS = &H8 RSI_DATA_BULK_DOLLARS = &H9 RSI_DATA_CATEGORY = &H15 End Enum
' ' RSI_TA_DLF_17 ' Used for datalog format 17 of high byte of data2 ' Enum RSI_TA_DLF_17 RSI_TA_DLF_17_AUXIN1_ON = &HFF RSI_TA_DLF_17_AUXIN2_ON = &H1 End Enum
' ' RSI_AUXOUT_ON_EVENTS ' Used for datalog format 19 of 4-byte lsb of data2 ' Enum RSI_AUXOUT_ON_EVENTS RSI_AUXOUT_ON_TAMPER = 0 RSI_AUXOUT_ON_TZVIOL = 1 RSI_AUXOUT_ON_IDREF = 2 RSI_AUXOUT_ON_DURESS = 3 RSI_AUXOUT_ON_AUXIN1 = 4 RSI_AUXOUT_ON_AUXIN2 = 5 RSI_AUXOUT_ON_DOOR = 6 RSI_AUXOUT_ON_TRYAGAIN = 7 RSI_AUXOUT_ON_F1KEY = 8 RSI_AUXOUT_ON_F2KEY = 9 RSI_AUXOUT_ON_POWER = 10 End Enum
' ' RSI_TA_DLF_19 ' Enum RSI_TA_DLF_19 RSI_TA_DLF_19_AUXOUT0_ON = &HFF RSI_TA_DLF_19_AUXOUT1_ON = &H1 RSI_TA_DLF_19_AUXOUT2_ON = &H2 End Enum
' ' RSI_TA_DLF_30 ' Used for datalog format 30 of high byte of data2 ' Enum RSI_TA_DLF_30 RSI_TA_DLF_30_INT_SETUP = &H1 RSI_TA_DLF_30_SYS_BOARD_STAT = &H2 End Enum
' ' RSI_TA_DLF_48 ' Used for datalog format 48 of high byte of data2 ' Enum RSI_TA_DLF_48 RSI_TA_DLF_48_AUXOUT0_OFF = &HFF RSI_TA_DLF_48_AUXOUT1_OFF = &HFF RSI_TA_DLF_48_AUXOUT2_OFF = &HFF End Enum
'----------------------------------------------- ' rsidll32 types '----------------------------------------------- ' ' RSI_ID ' Type RSI_ID b0 As Byte b1 As Byte b2 As Byte b3 As Byte b4 As Byte End Type
' ' RSI_STATUS ' Type RSI_STATUS h_read As Long ' byte 1 bit 0 led1 As Long ' byte 1 bit 1 led2 As Long ' byte 1 bit 2 led3 As Long ' byte 1 bit 3 led4 As Long ' byte 1 bit 4 any_key As Long ' byte 1 bit 5 aux_out1 As Long ' byte 1 bit 6 aux_out2 As Long ' byte 1 bit 7 res_sys As Long ' byte 2 bit 0 verify_rdy As Long ' byte 2 bit 1 rslts_rdy As Long ' byte 2 bit 2 failed_cmd As Long ' byte 2 bit 3 dlog_rdy As Long ' byte 2 bit 4 id_nim As Long ' byte 2 bit 5 cmd_bsy As Long ' byte 2 bit 6 kp_id As Long ' byte 2 bit 7 tmpr_st As Long ' byte 3 bit 0 aux_in2 As Long ' byte 3 bit 1 aux_st As Long ' byte 3 bit 2 aux_in1 As Long ' byte 3 bit 3 New readers door_st As Long ' byte 3 bit 4 rex_st As Long ' byte 3 bit 5 lock_st As Long ' byte 3 bit 6 auxo_st As Long ' byte 3 bit 7 End Type
' ' RSI_MESSAGE_TEXT ' Type RSI_MESSAGE_TEXT data(0 To RSI_LEN_MESSAGE - 1) As Byte End Type
' ' RSI_DISPLAY_MESSAGE ' Type RSI_DISPLAY_MESSAGE userSpecific As Long ' display the message for a specific user only? halfsecs_id As RSI_ID ' how long should the message be displayed? -OR- ' to which user should the message be displayed to? ' for halfsecs, use halfsecs_id.b0 msg As RSI_MESSAGE_TEXT ' the message text End Type
' ' RSI_TIME_DATE ' Type RSI_TIME_DATE second As Byte minute As Byte hour As Byte day As Byte month As Byte year As Byte End Type
' ' RSI_DATA_LOG_DATA_1 ' Type RSI_DATA_LOG_DATA_1 data(0 To 5) As Byte ' all others End Type
' ' RSI_DATA_LOG_DATA_2 ' Type RSI_DATA_LOG_DATA_2 data(0 To 7) As Byte ' all others End Type
' ' RSI_DATA_LOG_ELEMENT ' Type RSI_DATA_LOG_ELEMENT ' offset addr As Byte ' 0 time As RSI_TIME_DATE ' 1-6 pad1 As Byte ' 7 format As RSI_DATA_LOG_FORMAT ' 8-11 data1 As RSI_DATA_LOG_DATA_1 ' 12-17 pad2 As Byte ' 18 pad3 As Byte ' 19 data2 As RSI_DATA_LOG_DATA_2 ' 20-27 End Type
' ' RSI_BELL_SCHEDULE_ELEMENT ' Type RSI_BELL_SCHEDULE_ELEMENT min As Byte hour As Byte dur As Byte dowMask As Byte End Type
' ' RSI_HOLIDAY_ELEMENT ' Type RSI_HOLIDAY_ELEMENT data(0 To RSI_NUM_DAYS - 1) As Long End Type
' ' RSI_TIME_ZONE_INTERVAL ' Type RSI_TIME_ZONE_INTERVAL start As Byte stop As Byte dowMask As Byte End Type ' ' RSI_DATA_BANK ' Type RSI_DATA_BANK data(0 To RSI_LEN_DATA_BANK - 1) As Byte End Type ' ' RSI_TIME_ZONE_ELEMENT ' Type RSI_TIME_ZONE_ELEMENT tzi(0 To RSI_NUM_TIME_ZONE_INTERVALS - 1) As RSI_TIME_ZONE_INTERVAL End Type
' ' RSI_TIME_ZONE_TABLE ' Type RSI_TIME_ZONE_TABLE holidays(0 To RSI_NUM_MONTHS - 1) As RSI_HOLIDAY_ELEMENT timeZones(0 To RSI_NUM_TIME_ZONE_TABLE_ITEMS - 1) As RSI_TIME_ZONE_ELEMENT End Type
' ' RSI_BELL_SCHEDULE ' Type RSI_BELL_SCHEDULE bells(0 To RSI_NUM_BELL_SCHEDULE_ITEMS - 1) As RSI_BELL_SCHEDULE_ELEMENT End Type
' ' RSI_PASSWORD ' Type RSI_PASSWORD pass(0 To RSI_LEN_PASSWORD - 1) As Byte End Type
' ' RSI_REJECT_THRESHOLD ' Type RSI_REJECT_THRESHOLD threshold As Integer End Type
' ' RSI_TIME_20K ' Type RSI_TIME_20K time_20K As Integer End Type
' ' RSI_READER_ADDRESS ' Type RSI_READER_ADDRESS addr As Byte End Type
' ' RSI_FACILITY_CODE ' Type RSI_FACILITY_CODE facil_code As Integer End Type
' ' RSI_OUTPUT_MODE ' Type RSI_OUTPUT_MODE out_mode As Byte End Type
' ' RSI_IDLEN_TYPE ' Type RSI_IDLEN_TYPE idlen_type As Byte End Type
' ' RSI_ACCOUNTING_MODE ' Type RSI_ACCOUNTING_MODE account_mode As Byte End Type
' ' RSI_TIME_ZONE ' Type RSI_TIME_ZONE tz As Byte End Type
' ' RSI_DURESS_CHAR ' Type RSI_DURESS_CHAR Duress_Char As Byte End Type
' ' RSI_NUM_TRIES_TYPE ' Type RSI_NUM_TRIES_TYPE Num_Retries As Byte End Type
' ' RSI_SETUP_DATA ' Type RSI_SETUP_DATA passwords(0 To RSI_NUM_PASSWORDS - 1) As RSI_PASSWORD threshold As RSI_REJECT_THRESHOLD auxFlag As Long auxTimeout As RSI_TIME_20K printFlag As Long statusFlag As Long auxAlarmFlagD As Long auxAlarmFlagA As Long auxAlarmFlagI As Long auxAlarmFlagT As Long auxAlarmFlagP As Long lockTime As RSI_TIME_20K shuntTime As RSI_TIME_20K networkBaudIndex As RSI_BAUD printerBaudIndex As RSI_BAUD readerAddress As RSI_READER_ADDRESS facilityCode As RSI_FACILITY_CODE operatingMode As RSI_OPERATING_MODE outputMode As RSI_OUTPUT_MODE beeperFlag As Long idLength As RSI_IDLEN_TYPE accountingMode As RSI_ACCOUNTING_MODE unlockTimeZone As RSI_TIME_ZONE auxTimeZone As RSI_TIME_ZONE auxDuressFlag As Long duressCharacter As RSI_DURESS_CHAR numberOfTries As RSI_NUM_TRIES_TYPE dlsOn As RSI_TIME_DATE ' // year and second are not used dlsOff As RSI_TIME_DATE ' // year and second are not used display12Hour As Long End Type
' ' RSI_TEMPLATE ' Type RSI_TEMPLATE template(0 To RSI_LEN_TEMPLATE - 1) As Byte End Type
' ' RSI_USER_RECORD ' Type RSI_USER_RECORD ID As RSI_ID templateVector As RSI_TEMPLATE authorityLevel As RSI_AUTHORITY_LEVEL rejectThreshold As RSI_REJECT_THRESHOLD timeZone As RSI_TIME_ZONE End Type
' ' RSI_CALIBRATION_DATA ' Type RSI_CALIBRATION_DATA exposure As Integer row As Integer col As Integer End Type
' ' RSI_SCORE ' Type RSI_SCORE score As Integer End Type
' ' RSI_LAST_TEMPLATE ' ' Note that score is meaningful only after a verify; ' ignore immediately after an enroll.
Type RSI_LAST_TEMPLATE score As RSI_SCORE templateVector As RSI_TEMPLATE End Type
' ' RSI_RESULTS ' Type RSI_RESULTS ID As RSI_ID pad As Byte ' force score to even boundary score As RSI_SCORE End Type
' ' RSI_RESPONSE ' Type RSI_RESPONSE type As RSI_RESPONSE_TYPE data As Long dataSize As Integer ' set by user to sizeof data item (0=don't care) buffer As Long ' buffer containing raw data from reader buflen As Integer ' set by user to length of expected data response End Type
' ' RSI_FKEY_DATA ' Type RSI_FKEY_DATA data(0 To RSI_LEN_FKEY_DATA - 1) As Byte End Type
' ' RSI_READY_STR ' Type RSI_READY_STR readyStr(0 To RSI_LEN_READY_STR - 1) As Byte End Type
' ' RSI_SERIAL_MODE ' Type RSI_SERIAL_MODE sm As Byte End Type
' ' RSI_AUX_EVENT_FLAG ' Type RSI_AUX_EVENT_FLAG tamper As Long tzviol As Long idref As Long duress As Long auxin1 As Long auxin2 As Long door As Long tryagain As Long f1key As Long f2key As Long power As Long unlock As Long End Type
' ' RSI_AUX_CLEAR_FLAG ' Type RSI_AUX_CLEAR_FLAG onverified As Long End Type
' ' RSI_AUX_OUTPUT_SETUP ' Type RSI_AUX_OUTPUT_SETUP flags As RSI_AUX_EVENT_FLAG time As RSI_TIME_20K pad1 As Byte pad2 As Byte clear As RSI_AUX_CLEAR_FLAG tz As RSI_TIME_ZONE End Type
' ' RSI_HP_DLOG_FLAG ' Type RSI_HP_DLOG_FLAG hdf As Long End Type
' ' RSI_TIME_SCALE ' Type RSI_TIME_SCALE ts As Byte End Type
' ' RSI_AUX_KPD_CTRL ' Type RSI_AUX_KPD_CTRL akc As Byte End Type
' ' RSI_LANG_TYPE ' Type RSI_LANG_TYPE lt As Byte End Type
' ' RSI_DATE_FMT ' Type RSI_DATE_FMT df As Byte End Type
' ' RSI_RING_COUNT ' Type RSI_RING_COUNT rc As Byte End Type
' ' RSI_RING_TIMEOUT ' Type RSI_RING_TIMEOUT rt As Byte End Type
' ' RSI_RING_DELAY ' Type RSI_RING_DELAY rd As Byte End Type
' ' RSI_FK_MASKS ' Type RSI_FK_MASKS fm As Integer End Type
' ' RSI_EXT_SETUP_DATA ' Type RSI_EXT_SETUP_DATA readyStrVector As RSI_READY_STR serMode As RSI_SERIAL_MODE pad As Byte ' force even boundary flags0 As RSI_AUX_EVENT_FLAG aux1 As RSI_AUX_OUTPUT_SETUP aux2 As RSI_AUX_OUTPUT_SETUP hpDlogFlag As RSI_HP_DLOG_FLAG timeScale As RSI_TIME_SCALE auxKpdCtrl As RSI_AUX_KPD_CTRL langType As RSI_LANG_TYPE dateFmt As RSI_DATE_FMT ringCount As RSI_RING_COUNT ringTimeout As RSI_RING_TIMEOUT ringDelay As RSI_RING_DELAY deFKMasks As RSI_FK_MASKS End Type
' ' RSI_UDF ' Type RSI_UDF ud(0 To RSI_LEN_USER_DATA - 1) As Byte End Type
' ' RSI_USER_DATA ' Type RSI_USER_DATA ID As RSI_ID data As RSI_UDF End Type
' ' RSI_COMMAND_STATUS ' Type RSI_COMMAND_STATUS incomplete As Long status As RSI_STATUS End Type
' ' RSI_EXT_TIME_INTERVAL ' Type RSI_EXT_TIME_INTERVAL hour_beg As Byte ' hour begin minute_beg As Byte ' minute begin hour_end As Byte ' hour end minute_end As Byte ' minute end dow As Byte ' day of the week mask End Type
' ' RSI_NAME ' Type RSI_NAME un(0 To RSI_LEN_USER_NAME - 1) As Byte End Type
' ' RSI_XUD_RESERVED ' Type RSI_XUD_RESERVED xr(0 To RSI_LEN_XUD_RESERVED - 1) As Byte End Type
' ' RSI_AMNESTY ' Type RSI_AMNESTY amn As Byte End Type
' ' RSI_EXT_USER_DATA ' Type RSI_EXT_USER_DATA ti(0 To RSI_LEN_NUM_XTI - 1) As RSI_EXT_TIME_INTERVAL pad As Byte ' force even boundary fkmasks As RSI_FK_MASKS name As RSI_NAME data As RSI_UDF amnesty As RSI_AMNESTY reserved As RSI_XUD_RESERVED End Type
' ' RSI_EXT_USER_DATA_FIELD ' Type RSI_EXT_USER_DATA_FIELD ID As RSI_ID pad As Byte ' force xud to even boundary xud As RSI_EXT_USER_DATA End Type
' ' RSI_USER_MESSAGE ' Type RSI_USER_MESSAGE ID As RSI_ID msg As RSI_MESSAGE_TEXT End Type
' ' RSI_EXT_USER_RECORD ' Type RSI_EXT_USER_RECORD ur As RSI_USER_RECORD ' basic user record xud As RSI_EXT_USER_DATA ' extended user data End Type
' ' RSI_PROM_DATE ' Type RSI_PROM_DATE pd(0 To RSI_LEN_PROM_DATE - 1) As Byte End Type
' ' RSI_PROM_NAME ' Type RSI_PROM_NAME pn(0 To RSI_LEN_PROM_NAME - 1) As Byte End Type
' ' RSI_RI_RESERVED ' Type RSI_RI_RESERVED rr(0 To RSI_LEN_RI_RESERVED - 1) As Byte End Type
' ' RSI_READER_INFO ' Type RSI_READER_INFO model As Byte memory As Byte promDate As RSI_PROM_DATE promName As RSI_PROM_NAME pad1 As Byte ' force to even boundary sn As Long snp As Byte pad2 As Byte ' force userCap to even boundary userCap As Integer dlogCap As Integer usersEnrolled As Integer dlogsPresent As Integer reserved As RSI_RI_RESERVED End Type
' ' RSI_OEM_CODE ' Type RSI_OEM_CODE code As Integer End Type
' ' RSI_BULK_HOURS ' Used for T&A data log format 15, 2nd item, data2, type 08 ' Type RSI_BULK_HOURS hours As Integer minutes As Byte deduct As Byte End Type
' ' RSI_BULK_DOLLARS ' Used for T&A data log format 15, 2nd item, data2, type 09 ' Type RSI_BULK_DOLLARS dollars As Integer cents As Byte deduct As Byte End Type
' ' BYTE RSI_BCD_4 ' Type RSI_BCD_4 rb4(0 To 3) As Byte End Type
' ' RSI_TA_15_1 ' Type RSI_TA_15_1 type As RSI_DATA_LOG_DATA_TYPE ' either 0x15 or 0xFF category As RSI_BCD_4 ' for type=0x15 only End Type
' ' RSI_TA_15_2 ' Type RSI_TA_15_2 type As RSI_DATA_LOG_DATA_TYPE ' OxFF or 0 - 9 data As RSI_BCD_4 End Type
' ' RSI_TA_15_3 ' Type RSI_TA_15_3 type As RSI_DATA_LOG_DATA_TYPE ' 0xFF, 00, 04 department As RSI_BCD_4 ' only for type 04 End Type
' ' RSI_TA_7 ' Type RSI_TA_7 type As RSI_DATA_LOG_DATA_TYPE ' 0xFF, 00 - 07 department As RSI_BCD_4 ' for types 01 - 07 only End Type
' ' RSI_DLF_17 ' Type RSI_DLF_17 ta As RSI_TA_DLF_17 data As RSI_BCD_4 End Type
' ' RSI_DLF_19 ' Type RSI_DLF_19 ta As RSI_TA_DLF_19 data As RSI_BCD_4 End Type
' ' RSI_DLF_30 ' Type RSI_DLF_30 ta As RSI_TA_DLF_30 data As RSI_BCD_4 End Type
' ' RSI_DLF_48 ' Type RSI_DLF_48 ta As RSI_TA_DLF_48 data As RSI_BCD_4 End Type
' ' rsidll32 function declarations '
' // Level 0
Declare Function rsiCloseChannel Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiGetHandReader Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Byte
Declare Function rsiInstallChannel Lib "rsidll32" ( _ ByVal ComPort As Long _ ) As Long
Declare Function rsiOpenCustomChannel Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiOpenDirectChannel Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal BaudRate As Long _ ) As Long
Declare Function rsiOpenModemChannel Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal baud As Long, _ ByVal number As String, _ ByVal speaker As Long _ ) As Long
Declare Function rsiSetHandReader Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal addr As Long, _ status As RSI_STATUS _ ) As Long
Declare Function rsiSetModemInitString Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal init_string As String _ ) As Long
' // Ethernet
Declare Function rsiCleanupWsock Lib "rsidll32" ( _ ) As Long
Declare Function rsiCloseWsock Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiInitWsock Lib "rsidll32" ( _ ByVal HostName As String, _ ByVal port As Long _ ) As Long
Declare Function rsiReadSocket Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef c As Byte _ ) As Long
Declare Function rsiStartupWsock Lib "rsidll32" ( _ ) As Long
Declare Function rsiWriteSocket Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal c As Byte _ ) As Long
' /////////////////////////////////////////////////////////////////////////////// ' // ' // LEVEL 2 ' // ' // Commands to hand reader. See Software Manual for descriptions. ' // ' // Validation is performed on all data and RSI_ERROR_DATA may be returned. ' // ' // Note that the data structures these functions use are not necessarily the ' // structures that the hand reader uses. ' // ' ///////////////////////////////////////////////////////////////////////////////
Declare Function rsiAbortCommand Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiBeep Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal duration As Byte, _ ByVal count As Byte _ ) As Long
Declare Function rsiCalibrate Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiClearUserDataBase Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiDisplayCodedMessage Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal msg As RSI_MESSAGE_CODE, _ ByVal halfsecs As Byte _ ) As Long
Declare Function rsiEnrollUser Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal Prompt As RSI_PROMPT _ ) As Long
Declare Function rsiEnterIdleMode Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiEnterIdleMode2 Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiHereAreTimeZones Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef tz As RSI_TIME_ZONE_TABLE _ ) As Long
Declare Function rsiHereIsBankNumber Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal Bank As Long _ ) As Long
Declare Function rsiHereIsBellScheduleTable Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef schedule As RSI_BELL_SCHEDULE _ ) As Long
Declare Function rsiHereIsDataBank Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef dbnk As RSI_DATA_BANK _ ) As Long
Declare Function rsiHereIsDisplayMessage Lib "rsidll32" ( _ ByVal chnl As Long, _ msg As RSI_DISPLAY_MESSAGE _ ) As Long
Declare Function rsiHereIsSetupData Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef Setup As RSI_SETUP_DATA _ ) As Long
Declare Function rsiHereIsTime Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef time As RSI_TIME_DATE _ ) As Long
Declare Function rsiHereIsUserRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef ur As RSI_USER_RECORD _ ) As Long
Declare Function rsiHereIsSmartCardRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef ur As RSI_USER_RECORD _ ) As Long
Declare Function rsiIDToText Lib "rsidll32" ( _ ID As Any, _ ByVal text As String _ ) As Long
Declare Function rsiNextMessageIsBellScheduleTable Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiNextMessageIsTimeZone Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiOutputControl Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal OutState As RSI_OUTPUT_STATE _ ) As Long
Declare Function rsiPrinterPassThrough Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal Out As String, _ ByVal length As Long _ ) As Long
Declare Function rsiRemoveUserRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef ID As RSI_ID _ ) As Long
Declare Function rsiResume Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendCalibrationData Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendDataBank Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal bnk As Long _ ) As Long
Declare Function rsiSendDataLog Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendLastUserRecord Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendPreviousDataLog Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendResults Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendSetupData Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendStatusCRC Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef status As RSI_STATUS _ ) As Long
Declare Function rsiSendTemplate Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendUserRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef ID As RSI_ID _ ) As Long
Declare Function rsiTextToID Lib "rsidll32" ( _ ByVal text As String, _ ID As RSI_ID _ ) As Long
Declare Function rsiUpdateNVRam Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiVerifyOnExternalData Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef Prompt As RSI_PROMPT, _ ByRef tmpl As RSI_TEMPLATE _ ) As Long
Declare Function rsiVerifyOnInternalData Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef ID As RSI_ID _ ) As Long
Declare Function rsiHereIsFkeyData Lib "rsidll32" ( _ ByVal chnl As Long, _ fkeyData As RSI_FKEY_DATA _ ) As Long
Declare Function rsiHereIsExtSetupData Lib "rsidll32" ( _ ByVal chnl As Long, _ Setup As RSI_EXT_SETUP_DATA _ ) As Long
Declare Function rsiSetUserData Lib "rsidll32" ( _ ByVal chnl As Long, _ udf As RSI_USER_DATA, _ cstat As RSI_COMMAND_STATUS _ ) As Long
Declare Function rsiSetExtUserData Lib "rsidll32" ( _ ByVal chnl As Long, _ xudf As RSI_EXT_USER_DATA_FIELD, _ cstat As RSI_COMMAND_STATUS _ ) As Long
Declare Function rsiAddUserMessage Lib "rsidll32" ( _ ByVal chnl As Long, _ um As RSI_USER_MESSAGE, _ cstat As RSI_COMMAND_STATUS _ ) As Long
Declare Function rsiRemoveUserMessage Lib "rsidll32" ( _ ByVal chnl As Long, _ ID As RSI_ID _ ) As Long
Declare Function rsiHereIsExtUserRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ xur As RSI_EXT_USER_RECORD _ ) As Long
Declare Function rsiClearUserMessages Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
' /////////////////////////////////////////////////////////////////////////////// ' // ' // LEVEL 3 ' // ' // High level functions to perform various hand reader tasks. ' // ' /////////////////////////////////////////////////////////////////////////////// Declare Function rsiAllocResponseBuffer Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiDeAllocResponseBuffer Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiGetCalibrationData Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef calib As RSI_CALIBRATION_DATA _ ) As Long
Declare Function rsiGetDataBank Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal bnk As Long, _ ByRef dbnk As RSI_DATA_BANK _ ) As Long
Declare Function rsiGetDataLogElement Lib "rsidll32" ( _ ByVal chnl As Long, _ DataLog As RSI_DATA_LOG_ELEMENT, _ ByVal bPrev As Long _ ) As Long
Declare Function rsiGetLastTemplate Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef tmpl As RSI_LAST_TEMPLATE _ ) As Long
Declare Function rsiGetLastUserRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef ur As RSI_USER_RECORD _ ) As Long
Declare Function rsiGetResults Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef Results As RSI_RESULTS _ ) As Long
Declare Function rsiGetResponse Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef Response As RSI_RESPONSE _ ) As Long
Declare Function rsiGetSetupData Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef Setup As RSI_SETUP_DATA _ ) As Long
Declare Function rsiGetStatus Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef status As RSI_STATUS _ ) As Long
Declare Function rsiGetUserRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef ID As RSI_ID, _ ByRef ur As RSI_USER_RECORD _ ) As Long
Declare Function rsiParseResponse Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef Response As RSI_RESPONSE _ ) As Long
Declare Function rsiReadResponseBuffer Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef bufptr As Long, _ ByRef buflen As Long _ ) As Long
Declare Function rsiSetBellSchedule Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef schedule As RSI_BELL_SCHEDULE _ ) As Long
Declare Function rsiSetDataBank Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal bnk As Long, _ ByRef dbnk As RSI_DATA_BANK _ ) As Long
Declare Function rsiSetTimeZoneTable Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef tz As RSI_TIME_ZONE_TABLE _ ) As Long
Declare Function rsiGetReaderInfo Lib "rsidll32" ( _ ByVal chnl As Long, _ ri As RSI_READER_INFO _ ) As Long
Declare Function rsiGetOemCode Lib "rsidll32" ( _ ByVal chnl As Long, _ oem As RSI_OEM_CODE _ ) As Long
Declare Function rsiGetExtSetupData Lib "rsidll32" ( _ ByVal chnl As Long, _ Setup As RSI_EXT_SETUP_DATA _ ) As Long
Declare Function rsiGetExtUserRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ ID As RSI_ID, _ xur As RSI_EXT_USER_RECORD _ ) As Long
Declare Sub rsiSetPings Lib "rsidll32" ( _ ByVal cnt As Long _ )
' ' Windows API function declarations ' Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _ Dest As Any, _ ByVal Src As Any, _ ByVal length As Long _ )
Declare Sub CopyMemory2 Lib "kernel32" Alias "RtlMoveMemory" ( _ ByVal Dest As Any, _ ByVal Src As Any, _ ByVal length As Long _ )
Declare Sub CopyMemory3 Lib "kernel32" Alias "RtlMoveMemory" ( _ Dest As Any, _ Src As Any, _ ByVal length As Long _ )
Declare Sub FillMemory Lib "kernel32" Alias "RtlFillMemory" ( _ Dest As Any, _ ByVal length As Long, _ ByVal Fill As Byte _ )
Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" ( _ Dest As Any, _ Src As Any, _ ByVal length As Long _ )
Public Const GMEM_MOVEABLE = &H2 Public Const GMEM_ZEROINIT = &H40
Public Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long Public Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long Public Declare Function GlobalFree Lib "kernel32" (ByVal hMem As Long) As Long Public Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long |
| |
| |
| | | |
|
| | |
| |
Posté le 15 mai 2008 - 08:19 |
yo estoy haciendo una interfase para el handpunch 3000 y me seria muy util esa dll y el manual podrias ayudarme enviandomela
gracias |
| |
| |
| | | |
|
| | |
| |
Posté le 04 juin 2008 - 08:52 |
Hola Oswaldo te puedo ayudar con el manual original de la laibreria esribeme a mi correo jaime.rodriguez@kfc.com.ve a ver si nos ayudamos ya logre comunicarme con el reloj hasta ahora lo que he podido hacer es leer la fecha y poderla cambiar pero hay unas declaraciones que no entiendo si quieres que te envie lo que podido avanzar avisame
saludos JAROD
Oswaldo Alarcon wrote in news message <482b3d2d$1@news.pcsoft.fr>:
yo estoy haciendo una interfase para el handpunch 3000 y me seria muy util esa dll y el manual podrias ayudarme enviandomela
gracias
|
| |
| |
| | | |
|
| | |
| |
Posté le 26 novembre 2008 - 08:19 |
Hola que tal yo tambien ya logre que se comunicara con el relog la handpunch pero no puedo hacer que jale el log de recoleccion rsiGetDataLogElement no me marca error pero no trae nada de datos, espero me puedan ayudar |
| |
| |
| | | |
|
| | |
| |
Posté le 26 novembre 2008 - 14:13 |
WIndev XI y XII(creo que en versiones anteriores también) tiene una utilidad que se llama WDAPI dentro de ella tienes una pestaña que se llama C to W-Language conversion, ahi podrás convertir estructuras y funciones de un lenguage a otro.
Espero que te sirva
Saludos |
| |
| |
| | | |
|
| | |
| |
Posté le 31 mars 2009 - 02:17 |
Hola, Alguien tendrá el manual del HANDPUNCH3000 pero en español?
si es positivo favor de reenviármelo a mí cuenta: jcastilla@identitronics.com, gracias de antemano.
Jarod wrote in news message <47d2d319$1@news.pcsoft.fr>:
hola estoy tratando de hacer un software para leer informacion desde un reloj biometrico para control de asistencia a travez de una DLL qie trae el reloj rsidll32.dll pero todo los codigos de ejemplo que encuentro estan en Visual Basic o C tengo el manual de la DLL pero todas las declaraciones estan en C y no se como hacerlas en windev 8 si alguien quiere aportar les podria enviar la dll y el manual, les agradeceria el ejemplo de las declaraciones son las siguientes
VB Code ---------- Attribute VB_Name = "Rsidll32" Option Explicit
'----------------------------------------------- ' rsidll32 enumerations and constants '-----------------------------------------------
' //////////////////////////////////////////////////////////////// ' // ' // Macros for array sizes and data item ranges. ' // ' // Array sizes are for raw hand reader data. ' // ' ////////////////////////////////////////////////////////////////
Public Const RSI_LEN_ID = 5 Public Const RSI_LEN_TEMPLATE = 9 Public Const RSI_LEN_PASSWORD = 10 Public Const RSI_LEN_MESSAGE = 32 Public Const RSI_LEN_DATA_BANK = 4096 Public Const RSI_LEN_FKEY_DATA = 4096 Public Const RSI_LEN_READY_STR = 14 Public Const RSI_LEN_USER_DATA = 24 Public Const RSI_LEN_USER_NAME = 16 Public Const RSI_LEN_XUD_RESERVED = 6 Public Const RSI_LEN_NUM_XTI = 3 Public Const RSI_LEN_SETUP_DATA = 128 Public Const RSI_LEN_VECTOR = 2 + RSI_LEN_TEMPLATE Public Const RSI_LEN_USER_REC = 16 Public Const RSI_LEN_USER_REC_PARSE = 23 Public Const RSI_LEN_DISP_MSG = 37 Public Const RSI_LEN_TIME = 6 Public Const RSI_LEN_HOLIDAYS = 48 Public Const RSI_LEN_TIME_ZONES = RSI_LEN_HOLIDAYS + 720 Public Const RSI_LEN_BELLS = 300 Public Const RSI_LEN_PRINTER = 128 Public Const RSI_LEN_DATALOG = 18 Public Const RSI_LEN_DATA_LOG_PARSE = 28 Public Const RSI_LEN_CALIBRATION_DATA = 6 Public Const RSI_LEN_CALIBRATION_PARSE = 6 Public Const RSI_LEN_PROM_DATE = 20 Public Const RSI_LEN_PROM_NAME = 17 Public Const RSI_LEN_EXT_UD = 61 Public Const RSI_LEN_RI_RESERVED = 50 Public Const RSI_LEN_READER_INFO = 102 Public Const RSI_MAX_XTI = 1440 ' max minutes in a day
Public Const RSI_NUM_DAYS = 31 Public Const RSI_NUM_MONTHS = 12 Public Const RSI_NUM_PASSWORDS = 5 Public Const RSI_NUM_TIME_ZONE_INTERVALS = 4 Public Const RSI_NUM_TIME_ZONE_TABLE_ITEMS = 60 Public Const RSI_NUM_BELL_SCHEDULE_ITEMS = 100 Public Const RSI_NUM_DATA_BANK_ITEMS = 256
' NOTE THAT ALL ENUMS DECLARED IN A TYPE END UP AS LONGS
' ' RSI_RESULT ' Enum RSI_RESULT RSI_SUCCESS RSI_ERROR_DATA RSI_ERROR_COM RSI_NO_CONNECTION RSI_COM_TIMEOUT RSI_BAD_CRC RSI_PARSE_OVERFLOW RSI_PARSE_UNDERFLOW RSI_INVALID_CHANNEL RSI_INVALID_SOCKET RSI_INVALID_BUFFER RSI_SOCKET_ERROR RSI_CANCEL_IO End Enum
' ' RSI_MESSAGE_CODE ' Enum RSI_MESSAGE_CODE RSI_ACCESS_GRANTED = 0 RSI_WRONG_TIME_PLACE = 1 RSI_HAND_NOT_CLEARED = 2 End Enum
' ' RSI_PROMPT ' Enum RSI_PROMPT RSI_RIGHT = 0 RSI_LEFT = 1 RSI_BLANK = 2 End Enum
' ' DAY_NAMES ' ' These are used for the dowMask of time zones and bell schedules ' Enum DAY_NAMES RSI_SUNDAY = &H1 RSI_MONDAY = &H2 RSI_TUESDAY = &H4 RSI_WEDNESDAY = &H8 RSI_THURSDAY = &H10 RSI_FRIDAY = &H20 RSI_SATURDAY = &H40 RSI_HOLIDAY = &H80 End Enum
' ' TIME_ZONES ' Enum TIME_ZONES RSI_TZ_ALWAYS = 0 RSI_TZ_NEVER = 61 End Enum
' ' SPECIAL_READER_ADDRS ' Enum SPECIAL_READER_ADDRS RSI_MIN_READER_ADDRESS = &H0 RSI_MAX_READER_ADDRESS = &HFE RSI_BROADCAST_ADDRESS = &HAA RSI_SYSTEM_HOST_ADDRESS = &HFF End Enum
' ' RSI_BAUD ' Enum RSI_BAUD RSI_38400 = 0 RSI_19200 = 1 RSI_9600 = 2 RSI_4800 = 3 RSI_2400 = 4 RSI_1200 = 5 RSI_600 = 6 RSI_300 = 7 End Enum
' ' RSI_AUTHORITY_LEVEL ' Enum RSI_AUTHORITY_LEVEL RSI_NONE = 0 RSI_SERVICE = 1 RSI_SETUP = 2 RSI_MANAGEMENT = 3 RSI_ENROLLMENT = 4 RSI_SECURITY = 5 End Enum
' ' RSI_OUTPUT_STATE ' Enum RSI_OUTPUT_STATE RSI_TIMED_UNLOCK = 1 RSI_INDEFINATE_UNLOCK = 2 RSI_RELOCK_NOW = 3 RSI_AUX_ON = 4 RSI_AUX_OFF = 5 RSI_DISABLE_LOCK = 6 RSI_AUX1_ON = 7 RSI_AUX1_OFF = 8 RSI_AUX2_ON = 9 RSI_AUX2_OFF = 10 RSI_AUX0_TIMED = 11 RSI_AUX1_TIMED = 12 RSI_AUX2_TIMED = 13 End Enum
' ' RSI_OPERATING_MODE ' Enum RSI_OPERATING_MODE RSI_STAND_ALONE = 0 RSI_MASTER = 1 RSI_REMOTE = 2 End Enum
' ' RSI_OUTPUT_MODES ' Enum RSI_OUTPUT_MODES RSI_LOCK = 0 RSI_CARD_READER_EMULATION = 1 End Enum
' ' RSI_DATA_LOG_FORMAT ' Enum RSI_DATA_LOG_FORMAT RSI_DLF_BUFFER_EMPTY = 0 RSI_DLF_USER_ENROLLED = 1 RSI_DLF_NO_HAND_READ = 2 RSI_DLF_IDENTITY_UNKNOWN = 3 RSI_DLF_EXIT_GRANTED = 4 RSI_DLF_SCORE_IS = 5 RSI_DLF_ACCESS_DENIED = 6 RSI_DLF_IDENTITY_VERIFIED = 7 RSI_DLF_USER_REMOVED = 8 RSI_DLF_ENTER_COMMAND_MODE = 9 RSI_DLF_LEAVE_COMMAND_MODE = 10 RSI_DLF_RECALIBRATED = 11 RSI_DLF_TWO_MAN_TIMEOUT = 12 RSI_DLF_DOOR_FORCED_OPEN = 13 RSI_DLF_TAMPER_ACTIVATED = 14 RSI_DLF_SUPERVISOR_OVERRIDE = 15 RSI_DLF_USER_ADDED_FROM_CARD = 16 RSI_DLF_AUX_INPUT_ON = 17 RSI_DLF_REQ_EXIT_ACTIVATED = 18 RSI_DLF_AUX_OUTPUT_ON = 19 RSI_DLF_BAUD_RATE_CHANGED = 20 RSI_DLF_MESSAGES_READ = 21 RSI_DLF_UNIT_ADDRESS_CHANGED = 22 RSI_DLF_SITE_CODE_CHANGED = 23 RSI_DLF_TIME_AND_DATE_SET = 24 RSI_DLF_LOCK_SETUP_CHANGED = 25 RSI_DLF_PASSWORDS_CHANGED = 26 RSI_DLF_REJECT_THRESHOLD_SET = 27 RSI_DLF_AUX_OUT_SETUP_CHANGED = 28 RSI_DLF_PRINTER_SETUP_CHANGED = 29 RSI_DLF_EXT_DATALOGS = 30 RSI_DLF_DOOR_OPEN_TOO_LONG = 31 RSI_DLF_USERS_LISTED = 32 RSI_DLF_DATA_BASE_SAVED = 33 RSI_DLF_DATA_BASE_RESTORED = 34 RSI_DLF_AMNESTY_PUNCH_GRANTED = 35 RSI_DLF_REJ_OVERRIDE_CHANGED = 36 RSI_DLF_AUTH_LEVEL_CHANGED = 37 RSI_DLF_OPER_MODE_CHANGED = 38 RSI_DLF_OUTPUT_MODE_CHANGED = 39 RSI_DLF_MAX_ID_LEN_CHANGED = 40 RSI_DLF_MEMORY_CLEARED = 41 RSI_DLF_ACCESS_REFUSED_TZ = 42 RSI_DLF_TIME_ZONES_CHANGED = 43 RSI_DLF_USER_TIME_ZONE_CHANGED = 44 RSI_DLF_DURESS_ALARM = 45 RSI_DLF_LOCK_OUTPUT_ON = 46 RSI_DLF_LOCK_OUTPUT_OFF = 47 RSI_DLF_AUX_OUTPUT_OFF = 48 RSI_DLF_SPECIAL_ENROLLMENT = 49 RSI_DLF_AUX_UNLOCK_WIEGAND = 50 RSI_DLF_TIME_RESTRICTIONS = 51 End Enum
Enum RSI_RESPONSE_TYPE RSI_RESP_NONE = -1 RSI_RESP_HERE_IS_STATUS = &H30 ' '0' RSI_RESP_HERE_IS_USER_RECORD = &H32 ' '2' RSI_RESP_HERE_IS_CALIBRATION_DATA = &H33 ' '3' RSI_RESP_HERE_ARE_RESULTS = &H35 ' '5' RSI_RESP_HERE_IS_DATA_BANK = &H36 ' '6' RSI_RESP_HERE_IS_TEMPLATE_VECTOR = &H37 ' '7' RSI_RESP_HERE_IS_NEXT_DATA_LOG = &H38 ' '8' RSI_RESP_HERE_IS_SETUP_DATA = &H39 ' '9' RSI_RESP_HERE_IS_EXT_SETUP_DATA = &H41 ' 'A' RSI_RESP_UNABLE_TO_COMPLETE = &H58 ' 'X' RSI_RESP_HERE_IS_OEM_CODE = &H4F ' 'O' RSI_RESP_HERE_IS_READER_INFO = &H53 ' 'S' RSI_RESP_HERE_IS_EXT_USER_RECORD = &H31 ' '1' End Enum
' Enumeration for memory configuration Enum RSI_MEMORY_OPTIONS RSI_MEMORY_OPTION_A = 0 ' Small 128K RSI_MEMORY_OPTION_B = 1 ' Medium 256K RSI_MEMORY_OPTION_C = 2 ' Large 640K RSI_MEMORY_OPTION_ERROR End Enum
' Enumeration for reader model number Enum RSI_MODELS RSI_MODEL_HP2K = 0 RSI_MODEL_HP3K = 1 RSI_MODEL_HP4K = 2 RSI_MODEL_HKCR = 3 RSI_MODEL_HKII = 4 RSI_MODEL_5 = 5 RSI_MODEL_6 = 6 RSI_MODEL_7 = 7 RSI_MODEL_8 = 8 RSI_MODEL_9 = 9 RSI_MODEL_10 = 10 RSI_MODEL_11 = 11 RSI_MODEL_12 = 12 RSI_MODEL_13 = 13 RSI_MODEL_14 = 14 RSI_MODEL_SPECIAL = 15 RSI_MODEL_ERROR End Enum
' ' RSI_DATA_ERROR enumeration ' ' Enumeration for specific data range errors as described below. ' Enum RSI_DATA_ERROR RSI_DATA_OK ' No data error RSI_ERROR_ID_CHAR ' ASCII ID character out of range Ox30-Ox3F RSI_ERROR_AUTHORITY_LEVEL ' Authority level out of range 0-5 RSI_ERROR_REJECT_THRESHOLD ' Reject threshold out of range RSI_ERROR_TIME_ZONE ' Time zone out of range 0-61 RSI_ERROR_YEAR ' added by Prasanth Pulavarthi RSI_ERROR_MONTH ' Month out of range RSI_ERROR_DAY RSI_ERROR_HOUR ' added by Prasanth Pulavarthi RSI_ERROR_MINUTE RSI_ERROR_SECOND RSI_ERROR_TIME_20K RSI_ERROR_READER_ADDR ' added by Prasanth Pulavarthi RSI_ERROR_FACILITY_CODE ' added by Prasanth Pulavarthi RSI_ERROR_ID_LENGTH ' added by Prasanth Pulavarthi RSI_ERROR_NUM_TRIES ' added by Prasanth Pulavarthi RSI_ERROR_DURESS_CHAR ' added by Prasanth Pulavarthi RSI_ERROR_MSG_TEXT ' added by Prasanth Pulavarthi RSI_ERROR_INTERVAL_TIME ' added by Prasanth Pulavarthi RSI_ERROR_BELL_DURATION ' added by Prasanth Pulavarthi RSI_ERROR_BUFFER_INVALID ' added by Prasanth Pulavarthi RSI_ERROR_CHANNEL_INVALID ' used only by rsiGetDataError() RSI_ERROR_SERIAL_MODE End Enum
' ' RSI_COMMAND_TYPE enumeration ' ' These are the characters that are sent to the hand reader to execute a ' command. The argument to rsiSendMessage is set to one of these values. ' Enum RSI_COMMAND_TYPE RSI_CMD_RESUME = &H31 ' '1' RSI_CMD_ABORT = &H32 ' '2' RSI_CMD_HERE_IS_USER_RECORD = &H37 ' '7' RSI_CMD_SEND_USER_RECORD = &H38 ' '8' RSI_CMD_HERE_IS_SETUP_DATA = &H3D ' '=' RSI_CMD_REMOVE_USER_RECORD = &H3F ' '?' RSI_CMD_CALIBRATE = &H3A ' ':' RSI_CMD_CLEAR_USER_DATABASE = &H3E ' '>' RSI_CMD_SEND_CALIBRATION_DATA = &H3C ' '<' RSI_CMD_SEND_LAST_USER_RECORD = &H40 ' '@' RSI_CMD_HERE_IS_TIME = &H41 ' 'A' RSI_CMD_SEND_RESULTS = &H43 ' 'C' RSI_CMD_SEND_STATUS_CRC = &H44 ' 'D' RSI_CMD_ENTER_IDLE_MODE = &H45 ' 'E' RSI_CMD_ENTER_IDLE_MODE2 = &H65 ' 'e' RSI_CMD_HERE_IS_BANK_NUMBER = &H46 ' 'F' RSI_CMD_HERE_IS_DATA_BANK = &HC7 ' 'G' + high bit set for length>255 RSI_CMD_SEND_DATA_BANK = &H48 ' 'H' RSI_CMD_ENROLL_USER = &H49 ' 'I' RSI_CMD_VERIFY_USER_EXTERNAL = &H4A ' 'J' RSI_CMD_SEND_TEMPLATE = &H4B ' 'K' RSI_CMD_UPDATE_NV_RAM = &H4C ' 'L' RSI_CMD_SEND_DATA_LOG = &H4D ' 'M' RSI_CMD_SEND_PREV_DATA_LOG = &H6D ' 'm' RSI_CMD_SEND_SETUP_DATA = &H4E ' 'N' RSI_CMD_OUTPUT_CONTROL = &H4F ' 'O' RSI_CMD_HERE_IS_DISPLAY_MESSAGE = &H50 ' 'P' RSI_CMD_PRINTER_PASS_THROUGH = &H70 ' 'p' RSI_CMD_VERIFY_USER_INTERNAL = &H51 ' 'Q' RSI_CMD_NEXT_MESSAGE_TIME_ZONE = &H52 ' 'R' RSI_CMD_HERE_ARE_TIME_ZONES = &HD3 ' 'S' + high bit set for length>255 RSI_CMD_DISPLAY_CODED_MESSAGE = &H56 ' 'V' RSI_CMD_NEXT_MESSAGE_BELL_SCHEDULE = &H57 ' 'W' RSI_CMD_HERE_IS_BELL_SCHEDULE = &HD8 ' 'X' + high bit set for length>255
RSI_CMD_HERE_IS_FKEY_DATA = &H64 ' 'd' RSI_CMD_SEND_EXT_SETUP_DATA = &H2C ' ',' RSI_CMD_HERE_IS_EXT_SETUP_DATA = &H2B ' '+' RSI_CMD_SET_USER_DATA = &H66 ' 'f' RSI_CMD_SEND_OEM_CODE = &H6F ' 'o' RSI_CMD_SEND_READER_INFO = &H73 ' 's' RSI_CMD_SEND_EXT_USER_RECORD = &H74 ' 't' RSI_CMD_SET_EXT_USER_DATA = &H75 ' 'u' RSI_CMD_ADD_USER_MESSAGE = &H76 ' 'v' RSI_CMD_REMOVE_USER_MESSAGE = &H77 ' 'w' RSI_CMD_HERE_IS_EXT_USER_RECORD = &H78 ' 'x' RSI_CMD_CLEAR_USER_MESSAGES = &H79 ' 'y' End Enum
' ' RSI_DATA_LOG_DATA_TYPE ' Enum RSI_DATA_LOG_DATA_TYPE RSI_NO_DATA_EXPECTED = &HFF RSI_NO_DATA_ENTERED = &H0 RSI_DATA_IN = &H1 RSI_DATA_BACK1 = &H2 RSI_DATA_OUT = &H3 RSI_DATA_DEPARTMENT = &H4 RSI_DATA_BACK2 = &H5 RSI_DATA_JOB = &H6 RSI_DATA_BACK3 = &H7 RSI_DATA_BULK_HOURS = &H8 RSI_DATA_BULK_DOLLARS = &H9 RSI_DATA_CATEGORY = &H15 End Enum
' ' RSI_TA_DLF_17 ' Used for datalog format 17 of high byte of data2 ' Enum RSI_TA_DLF_17 RSI_TA_DLF_17_AUXIN1_ON = &HFF RSI_TA_DLF_17_AUXIN2_ON = &H1 End Enum
' ' RSI_AUXOUT_ON_EVENTS ' Used for datalog format 19 of 4-byte lsb of data2 ' Enum RSI_AUXOUT_ON_EVENTS RSI_AUXOUT_ON_TAMPER = 0 RSI_AUXOUT_ON_TZVIOL = 1 RSI_AUXOUT_ON_IDREF = 2 RSI_AUXOUT_ON_DURESS = 3 RSI_AUXOUT_ON_AUXIN1 = 4 RSI_AUXOUT_ON_AUXIN2 = 5 RSI_AUXOUT_ON_DOOR = 6 RSI_AUXOUT_ON_TRYAGAIN = 7 RSI_AUXOUT_ON_F1KEY = 8 RSI_AUXOUT_ON_F2KEY = 9 RSI_AUXOUT_ON_POWER = 10 End Enum
' ' RSI_TA_DLF_19 ' Enum RSI_TA_DLF_19 RSI_TA_DLF_19_AUXOUT0_ON = &HFF RSI_TA_DLF_19_AUXOUT1_ON = &H1 RSI_TA_DLF_19_AUXOUT2_ON = &H2 End Enum
' ' RSI_TA_DLF_30 ' Used for datalog format 30 of high byte of data2 ' Enum RSI_TA_DLF_30 RSI_TA_DLF_30_INT_SETUP = &H1 RSI_TA_DLF_30_SYS_BOARD_STAT = &H2 End Enum
' ' RSI_TA_DLF_48 ' Used for datalog format 48 of high byte of data2 ' Enum RSI_TA_DLF_48 RSI_TA_DLF_48_AUXOUT0_OFF = &HFF RSI_TA_DLF_48_AUXOUT1_OFF = &HFF RSI_TA_DLF_48_AUXOUT2_OFF = &HFF End Enum
'----------------------------------------------- ' rsidll32 types '----------------------------------------------- ' ' RSI_ID ' Type RSI_ID b0 As Byte b1 As Byte b2 As Byte b3 As Byte b4 As Byte End Type
' ' RSI_STATUS ' Type RSI_STATUS h_read As Long ' byte 1 bit 0 led1 As Long ' byte 1 bit 1 led2 As Long ' byte 1 bit 2 led3 As Long ' byte 1 bit 3 led4 As Long ' byte 1 bit 4 any_key As Long ' byte 1 bit 5 aux_out1 As Long ' byte 1 bit 6 aux_out2 As Long ' byte 1 bit 7 res_sys As Long ' byte 2 bit 0 verify_rdy As Long ' byte 2 bit 1 rslts_rdy As Long ' byte 2 bit 2 failed_cmd As Long ' byte 2 bit 3 dlog_rdy As Long ' byte 2 bit 4 id_nim As Long ' byte 2 bit 5 cmd_bsy As Long ' byte 2 bit 6 kp_id As Long ' byte 2 bit 7 tmpr_st As Long ' byte 3 bit 0 aux_in2 As Long ' byte 3 bit 1 aux_st As Long ' byte 3 bit 2 aux_in1 As Long ' byte 3 bit 3 New readers door_st As Long ' byte 3 bit 4 rex_st As Long ' byte 3 bit 5 lock_st As Long ' byte 3 bit 6 auxo_st As Long ' byte 3 bit 7 End Type
' ' RSI_MESSAGE_TEXT ' Type RSI_MESSAGE_TEXT data(0 To RSI_LEN_MESSAGE - 1) As Byte End Type
' ' RSI_DISPLAY_MESSAGE ' Type RSI_DISPLAY_MESSAGE userSpecific As Long ' display the message for a specific user only? halfsecs_id As RSI_ID ' how long should the message be displayed? -OR- ' to which user should the message be displayed to? ' for halfsecs, use halfsecs_id.b0 msg As RSI_MESSAGE_TEXT ' the message text End Type
' ' RSI_TIME_DATE ' Type RSI_TIME_DATE second As Byte minute As Byte hour As Byte day As Byte month As Byte year As Byte End Type
' ' RSI_DATA_LOG_DATA_1 ' Type RSI_DATA_LOG_DATA_1 data(0 To 5) As Byte ' all others End Type
' ' RSI_DATA_LOG_DATA_2 ' Type RSI_DATA_LOG_DATA_2 data(0 To 7) As Byte ' all others End Type
' ' RSI_DATA_LOG_ELEMENT ' Type RSI_DATA_LOG_ELEMENT ' offset addr As Byte ' 0 time As RSI_TIME_DATE ' 1-6 pad1 As Byte ' 7 format As RSI_DATA_LOG_FORMAT ' 8-11 data1 As RSI_DATA_LOG_DATA_1 ' 12-17 pad2 As Byte ' 18 pad3 As Byte ' 19 data2 As RSI_DATA_LOG_DATA_2 ' 20-27 End Type
' ' RSI_BELL_SCHEDULE_ELEMENT ' Type RSI_BELL_SCHEDULE_ELEMENT min As Byte hour As Byte dur As Byte dowMask As Byte End Type
' ' RSI_HOLIDAY_ELEMENT ' Type RSI_HOLIDAY_ELEMENT data(0 To RSI_NUM_DAYS - 1) As Long End Type
' ' RSI_TIME_ZONE_INTERVAL ' Type RSI_TIME_ZONE_INTERVAL start As Byte stop As Byte dowMask As Byte End Type ' ' RSI_DATA_BANK ' Type RSI_DATA_BANK data(0 To RSI_LEN_DATA_BANK - 1) As Byte End Type ' ' RSI_TIME_ZONE_ELEMENT ' Type RSI_TIME_ZONE_ELEMENT tzi(0 To RSI_NUM_TIME_ZONE_INTERVALS - 1) As RSI_TIME_ZONE_INTERVAL End Type
' ' RSI_TIME_ZONE_TABLE ' Type RSI_TIME_ZONE_TABLE holidays(0 To RSI_NUM_MONTHS - 1) As RSI_HOLIDAY_ELEMENT timeZones(0 To RSI_NUM_TIME_ZONE_TABLE_ITEMS - 1) As RSI_TIME_ZONE_ELEMENT End Type
' ' RSI_BELL_SCHEDULE ' Type RSI_BELL_SCHEDULE bells(0 To RSI_NUM_BELL_SCHEDULE_ITEMS - 1) As RSI_BELL_SCHEDULE_ELEMENT End Type
' ' RSI_PASSWORD ' Type RSI_PASSWORD pass(0 To RSI_LEN_PASSWORD - 1) As Byte End Type
' ' RSI_REJECT_THRESHOLD ' Type RSI_REJECT_THRESHOLD threshold As Integer End Type
' ' RSI_TIME_20K ' Type RSI_TIME_20K time_20K As Integer End Type
' ' RSI_READER_ADDRESS ' Type RSI_READER_ADDRESS addr As Byte End Type
' ' RSI_FACILITY_CODE ' Type RSI_FACILITY_CODE facil_code As Integer End Type
' ' RSI_OUTPUT_MODE ' Type RSI_OUTPUT_MODE out_mode As Byte End Type
' ' RSI_IDLEN_TYPE ' Type RSI_IDLEN_TYPE idlen_type As Byte End Type
' ' RSI_ACCOUNTING_MODE ' Type RSI_ACCOUNTING_MODE account_mode As Byte End Type
' ' RSI_TIME_ZONE ' Type RSI_TIME_ZONE tz As Byte End Type
' ' RSI_DURESS_CHAR ' Type RSI_DURESS_CHAR Duress_Char As Byte End Type
' ' RSI_NUM_TRIES_TYPE ' Type RSI_NUM_TRIES_TYPE Num_Retries As Byte End Type
' ' RSI_SETUP_DATA ' Type RSI_SETUP_DATA passwords(0 To RSI_NUM_PASSWORDS - 1) As RSI_PASSWORD threshold As RSI_REJECT_THRESHOLD auxFlag As Long auxTimeout As RSI_TIME_20K printFlag As Long statusFlag As Long auxAlarmFlagD As Long auxAlarmFlagA As Long auxAlarmFlagI As Long auxAlarmFlagT As Long auxAlarmFlagP As Long lockTime As RSI_TIME_20K shuntTime As RSI_TIME_20K networkBaudIndex As RSI_BAUD printerBaudIndex As RSI_BAUD readerAddress As RSI_READER_ADDRESS facilityCode As RSI_FACILITY_CODE operatingMode As RSI_OPERATING_MODE outputMode As RSI_OUTPUT_MODE beeperFlag As Long idLength As RSI_IDLEN_TYPE accountingMode As RSI_ACCOUNTING_MODE unlockTimeZone As RSI_TIME_ZONE auxTimeZone As RSI_TIME_ZONE auxDuressFlag As Long duressCharacter As RSI_DURESS_CHAR numberOfTries As RSI_NUM_TRIES_TYPE dlsOn As RSI_TIME_DATE ' // year and second are not used dlsOff As RSI_TIME_DATE ' // year and second are not used display12Hour As Long End Type
' ' RSI_TEMPLATE ' Type RSI_TEMPLATE template(0 To RSI_LEN_TEMPLATE - 1) As Byte End Type
' ' RSI_USER_RECORD ' Type RSI_USER_RECORD ID As RSI_ID templateVector As RSI_TEMPLATE authorityLevel As RSI_AUTHORITY_LEVEL rejectThreshold As RSI_REJECT_THRESHOLD timeZone As RSI_TIME_ZONE End Type
' ' RSI_CALIBRATION_DATA ' Type RSI_CALIBRATION_DATA exposure As Integer row As Integer col As Integer End Type
' ' RSI_SCORE ' Type RSI_SCORE score As Integer End Type
' ' RSI_LAST_TEMPLATE ' ' Note that score is meaningful only after a verify; ' ignore immediately after an enroll.
Type RSI_LAST_TEMPLATE score As RSI_SCORE templateVector As RSI_TEMPLATE End Type
' ' RSI_RESULTS ' Type RSI_RESULTS ID As RSI_ID pad As Byte ' force score to even boundary score As RSI_SCORE End Type
' ' RSI_RESPONSE ' Type RSI_RESPONSE type As RSI_RESPONSE_TYPE data As Long dataSize As Integer ' set by user to sizeof data item (0=don't care) buffer As Long ' buffer containing raw data from reader buflen As Integer ' set by user to length of expected data response End Type
' ' RSI_FKEY_DATA ' Type RSI_FKEY_DATA data(0 To RSI_LEN_FKEY_DATA - 1) As Byte End Type
' ' RSI_READY_STR ' Type RSI_READY_STR readyStr(0 To RSI_LEN_READY_STR - 1) As Byte End Type
' ' RSI_SERIAL_MODE ' Type RSI_SERIAL_MODE sm As Byte End Type
' ' RSI_AUX_EVENT_FLAG ' Type RSI_AUX_EVENT_FLAG tamper As Long tzviol As Long idref As Long duress As Long auxin1 As Long auxin2 As Long door As Long tryagain As Long f1key As Long f2key As Long power As Long unlock As Long End Type
' ' RSI_AUX_CLEAR_FLAG ' Type RSI_AUX_CLEAR_FLAG onverified As Long End Type
' ' RSI_AUX_OUTPUT_SETUP ' Type RSI_AUX_OUTPUT_SETUP flags As RSI_AUX_EVENT_FLAG time As RSI_TIME_20K pad1 As Byte pad2 As Byte clear As RSI_AUX_CLEAR_FLAG tz As RSI_TIME_ZONE End Type
' ' RSI_HP_DLOG_FLAG ' Type RSI_HP_DLOG_FLAG hdf As Long End Type
' ' RSI_TIME_SCALE ' Type RSI_TIME_SCALE ts As Byte End Type
' ' RSI_AUX_KPD_CTRL ' Type RSI_AUX_KPD_CTRL akc As Byte End Type
' ' RSI_LANG_TYPE ' Type RSI_LANG_TYPE lt As Byte End Type
' ' RSI_DATE_FMT ' Type RSI_DATE_FMT df As Byte End Type
' ' RSI_RING_COUNT ' Type RSI_RING_COUNT rc As Byte End Type
' ' RSI_RING_TIMEOUT ' Type RSI_RING_TIMEOUT rt As Byte End Type
' ' RSI_RING_DELAY ' Type RSI_RING_DELAY rd As Byte End Type
' ' RSI_FK_MASKS ' Type RSI_FK_MASKS fm As Integer End Type
' ' RSI_EXT_SETUP_DATA ' Type RSI_EXT_SETUP_DATA readyStrVector As RSI_READY_STR serMode As RSI_SERIAL_MODE pad As Byte ' force even boundary flags0 As RSI_AUX_EVENT_FLAG aux1 As RSI_AUX_OUTPUT_SETUP aux2 As RSI_AUX_OUTPUT_SETUP hpDlogFlag As RSI_HP_DLOG_FLAG timeScale As RSI_TIME_SCALE auxKpdCtrl As RSI_AUX_KPD_CTRL langType As RSI_LANG_TYPE dateFmt As RSI_DATE_FMT ringCount As RSI_RING_COUNT ringTimeout As RSI_RING_TIMEOUT ringDelay As RSI_RING_DELAY deFKMasks As RSI_FK_MASKS End Type
' ' RSI_UDF ' Type RSI_UDF ud(0 To RSI_LEN_USER_DATA - 1) As Byte End Type
' ' RSI_USER_DATA ' Type RSI_USER_DATA ID As RSI_ID data As RSI_UDF End Type
' ' RSI_COMMAND_STATUS ' Type RSI_COMMAND_STATUS incomplete As Long status As RSI_STATUS End Type
' ' RSI_EXT_TIME_INTERVAL ' Type RSI_EXT_TIME_INTERVAL hour_beg As Byte ' hour begin minute_beg As Byte ' minute begin hour_end As Byte ' hour end minute_end As Byte ' minute end dow As Byte ' day of the week mask End Type
' ' RSI_NAME ' Type RSI_NAME un(0 To RSI_LEN_USER_NAME - 1) As Byte End Type
' ' RSI_XUD_RESERVED ' Type RSI_XUD_RESERVED xr(0 To RSI_LEN_XUD_RESERVED - 1) As Byte End Type
' ' RSI_AMNESTY ' Type RSI_AMNESTY amn As Byte End Type
' ' RSI_EXT_USER_DATA ' Type RSI_EXT_USER_DATA ti(0 To RSI_LEN_NUM_XTI - 1) As RSI_EXT_TIME_INTERVAL pad As Byte ' force even boundary fkmasks As RSI_FK_MASKS name As RSI_NAME data As RSI_UDF amnesty As RSI_AMNESTY reserved As RSI_XUD_RESERVED End Type
' ' RSI_EXT_USER_DATA_FIELD ' Type RSI_EXT_USER_DATA_FIELD ID As RSI_ID pad As Byte ' force xud to even boundary xud As RSI_EXT_USER_DATA End Type
' ' RSI_USER_MESSAGE ' Type RSI_USER_MESSAGE ID As RSI_ID msg As RSI_MESSAGE_TEXT End Type
' ' RSI_EXT_USER_RECORD ' Type RSI_EXT_USER_RECORD ur As RSI_USER_RECORD ' basic user record xud As RSI_EXT_USER_DATA ' extended user data End Type
' ' RSI_PROM_DATE ' Type RSI_PROM_DATE pd(0 To RSI_LEN_PROM_DATE - 1) As Byte End Type
' ' RSI_PROM_NAME ' Type RSI_PROM_NAME pn(0 To RSI_LEN_PROM_NAME - 1) As Byte End Type
' ' RSI_RI_RESERVED ' Type RSI_RI_RESERVED rr(0 To RSI_LEN_RI_RESERVED - 1) As Byte End Type
' ' RSI_READER_INFO ' Type RSI_READER_INFO model As Byte memory As Byte promDate As RSI_PROM_DATE promName As RSI_PROM_NAME pad1 As Byte ' force to even boundary sn As Long snp As Byte pad2 As Byte ' force userCap to even boundary userCap As Integer dlogCap As Integer usersEnrolled As Integer dlogsPresent As Integer reserved As RSI_RI_RESERVED End Type
' ' RSI_OEM_CODE ' Type RSI_OEM_CODE code As Integer End Type
' ' RSI_BULK_HOURS ' Used for T&A data log format 15, 2nd item, data2, type 08 ' Type RSI_BULK_HOURS hours As Integer minutes As Byte deduct As Byte End Type
' ' RSI_BULK_DOLLARS ' Used for T&A data log format 15, 2nd item, data2, type 09 ' Type RSI_BULK_DOLLARS dollars As Integer cents As Byte deduct As Byte End Type
' ' BYTE RSI_BCD_4 ' Type RSI_BCD_4 rb4(0 To 3) As Byte End Type
' ' RSI_TA_15_1 ' Type RSI_TA_15_1 type As RSI_DATA_LOG_DATA_TYPE ' either 0x15 or 0xFF category As RSI_BCD_4 ' for type=0x15 only End Type
' ' RSI_TA_15_2 ' Type RSI_TA_15_2 type As RSI_DATA_LOG_DATA_TYPE ' OxFF or 0 - 9 data As RSI_BCD_4 End Type
' ' RSI_TA_15_3 ' Type RSI_TA_15_3 type As RSI_DATA_LOG_DATA_TYPE ' 0xFF, 00, 04 department As RSI_BCD_4 ' only for type 04 End Type
' ' RSI_TA_7 ' Type RSI_TA_7 type As RSI_DATA_LOG_DATA_TYPE ' 0xFF, 00 - 07 department As RSI_BCD_4 ' for types 01 - 07 only End Type
' ' RSI_DLF_17 ' Type RSI_DLF_17 ta As RSI_TA_DLF_17 data As RSI_BCD_4 End Type
' ' RSI_DLF_19 ' Type RSI_DLF_19 ta As RSI_TA_DLF_19 data As RSI_BCD_4 End Type
' ' RSI_DLF_30 ' Type RSI_DLF_30 ta As RSI_TA_DLF_30 data As RSI_BCD_4 End Type
' ' RSI_DLF_48 ' Type RSI_DLF_48 ta As RSI_TA_DLF_48 data As RSI_BCD_4 End Type
' ' rsidll32 function declarations '
' // Level 0
Declare Function rsiCloseChannel Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiGetHandReader Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Byte
Declare Function rsiInstallChannel Lib "rsidll32" ( _ ByVal ComPort As Long _ ) As Long
Declare Function rsiOpenCustomChannel Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiOpenDirectChannel Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal BaudRate As Long _ ) As Long
Declare Function rsiOpenModemChannel Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal baud As Long, _ ByVal number As String, _ ByVal speaker As Long _ ) As Long
Declare Function rsiSetHandReader Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal addr As Long, _ status As RSI_STATUS _ ) As Long
Declare Function rsiSetModemInitString Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal init_string As String _ ) As Long
' // Ethernet
Declare Function rsiCleanupWsock Lib "rsidll32" ( _ ) As Long
Declare Function rsiCloseWsock Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiInitWsock Lib "rsidll32" ( _ ByVal HostName As String, _ ByVal port As Long _ ) As Long
Declare Function rsiReadSocket Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef c As Byte _ ) As Long
Declare Function rsiStartupWsock Lib "rsidll32" ( _ ) As Long
Declare Function rsiWriteSocket Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal c As Byte _ ) As Long
' /////////////////////////////////////////////////////////////////////////////// ' // ' // LEVEL 2 ' // ' // Commands to hand reader. See Software Manual for descriptions. ' // ' // Validation is performed on all data and RSI_ERROR_DATA may be returned. ' // ' // Note that the data structures these functions use are not necessarily the ' // structures that the hand reader uses. ' // ' ///////////////////////////////////////////////////////////////////////////////
Declare Function rsiAbortCommand Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiBeep Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal duration As Byte, _ ByVal count As Byte _ ) As Long
Declare Function rsiCalibrate Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiClearUserDataBase Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiDisplayCodedMessage Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal msg As RSI_MESSAGE_CODE, _ ByVal halfsecs As Byte _ ) As Long
Declare Function rsiEnrollUser Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal Prompt As RSI_PROMPT _ ) As Long
Declare Function rsiEnterIdleMode Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiEnterIdleMode2 Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiHereAreTimeZones Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef tz As RSI_TIME_ZONE_TABLE _ ) As Long
Declare Function rsiHereIsBankNumber Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal Bank As Long _ ) As Long
Declare Function rsiHereIsBellScheduleTable Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef schedule As RSI_BELL_SCHEDULE _ ) As Long
Declare Function rsiHereIsDataBank Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef dbnk As RSI_DATA_BANK _ ) As Long
Declare Function rsiHereIsDisplayMessage Lib "rsidll32" ( _ ByVal chnl As Long, _ msg As RSI_DISPLAY_MESSAGE _ ) As Long
Declare Function rsiHereIsSetupData Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef Setup As RSI_SETUP_DATA _ ) As Long
Declare Function rsiHereIsTime Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef time As RSI_TIME_DATE _ ) As Long
Declare Function rsiHereIsUserRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef ur As RSI_USER_RECORD _ ) As Long
Declare Function rsiHereIsSmartCardRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef ur As RSI_USER_RECORD _ ) As Long
Declare Function rsiIDToText Lib "rsidll32" ( _ ID As Any, _ ByVal text As String _ ) As Long
Declare Function rsiNextMessageIsBellScheduleTable Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiNextMessageIsTimeZone Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiOutputControl Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal OutState As RSI_OUTPUT_STATE _ ) As Long
Declare Function rsiPrinterPassThrough Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal Out As String, _ ByVal length As Long _ ) As Long
Declare Function rsiRemoveUserRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef ID As RSI_ID _ ) As Long
Declare Function rsiResume Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendCalibrationData Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendDataBank Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal bnk As Long _ ) As Long
Declare Function rsiSendDataLog Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendLastUserRecord Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendPreviousDataLog Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendResults Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendSetupData Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendStatusCRC Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef status As RSI_STATUS _ ) As Long
Declare Function rsiSendTemplate Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiSendUserRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef ID As RSI_ID _ ) As Long
Declare Function rsiTextToID Lib "rsidll32" ( _ ByVal text As String, _ ID As RSI_ID _ ) As Long
Declare Function rsiUpdateNVRam Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiVerifyOnExternalData Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef Prompt As RSI_PROMPT, _ ByRef tmpl As RSI_TEMPLATE _ ) As Long
Declare Function rsiVerifyOnInternalData Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef ID As RSI_ID _ ) As Long
Declare Function rsiHereIsFkeyData Lib "rsidll32" ( _ ByVal chnl As Long, _ fkeyData As RSI_FKEY_DATA _ ) As Long
Declare Function rsiHereIsExtSetupData Lib "rsidll32" ( _ ByVal chnl As Long, _ Setup As RSI_EXT_SETUP_DATA _ ) As Long
Declare Function rsiSetUserData Lib "rsidll32" ( _ ByVal chnl As Long, _ udf As RSI_USER_DATA, _ cstat As RSI_COMMAND_STATUS _ ) As Long
Declare Function rsiSetExtUserData Lib "rsidll32" ( _ ByVal chnl As Long, _ xudf As RSI_EXT_USER_DATA_FIELD, _ cstat As RSI_COMMAND_STATUS _ ) As Long
Declare Function rsiAddUserMessage Lib "rsidll32" ( _ ByVal chnl As Long, _ um As RSI_USER_MESSAGE, _ cstat As RSI_COMMAND_STATUS _ ) As Long
Declare Function rsiRemoveUserMessage Lib "rsidll32" ( _ ByVal chnl As Long, _ ID As RSI_ID _ ) As Long
Declare Function rsiHereIsExtUserRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ xur As RSI_EXT_USER_RECORD _ ) As Long
Declare Function rsiClearUserMessages Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
' /////////////////////////////////////////////////////////////////////////////// ' // ' // LEVEL 3 ' // ' // High level functions to perform various hand reader tasks. ' // ' /////////////////////////////////////////////////////////////////////////////// Declare Function rsiAllocResponseBuffer Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiDeAllocResponseBuffer Lib "rsidll32" ( _ ByVal chnl As Long _ ) As Long
Declare Function rsiGetCalibrationData Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef calib As RSI_CALIBRATION_DATA _ ) As Long
Declare Function rsiGetDataBank Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal bnk As Long, _ ByRef dbnk As RSI_DATA_BANK _ ) As Long
Declare Function rsiGetDataLogElement Lib "rsidll32" ( _ ByVal chnl As Long, _ DataLog As RSI_DATA_LOG_ELEMENT, _ ByVal bPrev As Long _ ) As Long
Declare Function rsiGetLastTemplate Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef tmpl As RSI_LAST_TEMPLATE _ ) As Long
Declare Function rsiGetLastUserRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef ur As RSI_USER_RECORD _ ) As Long
Declare Function rsiGetResults Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef Results As RSI_RESULTS _ ) As Long
Declare Function rsiGetResponse Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef Response As RSI_RESPONSE _ ) As Long
Declare Function rsiGetSetupData Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef Setup As RSI_SETUP_DATA _ ) As Long
Declare Function rsiGetStatus Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef status As RSI_STATUS _ ) As Long
Declare Function rsiGetUserRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef ID As RSI_ID, _ ByRef ur As RSI_USER_RECORD _ ) As Long
Declare Function rsiParseResponse Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef Response As RSI_RESPONSE _ ) As Long
Declare Function rsiReadResponseBuffer Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef bufptr As Long, _ ByRef buflen As Long _ ) As Long
Declare Function rsiSetBellSchedule Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef schedule As RSI_BELL_SCHEDULE _ ) As Long
Declare Function rsiSetDataBank Lib "rsidll32" ( _ ByVal chnl As Long, _ ByVal bnk As Long, _ ByRef dbnk As RSI_DATA_BANK _ ) As Long
Declare Function rsiSetTimeZoneTable Lib "rsidll32" ( _ ByVal chnl As Long, _ ByRef tz As RSI_TIME_ZONE_TABLE _ ) As Long
Declare Function rsiGetReaderInfo Lib "rsidll32" ( _ ByVal chnl As Long, _ ri As RSI_READER_INFO _ ) As Long
Declare Function rsiGetOemCode Lib "rsidll32" ( _ ByVal chnl As Long, _ oem As RSI_OEM_CODE _ ) As Long
Declare Function rsiGetExtSetupData Lib "rsidll32" ( _ ByVal chnl As Long, _ Setup As RSI_EXT_SETUP_DATA _ ) As Long
Declare Function rsiGetExtUserRecord Lib "rsidll32" ( _ ByVal chnl As Long, _ ID As RSI_ID, _ xur As RSI_EXT_USER_RECORD _ ) As Long
Declare Sub rsiSetPings Lib "rsidll32" ( _ ByVal cnt As Long _ )
' ' Windows API function declarations ' Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _ Dest As Any, _ ByVal Src As Any, _ ByVal length As Long _ )
Declare Sub CopyMemory2 Lib "kernel32" Alias "RtlMoveMemory" ( _ ByVal Dest As Any, _ ByVal Src As Any, _ ByVal length As Long _ )
Declare Sub CopyMemory3 Lib "kernel32" Alias "RtlMoveMemory" ( _ Dest As Any, _ Src As Any, _ ByVal length As Long _ )
Declare Sub FillMemory Lib "kernel32" Alias "RtlFillMemory" ( _ Dest As Any, _ ByVal length As Long, _ ByVal Fill As Byte _ )
Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" ( _ Dest As Any, _ Src As Any, _ ByVal length As Long _ )
Public Const GMEM_MOVEABLE = &H2 Public Const GMEM_ZEROINIT = &H40
Public Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long Public Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long Public Declare Function GlobalFree Lib "kernel32" (ByVal hMem As Long) As Long Public Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
|
| |
| |
| | | |
|
| | |
| |
Posté le 06 avril 2009 - 19:38 |
| |
| |
| | | |
|
| | |
| |
Posté le 15 novembre 2009 - 12:55 |
Bonjour,
Je ne sais pas si c'est toujours d'actualité. Mais j'ai à disposition les sources WinDev12 pour gérer complètement un HandKey II (Compatible HandPunch)
Cordialement André |
| |
| |
| | | |
|
| | |
| |
Posté le 25 novembre 2009 - 08:40 |
Hola,
No se si aun necesitas codigo acerca de leer datos del reloj biometrico,
Saludos,
Edison |
| |
| |
| | | |
|
| | |
| |
Posté le 13 février 2010 - 12:02 |
si aun necesito leerlos lo que me sucede es que tengo un codigo escrito en c++ con unas funciones que tienen unas declaracion de variable FAR* que son punteros y no se como declararlas en windev o no se si importo este programa a windev el lo va a compilar sin problemas |
| |
| |
| | | |
|
| | |
| |
Posté le 20 avril 2010 - 16:57 |
Hi all; I have to develop an access control application. And I have to use handkey 2 devices.
I found you while surfing on the google. I 'm trying to develop an online project with hankey2. If you have any sample code, please help me. |
| |
| |
| | | |
|
| | |
| |
Posté le 15 juin 2010 - 03:13 |
La DLL se desarrollo para VB. Pero tengo una pregunta y solicitud a la vez, tienes los ejemplos en VB?. Puedes apoyarme compartiendo los mismos. Yo tambien estoy desarrollando la aplicacion pero en Vb6. De antemano gracias |
| |
| |
| | | |
|
| | |
| |
Posté le 29 juillet 2010 - 16:09 |
Hola,
Me ha parecido ver en la sección de descargas de PC SOFT, un desarrollo para los handkey y los handpunch...
No sé si os puede servir.
Saludos, Carlos. |
| |
| |
| | | |
|
| | |
| |
Posté le 29 juillet 2010 - 16:10 |
| |
| |
| | | |
|
| | |
| |
Posté le 25 mars 2011 - 08:25 |
Puedes enviarme los manuales a pj-83@hotmail.com
por ultimo lo haces en visual y generas un .exe que llamas desde tu lenguaje. He programado dos de esos y puedo decri que ya algo los entiendo
pj-83@hotmail.com |
| |
| |
| | | |
|
| | |
| |
Posté le 13 mars 2012 - 08:28 |
Hola que tal un saludo, alguien ha intentado programar algo con C#.NET, tengo algunas dudas en cuanto a la programación, no sé si es problema con la API (rsidll32.dll) o con mi código (lo más seguro que sea mi código que está mal), alguien ha intentado obtener la información del Handpunch usando el método rsiGetReaderInfo ?
Un saludo, mi correo y msn es gabio2@gmail.com .
Espero alguien me pueda ayudar gracias. |
| |
| |
| | | |
|
| | |
| |
Posté le 22 janvier 2016 - 19:11 |
Podrias mandarme la libreria, que estoy necesitando hacer una funcion que lea el handpunch de manera automatica si me podrias ayudar |
| |
| |
| | | |
|
| | |
| |
Posté le 27 octobre 2016 - 17:50 |
| |
| |
| | | |
|
| | |
| |
Posté le 27 octobre 2016 - 17:51 |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|