Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подпрограмма ioCsqRemoveIrp удаляет из очереди определенную IRP.
Синтаксис
PIRP IoCsqRemoveIrp(
[in, out] PIO_CSQ Csq,
[in, out] PIO_CSQ_IRP_CONTEXT Context
);
Параметры
[in, out] Csq
Указатель на структуру IO_CSQ для очереди IRP, безопасной для драйвера. Эта структура должна быть инициализирована IoCsqInitialize или IoCsqInitializeEx.
[in, out] Context
Указатель на структуру IO_CSQ_IRP_CONTEXT, которая идентифицирует IRP для удаления. Структура IO_CSQ_IRP_CONTEXT инициализирована IoCsqInsertIrp или IoCsqInsertIrpEx при первом вставке IRP в очередь.
Возвращаемое значение
Эта подпрограмма возвращает указатель на IRP, который был удален из очереди, или NULL, если этот IRP был отменен.
Замечания
IoCsqRemoveIrp использует подпрограммы отправки очереди для удаления IRP. Подпрограмма IoCsqRemoveIrp:
- Вызывает очереди CsqAcquireLock подпрограмму для блокировки очереди.
- Использует параметр IrpContext, чтобы определить, какой IRP требуется удалить, и вызывает подпрограмму очереди CsqRemoveIrp, чтобы удалить эту функцию IRP.
- Вызывает очереди CsqReleaseLock подпрограмму для разблокировки очереди.
Обратите внимание, что подпрограммы IoCsqXxx используют DriverContext[3] члена IRP для хранения сведений о контексте IRP. Драйверы, использующие эти подпрограммы для очередей IRP, должны оставить этот член неиспользуем.
Вызывающие IoCsqRemoveIrp должны работать в <IRQL = DISPATCH_LEVEL. Подпрограммы обратного вызова драйвера должны работать правильно в этом IRQL.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Доступно в Windows XP и более поздних версиях Windows. Драйверы, которые также должны работать в Windows 2000 и Windows 98/Me, могут вместо этого связаться с Csq.lib, чтобы использовать подпрограмму. |
| целевая платформа | Всеобщий |
| заголовка | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
| библиотеки | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | <= DISPATCH_LEVEL (см. раздел "Примечания") |