CAEN RFID srl CAENRFID022 R4301P/R4301PXGPRS/R4301PXWIFI-ION-RFID UHF Reader User Manual SLATE Technical Information Manual Rev 01
CAEN RFID srl R4301P/R4301PXGPRS/R4301PXWIFI-ION-RFID UHF Reader SLATE Technical Information Manual Rev 01
User Manual
















![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 17 BlockWriteTagData Method BlockWriteTagData Method (CAENRFIDTag, Int16, Int16, Byte[]) Description: This method can be used to write a portion of the user memory in a ISO18000-6B tag using blocks of four bytes for each command. Parameters: Name Description Tag The CAENRFIDTag representing the tag to be written. Address The address where to start writing the data. Length The number of byte to be written. Data The data to be written into the tag's user memory. Syntax: C# representation: public void BlockWriteTagData( CAENRFIDTag Tag, short Address, short Length, byte[] Data) Java and Android representation: public void BlockWriteTagData( CAENRFIDTag Tag, short Address, short Length, byte[] Data) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_BlockWriteTagData( CAENRFIDHandle handle, CAENRFIDTag *Tag, int Address, int Length, void *Data);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-17.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 18 BlockWriteTagData Method (CAENRFIDTag, Int16, Int16, Int16, Byte[]) Description: This method can be used to write a portion of the user memory in a ISO18000-6B tag using blocks of four bytes for each command. Parameters: Name Description Tag The CAENRFIDTag representing the tag to be written. Address The address where to start writing the data. Mask A bitmask that permit to select which of the four bytes have to be written (i.e. mask 0x05 write the bytes on position Address + 1 and Address + 3). Length The number of byte to be written. Data The data to be written into the tag's user memory. Syntax: C# representation: public void BlockWriteTagData( CAENRFIDTag Tag, short Address, short Mask, short Length, byte[] Data) Java and Android representation: public void BlockWriteTagData( CAENRFIDTag Tag, short Address, short Mask, short Length, byte[] Data) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_FilterBlockWriteTagData( CAENRFIDHandle handle, CAENRFIDTag *ID, int Address, short Mask, int Length, void *Data);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-18.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 19 CustomCommand_EPC_C1G2 Method CustomCommand_EPC_C1G2 Method (CAENRFIDTag, Byte, Int16, Byte[], Int16) Description: This method can be used to issue a generic Custom command as defined by the EPC Class1 Gen2 protocol specification. The parameters are used to specify the type of the custom command and its parameters. Parameters: Name Description Tag The CAENRFIDTag object representing the tag to which send the Custom command. SubCmd The SubCommand field of the Custom command. TxLen The length of the data to be sent to the tag. Data The data to be sent to the tag. RxLen The length of the data to be received by the tag. Return value: An array of bytes representing the reply from the tag as specified by the custom command. Syntax: C# representation: public byte[] CustomCommand_EPC_C1G2( CAENRFIDTag Tag, byte SubCmd, short TxLen, byte[] Data, short RxLen) Java and Android representation: public byte[] CustomCommand_EPC_C1G2( CAENRFIDTag Tag, byte SubCmd, short TxLen, byte[] Data, short RxLen) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_CustomCommand_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, unsigned char SubCmd, int TxLen, void *Data, int RxLen, void *TRData);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-19.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 20 CustomCommand_EPC_C1G2 Method (CAENRFIDTag, Byte, Int16, Byte[], Int16, Int32) Description: This method can be used to issue a generic Custom command as defined by the EPC Class1 Gen2 protocol specification. The parameters are used to specify the type of the custom command and its parameters. The Custom command is executed after an Access command to switch the tag in the Secured state using the provided password. Parameters: Name Description Tag The CAENRFIDTag object representing the tag to select. SubCmd The SubCommand field of the Custom command. TxLen The length of the data to be sent to the tag. Data The data to be sent to the tag. RxLen The length of the data to be received by the tag. AccessPassword The access password. Return value: An array of bytes representing the reply from the tag as specified by the custom command. Syntax: C# representation: public byte[] CustomCommand_EPC_C1G2( CAENRFIDTag Tag, byte SubCmd, short TxLen, byte[] Data, short RxLen, int AccessPassword) JAVArepresentation: public byte[] CustomCommand_EPC_C1G2( CAENRFIDTag Tag, byte SubCmd, short TxLen, byte[] Data, short RxLen, int AccessPassword) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_SecureCustomCommand_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, unsigned char SubCmd, int TxLen, void *Data, int RxLen, int AccessPassword, void *TRData); EventInventoryTag Method For the description of this method, see § EVENT HANDLING page 95.](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-20.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 21 GetBufferedData Method Description: This method returns all the Tags stored in reader's buffer using all the ReadPoints belonging to the Source. Only on A828BT reader. Return value: An array of CAENRFIDTag objects detected. Syntax: C# representation: public CAENRFIDTag[] GetBufferedData() Java and Android representation: public CAENRFIDTag[] GetBufferedData() throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_GetBufferedData( CAENRFIDHandle handle, char *source, CAENRFIDTag **Receive, int *Size); GetDESB_ISO180006B Method Description: This method can be used to retrieve the Data Exchange Status Bit setting (see ISO18000-6B protocol specification) used by the anticollision algorithm when called on this logical source. Return value: The current DESB setting value. Syntax: C# representation: public CAENRFIDLogicalSourceConstants GetDESB_ISO180006B() Java and Android representation: public CAENRFIDLogicalSourceConstants GetDESB_ISO180006B() throws CAENRFIDException C representation: CAENRFIDErrorCodes GetDESB_ISO180006B( CAENRFIDHandle handle, unsigned short *Status);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-21.png)



![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 25 GroupSelUnsel Method Description: This method can be used to send a Group Select/Unselect command to the tag (see ISO18000-6B protocol specification). Parameters: Name Description Code The operation code as defined by the protocol. Address The Address from which start the comparison. BitMask The bit mask to use. Data The data to be compared. Return value: The selected tag. Syntax: C# representation: public CAENRFIDTag GroupSelUnsel( CAENRFIDSelUnselOptions Code, short Address, short BitMask, byte[] Data) Java and Android representation: public CAENRFIDTag GroupSelUnsel( CAENRFIDSelUnselOptions Code, short Address, short BitMask, byte[] Data) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_GroupSelUnsel( CAENRFIDHandle handle, char *SourceName, CAENRFID_SelUnsel_Op Code, int Address, int BitMask, void *Data, CAENRFIDTag *Tag);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-25.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 26 InventoryTag Method InventoryTag Method () Description: A call to this method will execute a read cycle on each read point linked to the logical source. Depending on the air protocol setting it will execute the appropriate anticollision algorithm. Return value: An array containing the CAENRFIDTag objects representing the tags read from the read points. Syntax: C# representation: public CAENRFIDTag[] InventoryTag() Java and Android representation: public CAENRFIDTag[] InventoryTag() throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_InventoryTag ( CAENRFIDHandle handle, char *SourceName, CAENRFIDTag **Receive, int *Size);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-26.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 27 InventoryTag Method (Byte[], Int16, Int16) Description: A call to this method will execute a read cycle on each read point linked to the logical source. Parameters: Name Description Mask A byte array representing the bitmask to apply. MaskLength A value representing the bit-oriented length of the bitmask. Position A value representing the first bit of ID where the match will start. Return value: An array containing the CAENRFIDTag objects representing the tags read from the read points. Syntax: C# representation: public CAENRFIDTag[] InventoryTag( byte[] Mask, short MaskLength, short Position) Java and Android representation: public CAENRFIDTag[] InventoryTag( byte[] Mask, short MaskLength, short Position) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_FilteredInventoryTag( CAENRFIDHandle handle, char *SourceName, char *Mask, unsigned char MaskLength, unsigned char Position, CAENRFIDTag **Receive, int *Size); Remarks: Depending on the air protocol setting it will execute the appropriate anticollision algorithm. This version of the method permits to specify a bitmask for filtering tag's populations as described by the EPC Class1 Gen2 (ISO18000-6C) air protocol. The filtering will be performed on the memory bank specified by bank parameter, starting at the bit indicated by the Position index and for a MaskLength length. The method will return only the tags that match the given Mask. Passing a zero value for MaskLength it performs as the non-filtering InventoryTag method.](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-27.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 28 InventoryTag Method (Byte[], Int16, Int16, Int16) Description: A call to this method will execute a read cycle on each read point linked to the logical source. Parameters: Name Description Mask A byte array representing the bitmask to apply. MaskLength A value representing the bit-oriented length of the bitmask. Position A value representing the first bit of ID where the match will start. Flag A bitmask representing the InventoryTag options. Return value: An array containing the CAENRFIDTag objects representing the tags read from the read points. Syntax: C# representation: public CAENRFIDTag[] InventoryTag( byte[] Mask, short MaskLength, short Position, short Flag) Java and Android representation: public CAENRFIDTag[] InventoryTag( byte[] Mask, short MaskLength, short Position, short Flag) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_FlagInventoryTag ( CAENRFIDHandle handle, char *SourceName, char *Mask, unsigned char MaskLength, unsigned char Position, unsigned char Flag, CAENRFIDTag **Receive, int *Size);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-28.png)

![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 30 InventoryTag Method (Int16, Byte[], Int16, Int16) Description: A call to this method will execute a read cycle on each read point linked to the logical source. Parameters: Name Description bank A value representing the memory bank where apply the filter. Mask A byte array representing the bitmask to apply. MaskLength A value representing the bit-oriented length of the bitmask. Position A value representing the first bit of ID where the match will start. Return value: An array containing the CAENRFIDTag objects representing the tags read from the read points. Syntax: C# representation: public CAENRFIDTag[] InventoryTag( short bank, byte[] Mask, short MaskLength, short Position) Java and Android representation: public CAENRFIDTag[] InventoryTag( short bank, byte[] Mask, short MaskLength, short Position) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_BankFilteredInventoryTag ( CAENRFIDHandle handle, char *SourceName, short bank, short Position, short MaskLength, char *Mask, CAENRFIDTag **Receive, int *Size); Remarks: Depending on the air protocol setting it will execute the appropriate anticollision algorithm. This version of the method permits to specify a bitmask for filtering tag's populations as described by the EPC Class1 Gen2 (ISO18000-6C) air protocol. The filtering will be performed on the memory bank specified by bank parameter, starting at the bit indicated by the Position index and for a MaskLength length. The method will return only the tags that match the given Mask. Passing a zero value for MaskLength it performs as the non-filtering InventoryTag method.](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-30.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 31 InventoryTag Method (Int16, Byte[], Int16, Int16, Int16) Description: A call to this method will execute a read cycle on each read point linked to the logical source. Parameters: Name Description bank A value representing the memory bank where apply the filter. Mask A byte array representing the bitmask to apply. MaskLength A value representing the bit-oriented length of the bitmask. Position A value representing the first bit of ID where the match will start. Flag A bitmask representing the InventoryTag options. Return value: An array containing the CAENRFIDTag objects representing the tags read from the read points. Syntax: C# representation: public CAENRFIDTag[] InventoryTag( short bank, byte[] Mask, short MaskLength, short Position, short Flag) Java and Android representation: public CAENRFIDTag[] InventoryTag( short bank, byte[] Mask, short MaskLength, short Position, short Flag) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_BankFilteredFlagInventoryTag ( CAENRFIDHandle handle, char *SourceName, short bank, short Position, short MaskLength, char *Mask, unsigned char Flag, CAENRFIDTag **Receive, int *Size);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-31.png)



![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 35 KillTag_EPC_C1G2 Method (Int16, Int16, Int16, Byte[], Int32) Description: This method can be used to kill a EPC Class 1 Gen 2 tag. Parameters: Name Description BankMask Memory bank for tag identification. PositionMask Bit position (from the start of the selected bank) where apply the mask to match. LengthMask Length of the mask. Mask Mask of byte. Password The tag's kill password. Syntax: C# representation: public void KillTag_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, int Password) Java and Android representation: public void KillTag_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, int Password) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_BankFilteredKillTag_EPC_C1G2( CAENRFIDHandle handle, char *SourceName, short BankMask, short PositionMask, short LengthMask, char *Mask, int Password);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-35.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 36 LockBlockPermaLock_EPC_C1G2 Method Description: This method implements the BLockPermaLock with ReadLock=1 as specified in EPC C1G2 rev. 1.2.0 protocol. Parameters: Name Description Tag The CAENRFIDTag representing the tag to be written. MemBank The memory bank where to write the data. BlockPtr The address where to start writing the data. BlockRange The number of word of the mask. Mask A bitmask that permit to select which of the four bytes have to be locked (i.e. mask 0x05 write the bytes on position Address + 1 and Address + 3). AccessPassword The access password. Syntax: C# representation: public void LockBlockPermaLock_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short BlockPtr, short BlockRange, byte[] Mask, int AccessPassword) Java and Android representation: public void LockBlockPermaLock_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short BlockPtr, short BlockRange, byte[] Mask, int AccessPassword) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_LockBlockPermaLock_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, short MemBank, short BlockPtr, short BlockRange, byte[] Mask, int AccessPassword);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-36.png)

![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 38 LockTag_EPC_C1G2 Method (Int16, Int16, Int16, Byte[], Int32) Description: This method can be used to lock a memory bank of a EPC Class 1 Gen 2 tag. Parameters: Name Description BankMask Memory bank for tag identification. PositionMask Bit position (from the start of the selected bank) where apply the mask to match. LengthMask Length of the mask. Mask Mask of byte. Payload The Payload parameter for the lock command as defined by the EPC Class 1 Gen 2 protocol specification. Syntax: C# representation: public void LockTag_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, int Payload) Java and Android representation: public void LockTag_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, int Payload) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_BankFilteredLockTag_EPC_C1G2( CAENRFIDHandle handle, char *SourceName, short BankMask, short PositionMask, short LengthMask, char *Mask, int Payload);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-38.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 39 LockTag_EPC_C1G2 Method (Int16, Int16, Int16, Byte[], Int32, Int32) Description: This method can be used to lock a memory bank of a EPC Class 1 Gen 2 tag after having put it in Secured state using the Access command. Parameters: Name Description BankMask Memory bank for tag identification. PositionMask Bit position (from the start of the selected bank) where apply the mask to match. LengthMask Length of the mask. Mask Mask of byte. Payload The Payload parameter for the lock command as defined by the EPC Class 1 Gen 2 protocol specification. AccessPassword Access password. Syntax: C# representation: public void LockTag_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, int Payload, int AccessPassword) Java and Android representation: public void LockTag_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, int Payload, int AccessPassword) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_SecureBankFilteredLockTag_EPC_C1G2( CAENRFIDHandle handle, char *SourceName, short BankMask, short PositionMask, short LengthMask, char *Mask, int Payload, int AccessPassword);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-39.png)


![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 42 NXP_EAS_Alarm Method Description: This method can be used to issue a EAS_Alarm custom command as defined by the NXP G2XM and G2XL datasheet. Return value: An array of bytes representing the EAS Code. Syntax: C# representation: public byte[] NXP_EAS_Alarm() Java and Android representation: public byte[] NXP_EAS_Alarm() throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_NXP_EAS_Alarm( CAENRFIDHandle handle, char *TRData); NXP_ReadProtect Method NXP_ReadProtect Method (CAENRFIDTag) Description: This method can be used to issue a ReadProtect custom command as defined by the NXP G2XM and G2XL datasheet. Parameters: Name Description Tag The CAENRFIDTag object representing the tag to select. Syntax: C# representation: public void NXP_ReadProtect( CAENRFIDTag Tag) Java and Android representation: public void NXP_ReadProtect( CAENRFIDTag Tag) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_NXP_ReadProtect( CAENRFIDHandle handle, CAENRFIDTag *Tag);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-42.png)



![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 46 ProgramID_EPC_C1G2 Method (CAENRFIDTag, Int16, Int32) Description: This method can be used to write the EPC of a EPC Class 1 Gen 2 tag after having put it in Secured state using the Access command. Parameters: Name Description Tag The CAENRFIDTag representing the tag to be programmed, the ID contained in this object will be programmed into the tag. NSI The Numbering System Identifier as defined in EPC Class 1 Gen 2 protocol specifications. AccessPassword The access password. Syntax: C# representation: public void ProgramID_EPC_C1G2( CAENRFIDTag Tag, short NSI, int AccessPassword) Java and Android representation: public void ProgramID_EPC_C1G2( CAENRFIDTag Tag, short NSI, int AccessPassword) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_SecureProgramID_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, unsigned short NSI, int AccessPassword); ProgramID_EPC119 Method Description: This method can be used to write the UID of a EPC 1.19 tag. Parameters: Name Description Tag The CAENRFIDTag representing the tag to be programmed. NewID An array of bytes representing the new UID for the tag. Syntax: C# representation: public void ProgramID_EPC119( CAENRFIDTag Tag, byte[] NewID) Java and Android representation: public void ProgramID_EPC119( CAENRFIDTag Tag, byte[] NewID) C representation: CAENRFIDErrorCodes CAENRFID_ProgramID_EPC119( CAENRFIDHandle handle, CAENRFIDTag *Tag, char *NewID);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-46.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 47 Query_EPC_C1G2 Method Description: This method makes the reader generate a EPC Class1 Gen2 Query command. Return value: True on successfull completion. Syntax: C# representation: public bool Query_EPC_C1G2() Java and Android representation: public boolean Query_EPC_C1G2() throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_Query_EPC_C1G2( CAENRFIDHandle handle, char *SourceName, short *isPresent); QueryAck_EPC_C1G2 Method Description: This method make the reader generate a sequence of EPC Class1 Gen2 Query and Ack commands. It can be used to read a single tag under the field. If there are more than one tag under the field the method fails. Return value: An array of bytes representing the EPC of the tag Syntax: C# representation: public byte[] QueryAck_EPC_C1G2() Java and Android representation: public byte[] QueryAck_EPC_C1G2() throws CAENRFIDException C representation: CAENRFIDErrorCodes QueryAck_EPC_C1G2( CAENRFIDHandle handle, char *SourceName, byte *Tag);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-47.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 48 ReadBLockPermalock_EPC_C1G2 Method Description: This method implements the BLockPermaLock with ReadLock=0 as specified in EPCC1G2 rev. 1.2.0 protocol. Parameters: Name Description Tag The CAENRFIDTag representing the tag to be read. MemBank The memory bank where to read the data. Blockptr The address where to start reading the data. BlockRange The number of word to be read. AccessPassword The access password. Return value: An array of bytes representing the data read from the tag. Syntax: C# representation: public byte[] ReadBLockPermalock_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short Blockptr, short BlockRange, int AccessPassword) Java and Android representation: public byte[] ReadBLockPermalock_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short Blockptr, short BlockRange, int AccessPassword) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_ReadBLockPermalock_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, short MemBank, short Blockptr, short BlockRange, int AccessPassword)](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-48.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 49 ReadTagData Method Description: This method can be used to read a portion of the user memory in a ISO18000-6B tag. Parameters: Name Description Tag The CAENRFIDTag representing the tag to be read. Address The address where to start reading the data. Length The number of byte to be read. Return value: An array of bytes representing the data read from the tag. Syntax: C# representation: public byte[] ReadTagData( CAENRFIDTag Tag, short Address, short Length) Java and Android representation: public byte[] ReadTagData( CAENRFIDTag Tag, short Address, short Length) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_ReadTagData( CAENRFIDHandle handle, CAENRFIDTag *Tag, int Address, int Length, void *Data);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-49.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 50 ReadTagData_EPC_C1G2 Method ReadTagData_EPC_C1G2 Method (CAENRFIDTag, Int16, Int16, Int16) Description: This method can be used to read a portion of memory in an ISO18000-6C (EPC Class1 Gen2) tag. Parameters: Name Description Tag The CAENRFIDTag representing the tag to be read. MemBank The memory bank where to read the data. Address The address where to start reading the data. Length The number of byte to be read. Return value: An array of bytes representing the data read from the tag. Syntax: C# representation: public byte[] ReadTagData_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short Address, short Length) Java and Android representation: public byte[] ReadTagData_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short Address, short Length) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_ReadTagData_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, short MemBank, int Address, int Length, void *Data);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-50.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 51 ReadTagData_EPC_C1G2 Method (CAENRFIDTag, Int16, Int16, Int16, Int32) Description: This method can be used to read a portion of memory in an ISO18000-6C (EPC Class1 Gen2) tag after having put the tag in Secured state using the Access command. Parameters: Name Description Tag The CAENRFIDTag representing the tag to be read. MemBank The memory bank where to read the data. Address The address where to start reading the data. Length The number of byte to be read. AccessPassword The access password. Return value: An array of bytes representing the data read from the tag. Syntax: C# representation: public byte[] ReadTagData_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short Address, short Length, int AccessPassword) Java and Android representation: public byte[] ReadTagData_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short Address, short Length, int AccessPassword) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_SecureReadTagData_EPC_C1G2 ( CAENRFIDHandle handle, CAENRFIDTag *Tag, short MemBank, int Address, int Length, int AccessPassword, void *Data);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-51.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 52 ReadTagData_EPC_C1G2 Method (Int16, Int16, Int16, Byte[], Int16, Int16, Int16) Description: This method can be used to read a portion of memory in an ISO18000-6C (EPC Class1 Gen2) tag. In this case the target tag is identified by 'LenghtMask' bytes of passed mask placed in a memory bank 'BankMask' at 'PositionMask' byte from bank starting address byte. Parameters: Name Description BankMask Memory bank for tag identificantion. PositionMask Bit position (from the start of the selected bank) where apply the mask to match. LengthMask Length of the mask. Mask Mask of byte. MemBank Memory bank where read. Address Address where starts reading. Length Number of byte to read. Return value: An array of bytes representing the data read from the tag. Syntax: C# representation: public byte[] ReadTagData_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, short MemBank, short Address, short Length) Java and Android representation: public byte[] ReadTagData_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, short MemBank, short Address, short Length) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_BankFilteredReadTagData_EPC_C1G2( CAENRFIDHandle handle, char *SourceName, short BankMask, short PositionMask, short LengthMask, char *Mask, short MemBank, int Address, int Length, void *Data);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-52.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 53 ReadTagData_EPC_C1G2 Method (Int16, Int16, Int16, Byte[], Int16, Int16, Int16, Int32) Description: This method can be used to read a portion of memory in an ISO18000-6C (EPC Class1 Gen2) tag. In this case the target tag is identified by 'LenghtMask' bytes of passed mask placed in a memory bank 'BankMask' at 'PositionMask' byte from bank starting address byte. This is the secure version using the Access command. Parameters: Name Description BankMask Memory bank for tag identificantion. PositionMask Bit position (from the start of the selected bank) where apply the mask to match. LengthMask Length of the mask. Mask Mask of byte. MemBank Memory bank where read. Address Address where starts reading. Length Number of byte to read. AccessPassword Access Password. Return value: An array of bytes representing the data read from the tag. Syntax: C# representation: public byte[] ReadTagData_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, short MemBank, short Address, short Length, int AccessPassword) Java and Android representation: public byte[] ReadTagData_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, short MemBank, short Address, short Length, int AccessPassword) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_SecureBankFilteredReadTagData_EPC_C1G2 ( CAENRFIDHandle handle, char *SourceName, short BankMask, short PositionMask, short LengthMask, byte[] Mask, short MemBank, int Address, int Length, void *Data, int AccessPassword);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-53.png)





![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 59 SL900A_GetLogState Method Description: This method can be used to issue an IDS SL900A Get Log State custom command as defined in the IDS SL900A datasheet. Parameters: Name Description Tag The tag selected ShelfLife This parameter is used to inform the reader if the shelf life flag is set in the tag's EEPROM Return Value: This method returns the status of the logging process. The structure of the byte array is the following: byte[0]÷byte[1] : Limite Counter. byte[2]÷byte[3] : System status. byte[4]÷byte[11] : Shelf Life Block (only if the ShelfLife parameter is true). byte[12]÷byte[14] : Current Shelf Life (only if the ShelfLife parameter is true). byte[15] : Status Flags (if ShelfLife parameter is false this byte follows immediately the System status word). Syntax: C# representation: public byte[] SL900A_GetLogState( CAENRFIDTag Tag, bool ShelfLife) Java and Android representation: public byte[] SL900A_GetLogState( CAENRFIDTag Tag, boolean ShelfLife) throws CAENRFIDException C representation: CAENRFIDErrorCodes IDS_SL900A_GetLogState( CAENRFIDHandle handle, CAENRFIDTag *Tag, BOOL ShelfLife, char * TRData);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-59.png)




![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 64 WriteTagData Method Description: This method can be used to write a portion of the user memory in an ISO18000-6B tag. Parameters: Name Description Tag The CAENRFIDTag representing the tag to be written. Address The address where to start writing the data. Length The number of byte to be written. Data The data to be written into the tag's user memory. Syntax: C# representation: public void WriteTagData( CAENRFIDTag Tag, short Address, short Length, byte[] Data) Java and Android representation: public void WriteTagData( CAENRFIDTag Tag, short Address, short Length, byte[] Data) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_WriteTagData( CAENRFIDHandle handle, CAENRFIDTag *Tag, int Address, int Length, void *Data);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-64.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 65 WriteTagData_EPC_C1G2 Method WriteTagData_EPC_C1G2 Method (CAENRFIDTag, Int16, Int16, Int16, Byte[]) Description: This method can be used to write a portion of memory in an ISO18000-6C (EPC Class1 Gen2) tag. Parameters: Name Description Tag The CAENRFIDTag representing the tag to be written. MemBank The memory bank where to write the data. Address The address where to start writing the data. Length The number of byte to be written. Data An array of bytes representing the data to be written into the tag. Syntax: C# representation: public void WriteTagData_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short Address, short Length, byte[] Data) Java and Android representation: public void WriteTagData_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short Address, short Length, byte[] Data) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_WriteTagData_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, short MemBank, int Address, int Length, void *Data);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-65.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 66 WriteTagData_EPC_C1G2 Method (CAENRFIDTag, Int16, Int16, Int16, Byte[], Int32) Description: This method can be used to write a portion of memory in an ISO18000-6C (EPC Class1 Gen2) tag after having put the tag in Secured state using the Access command. Parameters: Name Description Tag The CAENRFIDTag representing the tag to be written. MemBank The memory bank where to write the data. Address The address where to start writing the data. Length The number of byte to be written. Data An array of bytes representing the data to be written into the tag. AccessPassword The access password. Syntax: C# representation: public void WriteTagData_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short Address, short Length, byte[] Data, int AccessPassword) Java and Android representation: public void WriteTagData_EPC_C1G2( CAENRFIDTag Tag, short MemBank, short Address, short Length, byte[] Data, int AccessPassword) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_SecureWriteTagData_EPC_C1G2( CAENRFIDHandle handle, CAENRFIDTag *Tag, short MemBank, int Address, int Length, void *Data, int AccessPassword);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-66.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 67 WriteTagData_EPC_C1G2 Method (Int16, Int16, Int16, Byte[], Int16, Int16, Int16, Byte[]) Description: This method can be used to write a portion of memory in an ISO18000-6C (EPC Class1 Gen2) tag. Parameters: Name Description BankMask Memory bank for tag identification. PositionMask Bit position (from the start of the selected bank) where apply the mask to match. LengthMask Length of the mask. Mask Mask of byte. MemBank The memory bank where to write the data. Address The address where to start writing the data. Length The number of byte to be written. Data An array of bytes representing the data to be written into the tag. Syntax: C# representation: public void WriteTagData_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, short MemBank, short Address, short Length, byte[] Data) Java and Android representation: public void WriteTagData_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, short MemBank, short Address, short Length, byte[] Data) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_BankFilteredWriteTagData_EPC_C1G2( CAENRFIDHandle handle, char *SourceName, short BankMask, short PositionMask, short LengthMask, char *Mask, short MemBank, int Address, int Length, void *Data);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-67.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 68 WriteTagData_EPC_C1G2 Method (Int16, Int16, Int16, Byte[], Int16, Int16, Int16, Byte[], Int32) Description: This method can be used to write a portion of memory in an ISO18000-6C (EPC Class1 Gen2) tag after having put the tag in Secured state using the Access command. Parameters: Name Description BankMask Memory bank for tag identification. PositionMask Bit position (from the start of the selected bank) where apply the mask to match. LengthMask Length of the mask. Mask Mask of byte. MemBank The memory bank where to write the data. Address The address where to start writing the data. Length The number of byte to be written. Data An array of bytes representing the data to be written into the tag. AccessPassword The access password. Syntax: C# representation: public void WriteTagData_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, short MemBank, short Address, short Length, byte[] Data, int AccessPassword) Java and Android representation: public void WriteTagData_EPC_C1G2( short BankMask, short PositionMask, short LengthMask, byte[] Mask, short MemBank, short Address, short Length, byte[] Data, int AccessPassword) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_SecureBankFilteredWriteTagData_EPC_C1G2( CAENRFIDHandle handle, char *SourceName, short BankMask, short PositionMask, short LengthMask, char *Mask, short MemBank, int Address, int Length, void *Data, int AccessPassword);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-68.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 69 CAENRFIDNotify Class The CAENRFIDNotify class defines the structure of a notification message. In Java, Android and C# languages this class is composed by methods while in C language is present as a struct (for more information see § Overview on SDK page 7): C representation: typedef struct { byte ID[MAX_ID_LENGTH]; short Length; char LogicalSource[MAX_LOGICAL_SOURCE_NAME]; char ReadPoint[MAX_READPOINT_NAME]; CAENRFIDProtocol Type; short RSSI; byte TID[MAX_TID_SIZE]; short TIDLen; byte XPC[XPC_LENGTH]; byte PC[PC_LENGTH]; } CAENRFIDNotify; getDate Method Description: This method returns a timestamp representing the time at which the event was generated. Return value: The timestamp value. Syntax: C# representation: public DateTime getDate() Java and Android representation: public java.util.Date getDate() getPC Method Description: This method represents the PC code in the tag. Return value: The tag's Protocol Control code. Syntax: C# representation: public byte[] getPC() Java and Android representation: public byte[] getPC()](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-69.png)

![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 71 getTagID Method Description: This method returns the tag's ID (the EPC code in Gen2 tags). Return value: An array of bytes representing the tag's ID (the EPC code in EPC Class 1 Gen 2 tags). Syntax: C# representation: public byte[] getTagID() Java and Android representation: public byte[] getTagID() getTagLength Method Description: This method returns the tag's ID length. Return value: The tag's length. Syntax: C# representation: public short getTagLength() Java and Android representation: public short getTagLength() getTagSource Method Description: This method returns the name of the logical source that has detected the tag. Return value: The name of the logical source that has detected the tag. Syntax: C# representation: public string getTagSource() Java and Android representation: public java.lang.String getTagSource()](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-71.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 72 getTagType Method Description: This method returns the air protocol of the tag. Return value: The air protocol of the tag. Syntax: C# representation: public short getTagType() Java and Android representation: public CAENRFIDProtocol getTagType() getTID Method Description: This method returns the TID field value in a EPC Class 1 Gen 2 Tag Return value: The bytes of the TID field. Syntax: C# representation: public byte[] getTID() Java and Android representation: public java.lang.String getAntenna() getXPC Method Description: This method returns the tag’s XPC words. Return value: The tag’s XPC words. Syntax: C# representation: public byte[] getXPC() Java and Android representation: public byte[] getXPC()](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-72.png)






![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 79 GetReadPoints Method Description: This method gets the names of the read points (antennas) available in the reader. Return value: An array containing the read points (antennas) names available in the reader. Syntax: C# representation: public string[] GetReadPoints() Java and Android representation: public java.lang.String[] GetReadPoints() C representation: CAENRFIDErrorCodes CAENRFID_GetReadPoints( CAENRFIDHandle handle, char **AntNames [], int *AntNumber); GetReadPointStatus Method Description: This method gets the CAENRFIDReadPointStatus object representing the status of a read point (antenna). Parameters: Name Description ReadPoint The name of the read point to check. Return value: The CAENRFIDReadPointStatus object representing the current status of the read point. Syntax: C# representation: public CAENRFIDReadPointStatus GetReadPointStatus( string ReadPoint) Java and Android representation: public CAENRFIDReadPointStatus GetReadPointStatus( java.lang.String ReadPoint) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_GetReadPointStatus( CAENRFIDHandle handle, char *ReadPoint, CAENRFIDReadPointStatus *Status);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-79.png)

![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 81 GetSource Method Description: This method gets a CAENRFIDLogicalSource object given its name. Parameters: Name Description Source The name of the logical source. Return value: The CAENRFIDLogicalSource object corresponding to the requested name. Syntax: C# representation: public CAENRFIDLogicalSource GetSource( string Source) Java and Android representation: public CAENRFIDLogicalSource GetSource( java.lang.String Source) throws CAENRFIDException Remarks: This function does not exist in C language, see § Overview on SDK page 7 for more information. GetSourceNames Method Description: This method gets the names of the logical sources available in the reader. Return value: An array containing the logical source names available in the reader. Syntax: C# representation: public static string[] GetSourceNames() Java and Android representation: public static java.lang.String[] GetSourceNames() C representation: CAENRFIDErrorCodes CAENRFID_GetSourceNames( CAENRFIDHandle handle, char **SrcNames[], int *SrcNumber);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-81.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 82 GetSources Method Description: This method gets the CAENRFIDLogicalSource objects available on the reader. Return value: An array of the logical source objects available in the Reader. Syntax: C# representation: public CAENRFIDLogicalSource[] GetSources() Java and Android representation: public CAENRFIDLogicalSource[] GetSources() Remarks: This function does not exist in C language, see § Overview on SDK page 7 for more information. InventoryAbort Method For the description of this method, see § EVENT HANDLING page 95. MatchReadPointImpedance Method MatchReadPointImpedance (String) Description: MatchReadPointImpedance matches the antenna impedance passed in ReadPoint. Parameters: Name Description ReadPoint The antenna to be matched Return value: A real number greater than one, that represents the return status of the matching operation. Syntax: C# representation: public float MatchReadPointImpedance( string ReadPoint) Java and Android representation: public float MatchReadPointImpedance( String ReadPoint) throws CAENRFIDException C representation: CAENRFIDErrorCodes CAENRFID_ MatchReadPointImpedance ( CAENRFIDHandle handle, char *ReadPoint, float *Value);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-82.png)








![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 91 CAENRFIDTag Class The CAENRFIDTag class is used to define objects representing the tags. These objects are used as return values for the inventory methods and as arguments for many tag access methods. In both Java and C# language this class is composed by methods while in C language the following struct is present (for more information see § Overview on SDK page 7): C representation: typedef struct { byte ID[MAX_ID_LENGTH]; short Length; char LogicalSource[MAX_LOGICAL_SOURCE_NAME]; char ReadPoint[MAX_READPOINT_NAME]; CAENRFIDProtocol Type; short RSSI; byte TID[MAX_TID_SIZE]; short TIDLen; byte XPC[XPC_LENGTH]; byte PC[PC_LENGTH]; } CAENRFIDTag; GetId Method Description: This method returns the tag's ID (the EPC code in Gen2 tags). Return value: An array of bytes representing the tag's ID (the EPC code in EPC Class 1 Gen 2 tags). Syntax: C# representation: public byte[] GetId() Java and Android representation: public byte[] GetId() GetLength Method Description: This method returns the tag's ID length. Return value: The tag's length. Syntax: C# representation: public short GetLength() Java and Android representation: public short GetLength()](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-91.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 92 GetPC Method Description: This method returns the Protocol Control(PC) word code of the tag. Return value: The tag's Protocol Control code. Syntax: C# representation: public byte[] GetPC() Java and Android representation: public byte[] GetPC() GetReadPoint Method Description: This method returns the read point that has detected the tag. Return value: The name of the read point that has detected the Tag Syntax: C# representation: public string GetReadPoint() Java and Android representation: public java.lang.String GetReadPoint() throws CAENRFIDException GetRSSI Method Description: This method returns the RSSI value measured for the tag. Return value: The tag's RSSI. Syntax: C# representation: public short GetRSSI() Java and Android representation: public short GetRSSI()](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-92.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 93 GetSource Method Description: This method returns the name of the logical source that has detected the tag. Return value: The name of the logical source that has detected the tag. Syntax: C# representation: public CAENRFIDLogicalSource GetSource() Java and Android representation: public CAENRFIDLogicalSource GetSource() GetTID Method Description: This method returns the tag's TID (valid only for EPC Class 1 Gen 2 tags). Return value: An array of bytes representing the tag's TID. Syntax: C# representation: public byte[] GetTID() Java and Android representation: public byte[] GetTID() GetTimeStamp Method Description: This method gets the Tag's TimeStamp. Return value: The Tags's Unix TimeStamp. Syntax: C# representation: public DateTime GetTimeStamp() Java and Android representation: public java.util.Date GetTimeStamp()](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-93.png)
![CLASSES DESCRIPTION - CAEN RFID API Reference Manual 94 GetType Method Description: This method returns the air protocol of the tag. Return value: The air protocol of the tag. Syntax: C# representation: public new CAENRFIDProtocol GetType() Java and Android representation: public CAENRFIDProtocol GetType() GetXPC Method Description: This method returns the tag’s XPC words. Return value: The tag’s XPC words. Syntax: C# representation: public byte[] GetXPC() Java and Android representation: public byte[] GetXPC()](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-94.png)

![EVENT HANDLING - CAEN RFID API Reference Manual 96 EventInventoryTag Method Description: A call to this method will start a sequence of read cycle on each read point linked to the logical source. The readings will be notified to the controller via event generation. Parameters: Name Description Mask A byte array representing the bitmask to apply. MaskLength A value representing the bit-oriented length of the bitmask. Position A value representing the first bit where the match will start. Flag A bitmask representing the InventoryTag options. pCallBack The user defined handler called by EventInventoryTag (only in C language). Return value: A boolean value that represents the status of the command: true if the reader has accepted the command; false otherwise. Syntax: C# representation: public bool EventInventoryTag( byte[] Mask, short MaskLength, short Position, short Flag) Java and Android representation: public boolean EventInventoryTag( byte[] Mask, short MaskLength, short Position, short Flag) throws CAENRFIDException C representation: typedef struct { char *SourceName; char *Mask; unsigned char MaskLength; unsigned char Position; CAENRFID_INVENTORY_CALLBACK pCallBack; short flag;} CAENRFID_EventInventoryParams; CAENRFIDErrorCodes CAENRFID_EventInventoryTag ( CAENRFIDHandle handle, CAENRFID_EventInventoryParams InvParams);](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-96.png)

![EVENT HANDLING - CAEN RFID API Reference Manual 98 C# Event Handling CAENRFIDEventArgs Class The CAENRFIDEventArgs class defines the CAENRFID event arguments. getData Method Description: This method returns the event object value. Return value: The value of the event object. Syntax: C# representation: public CAENRFIDNotify[] getData() CAENRFIDEventHandler Delegate CAENRFIDEventHandler delegate declaration. Parameters: Name Description Event the Data Event. Syntax: C# representation: public delegate void CAENRFIDEventHandler( object Sender, CAENRFIDEventArgs Event) CAENRFIDEvent Event The CAEN RFID event is generated by the library each time tag data arrives from the reader. The event is generated only when the EventInventoryTag method is used. It is an event of the Reader Class. Syntax: C# representation: public event CAENRFIDEventHandler CAENRFIDEvent Event Data The event handler receives an argument of type CAENRFIDEventArgs containing data related to this event. The following CAENRFIDEventArgs property provides information specific to this event. Property Description Data Represents the event object value.](https://usermanual.wiki/CAEN-RFID-srl/CAENRFID022/User-Guide-3009554-Page-98.png)

















