
#define DTR_All_CODE_OUTPUT		0
#define DTR_HALF_CODE_OUTPUT	1
#define DTR_ASCII_FLAG			0
#define DTR_HEX_FLAG			1
typedef void (*RFIDUidCallback) (const TCHAR* pszUidArray, unsigned long nCount);
//typedef void (*RFIDUidCallback) (const DWORD RFIDArray[], unsigned long nCount);
/*typedef struct _SMC_RFID_DATA {
	BYTE    Serial_Number[10];      // serial_number 
    BYTE    Country_Code[4];       // Country_Code
    BYTE    Data_Block;           // DATA Block 1 byte
    BYTE    Animal_Flag;           // Animal Flag 1 byte
    BYTE    Reserved_Code[4];          // nBytes to read/write
    BYTE    Extended_Code[6];          // nBytes to read/write
	BYTE    All_Half_Type;      // Output type
} SMC_RFID_DATA, *PSMC_RFID_DATA;*/

typedef struct _SMC_RFID_DATA {
	//WCHAR   Serial_Number[30];      // serial_number 
	LONGLONG   Serial_Number;      // serial_number 
    DWORD    Country_Code;       // Country_Code
    int    Data_Block;           // DATA Block 1 byte
    int    Animal_Flag;           // Animal Flag 1 byte
    long    Reserved_Code;          // nBytes to read/write
    long    Extended_Code;          // nBytes to read/write
	BYTE    All_Half_Type;      // Output type
} SMC_RFID_DATA, *PSMC_RFID_DATA;

extern "C" _declspec(dllexport) BOOL  DTRSMCRFIDConnect(void);
extern "C" _declspec(dllexport) BOOL  DTRSMCRFIDDisconnect(void);
extern "C" _declspec(dllexport) int  DTRSMCRFIDReadData(DWORD ASCII_HEX_Flag, SMC_RFID_DATA* pTempSMC_RFID_DATA);
									//ASCII_HEX_Flag 0-> ASCII; 1 HEX;
//extern "C" _declspec(dllexport) BOOL ReadRFIDData(void);
extern "C" _declspec(dllexport) BOOL  DTRSMCRFIDSetOutputType(DWORD nFlag);// 0 all;1 half
extern "C" _declspec(dllexport) BOOL  DTRSMCRFIDReset(void);// 0 all;1 half
extern "C" _declspec(dllexport) int  RFID_SetUidReceiverCallback(RFIDUidCallback pUidFun);