Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если драйвер устройства имеет подпрограмму StartIo , его подпрограммы отправки могут зарегистрировать подпрограмму Отмены , указав свой адрес в качестве входных данных в IoStartPacket.
Если драйвер не имеет подпрограммы StartIo , его подпрограммы отправки должны выполнить следующие действия перед очередью IRP для дальнейшей обработки другими подпрограммами драйверов:
Вызов IoAcquireCancelSpinLock.
Вызовите IoSetCancelRoutine с IRP в качестве входного параметра и точкой входа для подпрограммы отмены, предоставленной драйвером.
Вызовите IoReleaseCancelSpinLock.
Сведения об отмене блокировки спина см. в разделе "Использование блокировки отмены спина системы".
Драйверам, которые управляют собственными очередями IRP вместо использования очереди устройств, предоставленной диспетчером ввода-вывода, не нужно захватывать блокировку отмены при вызове IoSetCancelRoutine. Однако эти драйверы должны проверить указатель подпрограммы отмены, который возвращает IoSetCancelRoutine, чтобы определить, началась ли подпрограмма отмены.