Home > database >  Consult! Help to rewrite the code!
Consult! Help to rewrite the code!

Time:09-29

I now have such a program source code, VC write the header file!
Of course there are related to code!
Now the problem is that I use the VC them packaged into a DLL file, inside the original concept to call! But it seems that is not compatible with! In PB calls prompt said parameters do not match!
So here, consult everybody prawn to help write a VC code! With inheritance, the method of regenerating a new DLL file! So long as has the header files can be! Thank you very much!
Novice, not so many points to everyone! Subsequent patch! Hard you!


# # ifndef ACR110_H
# define ACR110_H

//The following ifdef block is The standard way of creating macros which make exporting
//the from a DLL simpler. All files within this DLL are compiled with the ACR110U_EXPORTS
//symbol defined on the command line. This symbol should not be defined on any project
//that USES this DLL. This way any other project whose source files include this file see
//ACR110_API functions provides the as being imported from a DLL, whereas this DLL sees symbols
//defined with this macro as being exported.

# ifdef __GNUC__
Typedef signed char INT8, * PINT8;
Typedef signed short INT16, * PINT16;
Typedef signed int INT32, * PINT32;

Typedef unsigned char UINT8, * PUINT8;
Typedef unsigned short UINT16, * PUINT16;
Typedef unsigned int UINT32 * PUINT32;

Typedef int BOOL.
Typedef unsigned char BYTE;
Typedef unsigned short WORD;
Typedef unsigned long DWORD;

Typedef long LONG_PTR, * PLONG_PTR;
Typedef unsigned long ULONG_PTR, * PULONG_PTR;
Typedef ULONG_PTR DWORD_PTR, * PDWORD_PTR;

# define MAKEWORD (a, b) ((WORD) (((BYTE) ((DWORD_PTR) (a) & amp; | 0 XFF)) ((WORD) ((BYTE) ((DWORD_PTR) (b) & amp; 0 XFF))) & lt; <8))

Typedef void * HANDLE;

# define INVALID_HANDLE_VALUE ((HANDLE) (LONG_PTR) - 1)

# define ACR110_API
# define AC_DECL
# the else
#include
# define ACR110_API
# define AC_DECL __stdcall

Typedef unsigned char BYTE;
Typedef signed char INT8;
Typedef signed short INT16.
Typedef unsigned char UINT8;
Typedef unsigned short UINT16;
# endif

# define DLL_VER "ACR110U DLL 1.0.0.1
"
# define RECEIVED_RESPONSE_SIZE 128
# define CMD_BUFFER_SIZE 128

# define ERR_READER_NO_RESPONSE - 5000

# define SUCCESS_READER_OP 0
# define ERR_INTERNAL_UNEXPECTED - 1000
# define ERR_PORT_INVALID - 2000
# define ERR_PORT_OCCUPIED - 2010
# define ERR_HANDLE_INVALID - 2020
# define ERR_INCORRECT_PARAM - 2030
# define ERR_READER_NO_TAG - 3000
# define ERR_READER_OP_FAILURE - 3030
# define ERR_READER_UNKNOWN - 3040
# define ERR_READER_LOGIN_INVALID_STORED_KEY_FORMAT - 4010
# define ERR_READER_LOGIN_FAIL - 4011
# define ERR_READER_OP_AUTH_FAIL - 4012
# define ERR_READER_VALUE_DEC_EMPTY - 4030
# define ERR_READER_VALUE_INC_OVERFLOW - 4031
# define ERR_READER_VALUE_OP_FAILURE - 4032
# define ERR_READER_VALUE_INVALID_BLOCK - 4033
# define ERR_READER_VALUE_ACCESS_FAILURE - 4034


# define ACR110_USB1 0
# define ACR110_USB2 1
# define ACR110_USB3 2
# define ACR110_USB4 3
# define ACR110_USB5 4
# define ACR110_USB6 5
# define ACR110_USB7 6
# define ACR110_USB8 7
# define ACR110_USB9 8
9 # define ACR110_USB10
# define ACR110_USB11 10
# define ACR110_USB12 11
# define ACR110_USB13 12
# define ACR110_USB14 13
# define ACR110_USB15 14
# define ACR110_USB16 15
# define ACR110_USB17 16
# define ACR110_USB18 17
# define ACR110_USB19 18
# define ACR110_USB20 19
# define ACR110_MAX_PORTS 20
# define ACR110_VALID_PORT (p) (p & gt;=ACR110_USB1 & amp; & P & lt;=ACR110_USB20)
# define ACR110_INVALID_PORT (p) (p & lt; ACR110_USB1 | | p & gt; ACR110_USB20)
//...

# define AC_MIFARE_LOGIN_KEYTYPE_A 0 xaa
# define AC_MIFARE_LOGIN_KEYTYPE_B 0 XBB
# define AC_MIFARE_LOGIN_KEYTYPE_DEFAULT_A 0 xad
# define AC_MIFARE_LOGIN_KEYTYPE_DEFAULT_B 0 XBD
# define AC_MIFARE_LOGIN_KEYTYPE_DEFAULT_F 0 XFD
# define AC_MIFARE_LOGIN_KEYTYPE_STORED_A 0 xaf
# define AC_MIFARE_LOGIN_KEYTYPE_STORED_B 0 XBF

# pragma pack (push, 1)
# ifdef __GNUC__
Typedef struct __attribute__ ((__packed__)) struct_status
# the else
Typedef struct struct_status
# endif
{
//0 x00=Type A; 0 x01=the Type B; 0 x03=Type A + Type B
UINT8 MifareInterfaceType;

//Bit 0=Mifare Light; 1=Mifare1K Bit; Bit 2=Mifare 4 k; Bit 3=Mifare DESFire
//Bit 4=Mifare UltraLight. Bit 5=JCOP30; Bit 6=Shanghai Transport
//Bit 7=MPCOS Combi; Bit 8=ISO type B, Calypso
//Bit 9? Bit 31=To be defined
UINT32 CardsSupported;

UINT8 CardOpMode;//0 x00=Type A; 0 x01=Type B TAG is being processed
//0 XFF=No TAG is being processed.

UINT8 FWI;//the current FWI value (time out value)

UINT8 RFU;//To be defined

UINT16 RFU2; nullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnull
  • Related