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 }
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 }