Очень нужна помощь, не могу понять как корректно завершить ввод-вывод в случае ошибки, вобщем вот такая ситуация: есть камера которая завхватывает картинку, есть драйвер который принимает эту картинку и передаёт пользовательскому АПИ, а пользовательское АПИ передаёт программе для дальнейших извращений. Общение между АПИ и драйвером происходит посредством асинхронных IOCTL, сначала АПИ шлёт запрос потом драйвер его принимает и запускает IRP по всему стеку драйверов потом соответственно возращает буфер с картинкой и устанавивает соответствующий Overlapped Event. Так вот допустим с камерой случилось что-то нехорошие и она не хочет отвечать на посланный ей запрос, в проге для этих целей предусмотрен таймаут по истечении которого прога забивает на ожидание и грит что с камерой случилось чтото нехорошее, но запросы то остаються весеть где-то непонятно где в ядре и совсем непонятно как их оттуда убрать???? потом из-за этих запросов постоянно возникают какие то непонятные баги. CancelIo который описан в МСДН нифига в данном случае не палитъ, что он есть, что его нет - один хрен, ничего не меняется. Как можно решить такую проблему, может нужно в драйвере добавить специальную функцию для этих целей и как это можно сделать? либо можно как то через АПИ управиться? :|