DeviceIOControl synchronization

Category: windows metro apps hardware

Question

Stonator on Fri, 21 Dec 2012 11:51:09


I have connected to a device through CreateDeviceAccessInstance and communicate with it through DeviceIoControl. The problem is that multiple commands are exchanged with the device and no other process is allowed to send a command in-between. This means I must synchronize access to the device with other processes (like Desktop processes which are using the device concurrently). How is it possible with DeviceIoControl to exclusively lock (or having a transaction) the device for a sequence of commands which are atomic and must not be interfered?

The device I am using is a CCID compliant smart card reader with a non-PKI smart card. Desktop applications access it using PCSC. My device application accesses it using DeviceIoControl.