Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подпрограмма ioStartNextPacketByKey отменяет следующий пакет запроса ввода-вывода из связанной очереди устройства указанного объекта устройства в соответствии с указанным значением ключа сортировки и вызывает подпрограмму StartIo драйвера с этим IRP.
Синтаксис
void IoStartNextPacketByKey(
[in] PDEVICE_OBJECT DeviceObject,
[in] BOOLEAN Cancelable,
[in] ULONG Key
);
Параметры
[in] DeviceObject
Указатель на объект устройства, для которого должен быть отложен IRP.
[in] Cancelable
Указывает, можно ли отменить irPs в очереди устройств.
[in] Key
Указывает ключ сортировки, определяющий, какая запись удаляется из очереди.
Возвращаемое значение
Никакой
Замечания
Если в очереди устройств для целевого объекта устройства нет irPs, эта подпрограмма просто возвращает управление вызывающей.
Если драйвер передал указатель на подпрограмму отмены при вызове IoStartPacket, он должен передавать TRUE в параметре Cancelable. Если отменаTRUE, диспетчер ввода-вывода будет использовать блокировку отмены для защиты очереди устройства и текущего IRP.
Драйверы, у которых нет подпрограммы StartIo, не могут вызывать IoStartNextPacketByKey.
Вызывающие IoStartNextPacketByKey должны работать в IRQL <= DISPATCH_LEVEL. Обычно эта подпрограмма вызывается из драйвера устройства DpcForIsr или подпрограммы CustomDpc, оба из которых выполняются в IRQL = DISPATCH_LEVEL.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 2000. |
целевая платформа | Всеобщий |
заголовка | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |