Поделиться через


Функция IoStartNextPacketByKey (wdm.h)

Подпрограмма 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

См. также

DEVICE_OBJECT

IoStartNextPacket

IoStartPacket