Пример #1
0
        public Int32 InvStopProc([In] IntPtr hWnd, [In] UInt32 nMessage, [In, Out] UInt32 wParam, ref ACCESS_STATUS lpAccessStatus)
        {
            #region codes ========================================
            ErrorMessageDelegate errorMessage = new ErrorMessageDelegate(ErrorMessage);
            this.Invoke(errorMessage, new Object[] { (Result)lpAccessStatus.dwStatus, (Int32)lpAccessStatus.dwErrorCode, String.Empty });

            InsertItemDelegate insertItem = new InsertItemDelegate(InsertItem);
            RetrieveData(ref lpAccessStatus, insertItem, true);

            if (m_bContinue)
            {
                if ((Result)lpAccessStatus.dwStatus == Result.OPERATION_CANCELLED)
                {
                    this.Invoke(new StopInvDelegate(StopInventory));
                }
            }
            else
            {
                this.Invoke(new StopInvDelegate(StopInventory));
            }

            return(1);

            #endregion //end codes
        }
Пример #2
0
 private void RetrieveData(ref ACCESS_STATUS lpAccessStatus, InsertItemDelegate insertItem, Boolean bAdd)
 {
     #region codes ========================================
     if (lpAccessStatus.dwStatus == 0 && lpAccessStatus.dwErrorCode == 0)
     {
         for (int i = 0; i < lpAccessStatus.unAntennas; i++)
         {
             ANTENNA_STATUS stAntennaStatus = new ANTENNA_STATUS();
             R1000Reader.RFIDGetAntennaStatus(i, ref stAntennaStatus);
             for (int j = 0; j < stAntennaStatus.unCount; j++)
             {
                 ACCESS_DATA accessData = new ACCESS_DATA();
                 UInt32      nRet       = R1000Reader.RFIDGetAccessData(i, j, ref accessData);
                 if (nRet == 1 && accessData.unEPCLength > 0)
                 {
                     this.Invoke(insertItem, new object[] { accessData, stAntennaStatus.unAntenna, bAdd });
                 }
             }
         }
     }
     #endregion //end codes
 }