RFID_STATUS WINAPI RFID_FujitsuBurstErase ( RFID_HANDLE32  readerHandle,
UINT8 *  pTagID,
UINT32  tagIDLength,
FUJITSU_BURST_ERASE_ACCESS_PARAMS *  lpBurstEraseParams,
ACCESS_FILTER *  lpAccessFilter,
ANTENNA_INFO *  lpAntennaInfo,
TAG_DATA *  lpTagData,
LPVOID  rsvd 
)

This function erases data in chunks of 4 bytes into one or more Fujitsu 64K Tags and also returns for each Tag, the number of bytes not erased.

Parameters:
[in] readerHandle 
Handle to the RFID device.
[in] pTagID 
Pointer to the byte array containing Tag ID
[in] tagIDLength 
Length of the byte array containing Tag ID
[in] lpBurstEraseAcessParams 
Pointer to FUJITSU_BURST_ERASE_ACCESS_PARAMS structure containing the length of data to be erased(in bytes),memory bank and offset of starting byte,accessPassword of the tag(s).
[in] lpAccessFilter 
Pointer to Access filter structure specifying the tag-filter criteria for the current Access operation
[in] lpAntennaInfo 
Pointer to ANTENNA_INFO structure specifying the Antenna IDs on which the access operation is to be performed
[out] lpTagData 
Pointer to Tag_DATA structure which indicates among others the number of bytes not written during the burst Write operation.
[in] rsvd 
Reserved for future use
Returns:
If the function succeeds the return value is RFID_API_SUCCESS. If the function fails the return value is one of the following:
  • RFID_API_INVALID_HANDLE Handle provided is invalid
  • RFID_API_PARAM_ERROR Parameter is invalid.
  • RFID_ACCESS_FUJITSU_BURST_ERASE_FAILED Failed to perform Burst-Erase on the specified tag(s)

Remarks:
Unlike BlockErase, BurstWrite can erase only in chunks of 4 bytes and the byte-offset of the starting byte should also be a multiple of 4. A maximum of 128 bytes can only erased using BurstErase,incase of User Memory Bank and is limited by the memory bank length for the other banks. The TAG_DATA structure contains a Pointer to ACCESS_OPERATION_RESULT which contains a union of results for certain Access Operations, one among them being FujitsuBurstEraseResult. This result specifies the number of bytes not erased
See also:
See RFID_FujitsuChangeWordLock, RFID_FujitsuBurstWrite,RFID_FujitsuChangeBlockOrAreaGroupPassword
Remarks:
Example:
// Code Snippets for Burst-Erase  BlockLock flags
  
   RFID_HANDLE32 readerHandle;
   RFID_STATUS rfidStatus = RFID_API_SUCCESS;
   CONNECTION_INFO connectionInfo;
   connectionInfo.version = RFID_API3_5_1;
   if(RFID_API_SUCCESS == RFID_Connect(&readerHandle, TEXT("157.235.207.191"), 0, 0, &connectionInfo))
   {   
             UINT8 fujitsu64KtagID[12] = {0x30,0x35,0x30,0x7B,0x28,0x31,0xB3,0X80,0xB0,0x00,0x0C,0x4C};
                 FUJITSU_CHANGE_WORDLOCK_ACCESS_PARAMS fujitsuChangeWordLockAccessParams;
                 fujitsuChangeWordLockAccessParams.blockGroupPassword = 0x0; 
                 fujitsuChangeWordLockAccessParams.byteOffset = 512;
                 fujitsuChangeWordLockAccessParams.memoryBankName =MEMORY_BANK_USER;
                 fujitsuChangeWordLockAccessParams.payloadAction = 0x03;
                 fujitsuChangeWordLockAccessParams.payloadMask  = 0x03;
                 rfidStatus = RFID_FujitsuChangeWordLock(readerHandle,fujitsu64KTagID,12,&fujitsuChangeWordLockAccessParams,NULL,NULL,NULL);
                 
         TAG_DATA* lpTagData = RFID_AllocateTag(readerHandle);
                 FUJITSU_BURST_ERASE_ACCESS_PARAMS fujitsuBurstEraseParams;
             fujitsuBurstEraseParams.accessPassword = 0x0;
                 fujitsuBurstEraseParams.burstEraseDataLength = 8;
                 fujitsuBurstEraseParams.byteOffset = 512-6;
                 fujitsuBurstEraseParams.memoryBank = MEMORY_BANK_USER;
                        
                                                        
                  rfidStatus = RFID_FujitsuBurstErase(readerHandle,fujitsu64KTagID,12,&fujitsuBurstEraseParams,NULL,NULL,lpTagData,NULL);
                  if(rfidStatus == RFID_API_SUCCESS)
                  {
                           if(lpTagData->lpAccessOperationResult->FujitsuBurstEraseResult.numberOfBytesNotErased == 2)
                            {
                                         printf("\n Only 6 bytes could be erased but the next 2 bytes were not erased as that word had been locked using ChangeWordLock call");
                            }
                          
                  }
                        
        }        
        RFID_Disconnect(readerHandle);


Generated on Fri Mar 4 02:25:31 2016 for RFIDAPI3 1.1 C API Documentation by  doxygen 1.5.6