Вниз
Скачать: CL | DM;

Как узнать открыто ли было устройство?   Найти похожие ветки 

 
Serega41 ©   (2007-03-19 19:08) [0]

Скажите, как узнать, что устройство было открыто с помощью CreateFile, скажем, в другом процессе.
Т.е. вызываю я в одном процессе нечто подобное:

CreateFile("\\.\GpdDev", GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);

Как мне узнать в другом процессе, что GpdDev уже открыт?


 
Чапаев ©   (2007-03-20 08:06) [1]

Попробовать открыть в другом процессе? Ты же открываешь (в приведенном примере) для эксклюзивного доступа, Больше никто открыть не сможет.


 
Serega41 ©   (2007-03-20 13:57) [2]

Тем не менее открывается как пить дать)
Похоже придется драйвер править (


 
SLoW.AlfaMoon.Com   (2007-03-22 17:38) [3]

Перечислять все хэндлы, искать среди них хэндлы с этим именем.
ZwQuerySystemInformation(SystemHandleInformation,...) && ZwQueryObject(ObjectNameInformation,...)


 
Rouse_ ©   (2007-03-22 17:46) [4]


> ZwQueryObject(ObjectNameInformation,...)

Таким макаром просядешь на синхронном пайпе, NtQueryInformationFile надобыть сперва :)


 
SLoW.AlfaMoon.Com   (2007-03-23 09:12) [5]

Да, Таким макаром просядешь на синхронном пайпе, NtQueryInformationFile надобыть сперва :) согласен. Но кто мешает проверить сначала тип объекта?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
15-1187068376
КольцовЮрий
2007-08-14 09:12
2007.09.09
Друзья, есть у кого нибудь примеры исходников...


1-1183193886
JanMihail
2007-06-30 12:58
2007.09.09
Как узнать, какой курсор в данный момент


2-1187050129
delphino
2007-08-14 04:08
2007.09.09
Нажатие Enter


15-1185435740
Rouse_
2007-07-26 11:42
2007.09.09
Системы бэкапа данных.


3-1179236373
oleg__
2007-05-15 17:39
2007.09.09
Oracle через ADO




   Наверх