protected virtual void OnReceiveFoundCardMessage(ref Message m) { IntPtr pDevInfo = m.LParam; IntPtr pDeviceData; if (IntPtr.Size == 8) { pDeviceData = (IntPtr)((Int64)pDevInfo + (Int64)Marshal.OffsetOf(typeof(DEVICE_INFO), "dev_info")); } else { pDeviceData = (IntPtr)((Int32)pDevInfo + (Int32)Marshal.OffsetOf(typeof(DEVICE_INFO), "dev_info")); } DEVICE_INFO dev_info = (DEVICE_INFO)Marshal.PtrToStructure(pDevInfo, typeof(DEVICE_INFO)); switch (dev_info.target_device) { case DEVICE_TYPE_NFC_18092_212K: case DEVICE_TYPE_NFC_18092_424K: DEVICE_DATA_NFC_18092_212_424K deviceData_F = (DEVICE_DATA_NFC_18092_212_424K)Marshal.PtrToStructure(pDeviceData, typeof(DEVICE_DATA_NFC_18092_212_424K)); string idm = Util.ToHexString(deviceData_F.NFCID2); MessageBox.Show(this, idm, "discover nfc tag"); break; } FeliCaNfcDllWrapperClass.FeliCaLibNfcStopDevAccess(0x00); }
private void DispatchNfcFEvent(IntPtr pDeviceData) { DEVICE_DATA_NFC_18092_212_424K deviceData_F = (DEVICE_DATA_NFC_18092_212_424K)Marshal.PtrToStructure(pDeviceData, typeof(DEVICE_DATA_NFC_18092_212_424K)); FeliCaNfcDllWrapperClass.FeliCaLibNfcStartDevAccess(deviceData_F.target_number); DiscoverNfcFTag(this, new NfcFEventArgs(deviceData_F)); }
/// <summary> /// ポーリング結果がNFC-Fだった場合 /// </summary> private void detectNfcF(IntPtr pDeviceData) { DEVICE_DATA_NFC_18092_212_424K DeviceData_F = (DEVICE_DATA_NFC_18092_212_424K)Marshal.PtrToStructure(pDeviceData, typeof(DEVICE_DATA_NFC_18092_212_424K)); mTargetNumber = DeviceData_F.target_number; mResult = mFeliCaNfcDllWrapperClass.FeliCaLibNfcStartDevAccess(mTargetNumber); if (mResult == false) { ErrorRoutine(); return; } mNfcId = new byte[NFCID2_SIZE]; Buffer.BlockCopy(DeviceData_F.NFCID2, 0, mNfcId, 0, NFCID2_SIZE); mRD = new byte[2]; mRD[RD_SYSCODE1] = DeviceData_F.RD[0]; mRD[RD_SYSCODE2] = DeviceData_F.RD[1]; }
public NfcFEventArgs(DEVICE_DATA_NFC_18092_212_424K deviceDataF) { _deviceDataF = deviceDataF; }
public NfcFEventArgs(DEVICE_DATA_NFC_18092_212_424K deviceDataF) { _deviceDataF = deviceDataF; }