Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
            /// <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;
 }