Esempio n. 1
0
        private void UpdateIoRequestHeader()
        {
            switch (Platform.Type)
            {
            case PlatformType.Windows:
                _winscardIoRequest = (SCARD_IO_REQUEST_WINDOWS)Marshal.PtrToStructure(
                    MemoryPtr,
                    typeof(SCARD_IO_REQUEST_WINDOWS));
                break;

            case PlatformType.Linux:
                _linuxIoRequest = (SCARD_IO_REQUEST_UNIX)Marshal.PtrToStructure(
                    MemoryPtr,
                    typeof(SCARD_IO_REQUEST_UNIX));
                break;

            case PlatformType.MacOSX:
                _macosIoRequest = (SCARD_IO_REQUEST_MACOSX)Marshal.PtrToStructure(
                    MemoryPtr,
                    typeof(SCARD_IO_REQUEST_UNIX));
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Esempio n. 2
0
        private void UpdateIoRequestHeader()
        {
            if (Platform.IsWindows)
            {
                // Windows
                _winscardIoRequest = (SCARD_IO_REQUEST_WINDOWS)Marshal.PtrToStructure(
                    MemoryPtr,
                    typeof(SCARD_IO_REQUEST_WINDOWS));
                return;
            }

            // Unix
            _pcscliteIoRequest = (Interop.Unix.SCARD_IO_REQUEST)Marshal.PtrToStructure(
                MemoryPtr,
                typeof(Interop.Unix.SCARD_IO_REQUEST));
        }
Esempio n. 3
0
        private void UpdateIoRequestHeader() {
            if (Platform.IsWindows) {
                // Windows
                _winscardIoRequest = (SCARD_IO_REQUEST_WINDOWS) Marshal.PtrToStructure(
                    _iomem,
                    typeof(SCARD_IO_REQUEST_WINDOWS));
                return;
            }

            // Unix
            _pcscliteIoRequest = (Interop.Unix.SCARD_IO_REQUEST) Marshal.PtrToStructure(
                _iomem,
                typeof(Interop.Unix.SCARD_IO_REQUEST));
        }