RFID_STATUS WINAPI RFID_FujitsuBurstWrite ( RFID_HANDLE32  readerHandle,
UINT8 *  pTagID,
UINT32  tagIDLength,
FUJITSU_BURST_WRITE_ACCESS_PARAMS *  lpBurstWriteParams,
ACCESS_FILTER *  lpAccessFilter,
ANTENNA_INFO *  lpAntennaInfo,
TAG_DATA *  lpTagData,
LPVOID  rsvd 
)

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

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] lpBurstWriteAcessParams 
Pointer to FUJITSU_BURST_WRITE_ACCESS_PARAMS structure containing the offset of starting byte,a byte array of data and its length,and 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_WRITE_FAILED Failed to perform Burst-Write on the specified tag(s)

Remarks:
Unlike BlockWrite, BurstWrite can write 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 written using BurstWrite,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 FujitsuBurstWriteResult.This result specifies the number of bytes not written.
See also:
See RFID_FujitsuChangeWordLock,RFID_FujitsuBurstErase, RFID_FujitsuChangeBlockOrAreaGroupPassword
Remarks:
Example:
// Code Snippets for Reading  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};
                 UINT8 burstWriteData1[8] = {0x88,0x77,0x66,0x55,0x44,0x33,0x22,0x11};
                                  
                 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_WRITE_ACCESS_PARAMS fujitsuBurstWriteParams;
             fujitsuBurstWriteParams.accessPassword = 0x0;
                 fujitsuBurstWriteParams.burstWriteDataLength = 8;
                 fujitsuBurstWriteParams.pBurstWriteData = burstWriteData1;
                 fujitsuBurstWriteParams.byteOffset = 512-6;
                 fujitsuBurstWriteParams.memoryBank = MEMORY_BANK_USER;
                        
                                                        
                  rfidStatus = RFID_FujitsuBurstWrite(readerHandle,fujitsu64KTagID,12,&fujitsuBurstWriteParams,NULL,NULL,lpTagData,NULL);
                  if(rfidStatus == RFID_API_SUCCESS)
                  {
                           if(lpTagData->lpAccessOperationResult->FujitsuBurstWriteResult.numberOfBytesNotWritten == 2)
                            {
                                         printf("\n Only 6 bytes could be written but the next 2 bytes are not written as that word has 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