Уфф… Целый день пытался послать Force Debug Stop из драйвера, и пока что не получилось. Во-первых, выяснилось, что IoBuildDeviceIoControlRequest нельзя вызывать из, например, completion routine. В документации этого не написано, но эмпирически — нельзя. Пришлось сильно менять логику, получилось не очень красиво. Во-вторых, выяснилось, что USBSTOR вроде бы пропускает «разрешить секретные команды», но сама команда ему потом не нравится, причём очень странным образом, а в STORPORT даже и «разрешить» не лезет, причём код ошибки там другой. Ну и процесс почему-то связан с чуть ли не минутными замираниями загрузки тестовой машины, реакции отладчика на кнопку, и т.д.
Я-то собирался сегодня закончить, а завтра составить компанию Манечке и детям на экскурсию в местный университет, а вот не вышло…
Вечером когда я с работы приехал, дома никого не было, они все в парке в теннис играли:
Испекли пиццу, съездили с Сашиком покататься, выбрали фотографию, и всё, пора спать.
