📄 fm200api.h
字号:
/*******************************************************************\
* FC100API.h : header file of FC100API.LIB *
\*******************************************************************/
#include <windows.h>
#include <windowsx.h>
typedef HANDLE HFPIMAGE;
typedef HANDLE HFPENROLL;
typedef HANDLE HFPCAPTURE;
typedef HANDLE HCONNECT;
#define OK 0
#define FAIL -1
#define CALCELLED -1
#define SNAP_TIME_LIMIT 100
#define SNAP_COUNT 100
#define LPT1 0
#define LPT2 1
#define PRN_300DPI 0
#define PRN_150DPI 1
#define PRN_100DPI 2
#define PRN_75DPI 3
#define PRN_600DPI 4
/*-------------------------------------------*\
| Return code of system integrator level |
\*-------------------------------------------*/
#define S_DOMAIN_ERR -1
#define S_RANGE_ERR -2
#define S_MEM_ERR -3
#define S_FILE_ERR -4
#define S_COMM_ERR -5
#define S_CHKSUM_ERR -6
#define S_TIME_OUT -7
#define S_PRINT_ERR -8
#define S_KEYCARD_CHECK_FAIL -10
#define S_EMPTY_IMAGE_SET -11
#define S_FPSET_INVALID -21
#define S_FPCODE_INVALID -22
#define S_FP_INVALID -23
#define S_SECURITY_ERR -24
#define S_NOT_SUPPORTED -1
#define S_VALID 1
#define S_INVALID 255
#define IDD_SNAP_MSG1 412
#define IDD_SNAP_MSG2 413
#define IDD_SNAP_GROUP 421
#define IDD_ENRL_RLT 431
#define IDS_POSITION_NO_FP 501
#define IDS_POSITION_TOO_LOW 502
#define IDS_POSITION_TOO_TOP 503
#define IDS_POSITION_TOO_RIGHT 504
#define IDS_POSITION_TOO_LEFT 505
#define IDS_POSITION_TOO_LOW_RIGHT 506
#define IDS_POSITION_TOO_LOW_LEFT 507
#define IDS_POSITION_TOO_TOP_RIGHT 508
#define IDS_POSITION_TOO_TOP_LEFT 509
#define IDS_POSITION_OK 510
#define IDS_DENSITY_TOO_DARK 511
#define IDS_DENSITY_TOO_LIGHT 512
#define IDS_DENSITY_AMBIGUOUS 513
#define IDS_DENSITY_OK 514
/*------------------------------*\
| Return code of user level |
\*------------------------------*/
#define U_LEFT -41
#define U_RIGHT -42
#define U_UP -43
#define U_DOWN -44
#define U_POSITION_CHECK_MASK 0x00002F00
#define U_POSITION_NO_FP 0x00002000
#define U_POSITION_TOO_LOW 0x00000100
#define U_POSITION_TOO_TOP 0x00000200
#define U_POSITION_TOO_RIGHT 0x00000400
#define U_POSITION_TOO_LEFT 0x00000800
#define U_POSITION_TOO_LOW_RIGHT (U_POSITION_TOO_LOW|U_POSITION_TOO_RIGHT)
#define U_POSITION_TOO_LOW_LEFT (U_POSITION_TOO_LOW|U_POSITION_TOO_LEFT)
#define U_POSITION_TOO_TOP_RIGHT (U_POSITION_TOO_TOP|U_POSITION_TOO_RIGHT)
#define U_POSITION_TOO_TOP_LEFT (U_POSITION_TOO_TOP|U_POSITION_TOO_LEFT)
#define U_POSITION_OK 0x00000000
#define U_DENSITY_CHECK_MASK 0x000000E0
#define U_DENSITY_TOO_DARK 0x00000020
#define U_DENSITY_TOO_LIGHT 0x00000040
#define U_DENSITY_LITTLE_LIGHT 0x00000060
#define U_DENSITY_AMBIGUOUS 0x00000080
#define U_INSUFFICIENT_FP -31
#define U_NOT_YET -32
#define U_LEFT -41
#define U_RIGHT -42
#define U_UP -43
#define U_DOWN -44
#define U_CLASS_A 65
#define U_CLASS_B 66
#define U_CLASS_C 67
#define U_CLASS_D 68
#define U_CLASS_E 69
#define U_CLASS_R 82
/*---------------------------------*\
| Definition of security level |
\*---------------------------------*/
#define AUTO_SECURITY 0
#define SECURITY_A 1
#define SECURITY_B 2
#define SECURITY_C 3
#define SECURITY_D 4
#define SECURITY_E 5
#define SECURITY_M 30
#define SECURITY_R 40
#define FP_IMAGE_WIDTH 256
#define FP_IMAGE_HEIGHT 256
#define GRAY_IMAGE_SIZE (((long)FP_IMAGE_WIDTH)*(FP_IMAGE_HEIGHT))
#define BIN_IMAGE_SIZE (GRAY_IMAGE_SIZE/8)
#define LARGE 10
#define SMALL 11
#define RAW 12
#define BMP 13
#define GRAY_IMAGE 8
#define BIN_IMAGE 1
#define GRAY_LEVEL 256
#define GRAY_STEP (256/GRAY_LEVEL)
/*---------------------------------*\
| Definition of enrollment mode |
\*---------------------------------*/
#define DEFAULT_MODE 0x00
#define FP_CODE_LENGTH 256
#define Creat_FP_IMAGE_SET Create_FP_IMAGE_SET
#define Creat_FP_ENRL_SET Create_FP_ENRL_SET
/*---------------------------------*\
| Fingerprint image information |
\*---------------------------------*/
typedef struct FP_Header {
BYTE FP_sig[2];
long size;
short width;
short height;
BYTE bit_per_pixel;
BYTE compression;
BYTE P_version;
BYTE valid;
BYTE reserved;
BYTE chksum;
} FP_HEADER;
typedef struct FP_Image_Set {
FP_HEADER header;
BYTE * image;
} FP_IMAGE_SET;
/*----------------------------------------*\
| Structure definition for enrollment |
\*----------------------------------------*/
typedef struct
{
short quality;
short percentage;
short probability;
BYTE fp_code[FP_CODE_LENGTH];
} FP_ENRL_SET;
typedef struct FP_BMP {
LPBITMAPINFO lpBmpInfo;
BYTE* lpDib;
} FP_BMP_SET;
/*------------------------------------------------------*\
| Structure definition for navigation configuration |
\*------------------------------------------------------*/
typedef struct _NavConfig
{
DWORD StandbyDuration ; // Startup
DWORD StartupMode ;
DWORD ClickMode;
DWORD DblClickPeriod;
DWORD ScrollSpeed; // Scrolling
DWORD Discrimination;
DWORD Orientation; // Navigation
DWORD NavSpeed;
DWORD Smoothing;
} NAVCONFIG , *PNAVCONFIG ;
/*----------------------------------------*\
| Declaration of API functions |
\*----------------------------------------*/
#ifdef __cplusplus
extern "C"
{
#endif
extern HCONNECT WINAPI FP_ConnectCaptureDriver(int reserved);
extern void WINAPI FP_DisconnectCaptureDriver( HCONNECT hConnect);
extern int WINAPI FP_Snap(HCONNECT hConnect);
extern HFPCAPTURE WINAPI FP_CreateCaptureHandle( HCONNECT hConnect );
extern int WINAPI FP_Capture(HCONNECT hConnect,HFPCAPTURE hFPCapture);
extern int WINAPI FP_DestroyCaptureHandle(HCONNECT hConnect,HFPCAPTURE hFPCapture);
extern int WINAPI FP_GetPrimaryCode(HCONNECT hConnect, BYTE* pcode);
extern HFPIMAGE WINAPI FP_CreateImageHandle( HCONNECT hConnect,BYTE bMode,WORD wSize);
extern int WINAPI FP_GetImage(HCONNECT hConnect,HFPIMAGE hFPImage);
extern int WINAPI FP_DestroyImageHandle(HCONNECT hConnect,HFPIMAGE hFPImage);
extern HFPENROLL WINAPI FP_CreateEnrollHandle( HCONNECT hConnect,BYTE reserved);
extern int WINAPI FP_Enroll( HCONNECT hConnect,HFPENROLL hFPEnroll,BYTE *pcode,BYTE *fpcode);
extern int WINAPI FP_DestroyEnrollHandle( HCONNECT hConnect,HFPENROLL hFPEnroll);
extern int WINAPI FP_ImageMatch( HCONNECT hConnect,BYTE *fpcode,WORD wSecutity);
extern int WINAPI FP_CodeMatch( HCONNECT hConnect,BYTE *pcode, BYTE *fpcode,WORD wSecutity);
extern int WINAPI FP_ImageMatchEx( HCONNECT hConnect,BYTE *fpcode, WORD wSecutity,DWORD *dwScore);
extern int WINAPI FP_CodeMatchEx( HCONNECT hConnect,BYTE *pcode, BYTE *fpcode, WORD wSecutity, DWORD *dwScore );
extern int WINAPI FP_CheckBlank(HCONNECT hConnect);
extern int WINAPI FP_Diagnose(HCONNECT hConnect);
extern int WINAPI FP_SaveImage(HCONNECT hConnect,HFPIMAGE hFPImage,WORD wFileType,char *Filename);
/* extern HBITMAP WINAPI FP_GetBitmapHandle(HCONNECT hConnect,HDC,HFPIMAGE); */
extern void WINAPI FP_GetImageDimension(HCONNECT hConnect,int *nWidth,int *nHeight);
extern int WINAPI FP_FreezeImage(HCONNECT hConnect);
extern int WINAPI FP_DisplayImage(HCONNECT hConnect,HDC hDC,HFPIMAGE hFPImage,int nStartX,int nStartY,int nWidth,int nHeight);
extern short WINAPI FP_GetNavConfig( PNAVCONFIG pNavConfig);
extern short WINAPI FP_SetNavConfig( PNAVCONFIG pNavConfig);
extern short WINAPI FP_ReadRegister( unsigned char ucVirtualPage, unsigned short unAddress, unsigned char ucRegSize, unsigned long *ulValue);
extern short WINAPI FP_WriteRegister( unsigned char ucVirtualPage, unsigned short unAddress, unsigned char ucRegSize, unsigned long ulValue);
extern short WINAPI FP_StartNav();
extern short WINAPI FP_StopNav();
extern short WINAPI FP_StartScroll(BOOL bWithClick);
extern short WINAPI FP_StopScroll();
#ifdef __cplusplus
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -