123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 |
- #pragma once
- #ifdef LIBIDCERTIFICATELOADER_EXPORTS
- #define LIBSUBDEVICELOADER_API __declspec(dllexport)
- #else
- #define LIBSUBDEVICELOADER_API __declspec(dllimport)
- #pragma comment(lib, "libIDCertificateLoader.lib")
- #endif
- #include <windows.h>
- #include "IDCerClass.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- //二代身份证信息结构(需要支持外国人永久居留证请使用IDCerInfoEx)
- //请务必按照各字段指定格式返回数据
- struct Bridge_IDCerInfo
- {
- struct Name {
- CHAR data[MAX_IDCER_INFO_SIZE];
- DWORD dwSize;
- }name;
- struct Sex {
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }sex;
- struct Nation {
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }nation;
- struct Birthday {//format:1986年10月07日
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }birthday;
- struct Address {
- CHAR data[MAX_IDCER_INFO_SIZE];
- DWORD dwSize;
- }address;
- struct Idno {
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }idno;
- struct Department {
- CHAR data[MAX_IDCER_INFO_SIZE];
- DWORD dwSize;
- }department;
- struct StartDate {//format:2010.08.09
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }startDate;
- struct EndDate { //format:2020.08.09
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }endDate;
- struct NewAddress {
- CHAR data[MAX_IDCER_INFO_SIZE];
- DWORD dwSize;
- }newAddress;
- struct PhotoPath {
- CHAR data[MAX_IDCER_PHOTO_PATH];
- DWORD dwSize;
- }photoPath;
- };
- //二代证信息结构(支持外国人永久居留证)
- //请务必按照各字段指定格式返回数据
- struct Bridge_IDCerInfoEx
- {
- struct Name {//中文姓名
- CHAR data[MAX_IDCER_INFO_SIZE];
- DWORD dwSize;
- }name;
- struct Sex {//性别
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }sex;
- struct Nation {//民族(二代证专用)
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }nation;
- struct Birthday {//出生日期,格式:1986年10月07日
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }birthday;
- struct Address {//住址(二代证专用)
- CHAR data[MAX_IDCER_INFO_SIZE];
- DWORD dwSize;
- }address;
- struct Idno {//证件号码,二代证指身份证号,外国人指永久居留证号
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }idno;
- struct Department {//二代证指签发机关,外国人指当次申请受理机关代码
- CHAR data[MAX_IDCER_INFO_SIZE];
- DWORD dwSize;
- }department;
- struct StartDate {//有效期起始日(签发日)格式:2010.08.09
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }startDate;
- struct EndDate { //有效期截止日(终止日)格式:2020.08.09
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }endDate;
- struct NewAddress {//最新地址,二代证专用
- CHAR data[MAX_IDCER_INFO_SIZE];
- DWORD dwSize;
- }newAddress;
- struct PhotoPath {
- CHAR data[MAX_IDCER_PHOTO_PATH];
- DWORD dwSize;
- }photoPath;
- struct EnglishName {//英文姓名,外国人专用
- CHAR data[MAX_IDCER_INFO_SIZE];
- DWORD dwSize;
- }englishName;
- struct Nationality {//国籍或地区代码,外国人专用
- CHAR data[IDCER_EIGHT_BYTE_SIZE];
- DWORD dwSize;
- }nationality;
- struct IdVersion {//证件版本号,外国人专用
- CHAR data[IDCER_EIGHT_BYTE_SIZE];
- DWORD dwSize;
- }idVersion;
- struct IdType {//证件类型标识,外国人取值'I',二代证为空
- CHAR data[IDCER_EIGHT_BYTE_SIZE];
- DWORD dwSize;
- }idType;
- struct Reserved {//保留字段,外国人专用
- CHAR data[IDCER_EIGHT_BYTE_SIZE];
- DWORD dwSize;
- }reserved;
- struct TXZCode {//通行证号码(港澳台居住证)
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }txzCode;
- struct IssuedSN {//签发次数(港澳台居住证)
- CHAR data[IDCER_EIGHT_BYTE_SIZE];
- DWORD dwSize;
- }issuedSN;
- struct Reserved2 {//备用2(港澳台居住证)
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }reserved2;
- struct Reserved3 {//备用3(港澳台居住证)
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }reserved3;
- struct Reserved4 {//备用4(港澳台居住证)
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }reserved4;
- struct Reserved5 {//备用5(港澳台居住证)
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }reserved5;
- };
- struct Bridge_IDCerInfoEx2
- {
- struct Name {//中文姓名
- CHAR data[MAX_IDCER_INFO_SIZE];
- DWORD dwSize;
- }name;
- struct Sex {//性别
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }sex;
- struct Nation {//民族(二代证专用)
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }nation;
- struct Birthday {//出生日期,原始格式:19861007
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }birthday;
- struct Address {//住址(二代证专用)
- CHAR data[MAX_IDCER_INFO_SIZE];
- DWORD dwSize;
- }address;
- struct Idno {//证件号码,二代证指身份证号,外国人指永久居留证号
- CHAR data[2 * MAX_IDCER_SIMPLE_INFO_SIZE]; //拓展至64字节
- DWORD dwSize;
- }idno;
- struct Department {//二代证指签发机关,外国人指当次申请受理机关代码
- CHAR data[MAX_IDCER_INFO_SIZE];
- DWORD dwSize;
- }department;
- struct StartDate {//有效期起始日(签发日)原始格式:20200809
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }startDate;
- struct EndDate {//有效期截止日(终止日)原始格式:20200809
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }endDate;
- struct NewAddress {//最新地址,二代证专用
- CHAR data[MAX_IDCER_INFO_SIZE];
- DWORD dwSize;
- }newAddress;
- struct PhotoPath {
- CHAR data[MAX_IDCER_PHOTO_PATH];
- DWORD dwSize;
- }photoPath;
- struct EnglishName {//英文姓名,外国人专用
- CHAR data[MAX_IDCER_INFO_SIZE];
- DWORD dwSize;
- }englishName;
- struct Nationality {//国籍或地区代码,外国人专用
- CHAR data[IDCER_EIGHT_BYTE_SIZE];
- DWORD dwSize;
- }nationality;
- struct IdVersion {//证件版本号,外国人专用
- CHAR data[IDCER_EIGHT_BYTE_SIZE];
- DWORD dwSize;
- }idVersion;
- struct IdType {//证件类型标识,外国人取值'I',二代证为空
- CHAR data[IDCER_EIGHT_BYTE_SIZE];
- DWORD dwSize;
- }idType;
- struct Reserved {//保留字段,外国人专用
- CHAR data[IDCER_EIGHT_BYTE_SIZE];
- DWORD dwSize;
- }reserved;
- struct TXZCode {//通行证号码(港澳台居住证)
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }txzCode;
- struct IssuedSN {//签发次数(港澳台居住证)
- CHAR data[IDCER_EIGHT_BYTE_SIZE];
- DWORD dwSize;
- }issuedSN;
- struct Reserved2 {//备用2(港澳台居住证)
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }reserved2;
- struct Reserved3 {//备用3(港澳台居住证)
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }reserved3;
- struct Reserved4 {//备用4(港澳台居住证)
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }reserved4;
- struct Reserved5 {//备用5(港澳台居住证)
- CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
- DWORD dwSize;
- }reserved5;
- };
- LIBSUBDEVICELOADER_API ErrorCodeEnum Bridge_LoadDevObject(const char* libraryPath);
- LIBSUBDEVICELOADER_API ErrorCodeEnum Bridge_ReleaseDevObject();
- //////////////////////////////////////////////////////////////////////////
- LIBSUBDEVICELOADER_API ErrorCodeEnum Bridge_GetDevCategory(DevCategoryInfo* pDevCategory);
- LIBSUBDEVICELOADER_API ErrorCodeEnum Bridge_Reset();
- LIBSUBDEVICELOADER_API ErrorCodeEnum Bridge_DevClose();
- LIBSUBDEVICELOADER_API ErrorCodeEnum Bridge_GetLastErr(DevErrorInfo* pDevErrInfo);
- //////////////////////////////////////////////////////////////////////////
- LIBSUBDEVICELOADER_API ErrorCodeEnum Bridge_DevOpen(DWORD dwPort);
- LIBSUBDEVICELOADER_API ErrorCodeEnum Bridge_IDCerRFControl(int bControl);
- LIBSUBDEVICELOADER_API ErrorCodeEnum Bridge_IDCerAuthenticate();
- LIBSUBDEVICELOADER_API ErrorCodeEnum Bridge_IDCerGetData(Bridge_IDCerInfo* idCerInfo);
- LIBSUBDEVICELOADER_API ErrorCodeEnum Bridge_IDCerGetDataEx(Bridge_IDCerInfoEx* idCerInfoEx);
- LIBSUBDEVICELOADER_API ErrorCodeEnum Bridge_ForceIDEject();
- LIBSUBDEVICELOADER_API ErrorCodeEnum Bridge_ScanIDAndSaveImage();
- LIBSUBDEVICELOADER_API ErrorCodeEnum Bridge_QueryCardPos(int* pos);
- LIBSUBDEVICELOADER_API ErrorCodeEnum Bridge_IDCerGetDataEx2(Bridge_IDCerInfoEx2* idCerInfoEx2);
- #ifdef __cplusplus
- } // extern "C" {
- #endif
|