Помогите плиз, если кто сможет с такой проблемой.
Есть драйвер — создает устройство.
Есть юзерское приложение — делает на это устройство DefineDosDevice, после чего устройство юзается.
Если из приложения выходят — делаю DefineDosDevice с DDD_REMOVE_DEFINITION, устройство пропадает.
Однако что можно сделать, если приложение снято? Драйвер догадывается, что юзерское приложение мертво, отвечает на все IRP "устройство не готово", но ссылка продолжает висеть.
Может есть возможность связать время жизни этой ссылки с временем жизни приложения, которое ее создало? Или может есть возможность удалить ее из драйвера? ...Либо создать новый юзерский процесс, и проинитить ему окружение, либо атачится к существующему, смотреть пользует ли он crs, и выполнять от его имени? А может есть какой другой путь?