This API writes to TagID field and PC field of the tag. Based on the input value of tagID, API internally calculates PC and writes to PC field of the tag. Based on input parameters in structure LPWRITE_SPECIFIC_FIELD_ACCESS_PARAMS, API populates structure of type WRITE_ACCESS_PARAMS, with memory bank set to MEMORY_BANK_EPC, byteoffset set to PC field offset i.e 2 as PC fied starts at byte offset 2. Rest of the incoming parameters are passed as such to generic C1G2AccessOperation function.
Based on input parameters in structure LPWRITE_SPECIFIC_FIELD_ACCESS_PARAMS, API populates structure of type WRITE_ACCESS_PARAMS, with memory bank set to MEMORY_BANK_RESERVED, byteoffset set to kill password field offset within reserved memory bank of the tag i.e 0. Rest of the incoming parameters are passed as such to generic C1G2AccessOperation function.
Based on input parameters in structure LPWRITE_SPECIFIC_FIELD_ACCESS_PARAMS, API populates structure of type WRITE_ACCESS_PARAMS, with memory bank set to MEMORY_BANK_RESERVED, byteoffset set to access password field offset within reserved memory bank of the tag i.e 4. Rest of the incoming parameters are passed as such to generic C1G2AccessOperation function.
Input parametes for APIs :
RFID_HANDLE32 -- readerHandle UINT8* pTagID -- tag ID of the tag to be written to UINT32 tagIDLength -- tagID Length LPWRITE_SPECIFIC_FIELD_ACCESS_PARAMS lpWriteSpecificFieldAccessParams, LPANTENNA_INFO lpAntennaInfo -- Antenna on which operation is to be performed LPVOID rsvd -- reserved field
UINT8* pWriteData -- Pointer to a UINT8 array which contains the data to be written. Write operation occurs only on word boundaries, hence it is required to input this field accordingly. For e.g The word 0x1122 will be UINT8 writeData[2] = {0x11, 0x22} UINT16 writeDataLength -- Length of the array pWriteData UINT32 accessPassword -- Password to be used for the Access operation DWORD reserved[4] -- Reserved 4 DWORDS for future
1.5.6