예제 #1
0
        public IDeviceHandle OpenDevice(string devicePath, HidDeviceAccess access)
        {
            var desiredAccess = access == HidDeviceAccess.Read ? GenericRead :
                                access == HidDeviceAccess.Write ? GenericWrite :
                                GenericRead | GenericWrite;
            var safeHandle = CreateFile(devicePath, desiredAccess, FileShare.ReadWrite, IntPtr.Zero, FileMode.Open, FileAttributes.Normal, IntPtr.Zero);

            return(new DeviceHandle(safeHandle));
        }
예제 #2
0
파일: HidDevice.cs 프로젝트: mpyzhov/CMTest
        public void Open(HidDeviceAccess desiredAccess)
        {
            handle = manager.OpenDevice(devicePath, desiredAccess);
            if (handle.IsInvalid)
            {
                //Logger.Error("Cannot open device");
                return;
            }

            AccessLevel = desiredAccess;

            capabilities  = manager.GetDeviceCapabilities(handle);
            VersionNumber = capabilities.VersionNumber;

            stream = manager.GetDeviceStream(handle);
        }