Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Драйвер CyUSB.sys, эксклюзивный режим
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
alevnew
Использую CY7C68013A и драйвер CyUSB.sys.
Все вроде работает, одна проблема - любая прога может открыть также мое устройство, хотя оно уже открыто.
Причем открываю вроде в эксклюзивном режиме (код на Delphi):

h:=CreateFile( functionClassDeviceData^.DevicePath,
GENERIC_WRITE or GENERIC_READ,
0, Nil,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
0);

Но тем не менее, можно открыть из нескольких прог одновременно.
Проблема в драйвере ?
Как побороть ? Или хотя бы как узнать, открыто ли уже это устройство кем-то ?
alexkok
Цитата(alevnew @ May 19 2010, 17:45) *
Но тем не менее, можно открыть из нескольких прог одновременно.
Проблема в драйвере ?
Как побороть ? Или хотя бы как узнать, открыто ли уже это устройство кем-то ?

Вот что пишут в ДДК
Цитата
Specifying Exclusive Access to Device Objects
If exclusive access to a device is enabled, only one handle to the device can be open at a time. For the I/O manager to enforce exclusive access to the device, the exclusive property must be set for the named device object in the device stack.

For a WDM device stack that has a both a PDO and an FDO, the exclusive property can be set only by the INF file, by using an INF AddReg directive. The PDO is the named object in the stack, but the bus driver (not the function driver itself) creates the PDO, on behalf of the function driver. The only way to direct the bus driver to set the exclusive flag for the PDO is by the class or device INF files. (The call to the IoCreateDevice routine creates the FDO; setting the exclusive flag for the FDO has no effect.)

Если найдете способ, поделитесь.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.