Ну да, у меня сейчас так и происходит. Просто допустим в линуксе когда я выгружаю драйвер он мне вернёт 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, ниже только драйвер файловой системы переписывать, именно файловая система занимается выдачей этих нотификаций. Но я чё-то не совсем...
Имена участников (разделяйте запятой).