Функция IoCsqInitialize (wdm.h)
Подпрограмма IoCsqInitialize инициализирует таблицу диспетчеризации безопасной для отмены очереди IRP драйвера.
Синтаксис
NTSTATUS IoCsqInitialize(
[out] PIO_CSQ Csq,
[in] PIO_CSQ_INSERT_IRP CsqInsertIrp,
[in] PIO_CSQ_REMOVE_IRP CsqRemoveIrp,
[in] PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp,
[in] PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock,
[in] PIO_CSQ_RELEASE_LOCK CsqReleaseLock,
[in] PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp
);
Параметры
[out] Csq
Указатель на структуру IO_CSQ , инициализируемую IoCsqInitialize.
[in] CsqInsertIrp
Указатель на определяемую драйвером функцию CsqInsertIrp для безопасной для отмены очереди IRP драйвера.
[in] CsqRemoveIrp
Указатель на определяемую драйвером функцию CsqRemoveIrp для безопасной для отмены очереди IRP драйвера.
[in] CsqPeekNextIrp
Указатель на определяемую драйвером функцию CsqPeekNextIrp для безопасной для отмены очереди IRP драйвера.
[in] CsqAcquireLock
Указатель на определяемую драйвером функцию CsqAcquireLock для безопасной для отмены очереди IRP драйвера.
[in] CsqReleaseLock
Указатель на определяемую драйвером функцию CsqReleaseLock для безопасной для отмены очереди IRP драйвера.
[in] CsqCompleteCanceledIrp
Указатель на определяемую драйвером функцию CsqCompleteCanceledIrp для безопасной для отмены очереди IRP драйвера.
Возвращаемое значение
Эта подпрограмма возвращает STATUS_SUCCESS при успешном выполнении или соответствующий код ошибки NTSTATUS при сбое.
Комментарии
Подпрограмма IoCsqInitialize инициализирует структуру IO_CSQ , которая описывает безопасную для отмены очередь IRP драйвера. Драйверы также могут использовать IoCsqInitializeEx для создания очереди IRP с расширенными возможностями. Дополнительные сведения см. в разделе Отмена безопасных очередей IRP.
Обратите внимание, что подпрограммы IoCsqXxx используют элемент DriverContext[3] IRP для хранения сведений о контексте IRP. Драйверы, использующие эти подпрограммы для постановки в очередь IRP, должны оставить этот элемент неиспользуем.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows XP и более поздних версиях операционной системы Windows. Драйверы, которые также должны работать для Windows 2000 и Windows 98/Me, могут вместо этого ссылаться на Csq.lib, чтобы использовать подпрограмму. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Любой уровень |