Ну да, у меня сейчас так и происходит. Просто допустим в линуксе когда я выгружаю драйвер он мне вернёт EBUSY если девайс занят, а потом я могу...
g00r, у меня это делается с помощью VCADIRPPrologue/VCADIRPEpilogue (там ещё дополнительные вещи проверяются), но это к делу не относится....
g00r, при помощи 'SetupApi', грубо говоря, когда я нажму на 'Remove Device' в окне 'Device Manager'а', что аналогично вызову:...
g00r, вот: case IRP_MN_QUERY_REMOVE_DEVICE: { if (!CardMakeUnavailable(DevExt->Card)) {...
Wizard109, это будет немного не то, тогда, скажем, нажимая remove в device manager'е я буду висеть и ждать пока мой виртуальный девайс можно будет...
g00r, первым делом, но там ничего нет по моему вопросу. да, если я верну допустим STATUS_UNSUCCESSFUL, то PnP менеджер поймёт что устройство...
Ситуация следующая: есть PnP Device FDO (Не Bus FDO), который создаёт legacy DO (который фактически не знает о том что он как-то связан с PnP) и...
Вобщем, если кому интересно, то проблема решилась, драйвер должен действовать всегда так как будто ему делают просто disable + к этому пишется...
Всем доброго времени суток, у меня следующий вопрос, в чё разница между disable и uninstall с точки зрения IRP, посылаемых драйверу ? Т.е допустим...
Хм, а может KeStackAttachProcess(&Process->Pcb, &ApcState); сделать до RtlImageDirectoryEntryToData...
Во, вот про это я и говорил, мне просто было интересно возможно ли это теоретически. На практике конечно такое вряд ли произойдёт, да и вообще вся...
Four-F, спасибо за объяснение, насчёт Csq понятно. А вот насчёт DPC не совсем, т.е получается что нет надёжного способа дождаться завершения всех...
CrystalIC, ниже только драйвер файловой системы переписывать, именно файловая система занимается выдачей этих нотификаций. Но я чё-то не совсем...
Four-F, вот я тоже не понимаю, где мне IoCsqRemoveIrp вызывать как не в потоке. Я просто читал пример из DDK, "cancel" называется, так вот, там...
CrystalIC, написать фильтр файловых систем, ловить там IRP_MN_NOTIFY_CHANGE_DIRECTORY отвечать что всё ok, что типа ты будешь слать нотификации, а...
Four-F, просто для Cancel-Safe Queue обязательно нужен поток, а меня это не устраивает, у меня 4 независимых очереди, а заводить 4 потока не...
Four-F, прочитал, теперь понятно. P.S: Как же всё запутано, вместо того чтобы релизовывать полезный функционал, приходится писать кучу...
В примере из DDK "toaster" (если конкретно, то toaster/bus) используется следующая методика для слежения за количеством активных IRP: Есть функции...
TarasCo, всё получилось, надо было просто чтобы сервис в обоих .INF'ах имел одинаковые значения Name и DisplayName. Спасибо огромное за помощь!!!...
TarasCo, к сожалению не помогло. Эта директива лишь говорит о том что драйвер виртуального девайса надо искать в mydevice.inf, т.е теперь мне не...
Separate names with a comma.