Функция KeUnstackDetachProcess (ntifs.h)

Подпрограмма KeUnstackDetachProcess отсоединяет текущий поток от адресного пространства процесса и восстанавливает предыдущее состояние присоединения.

Осторожностью Используйте эту процедуру с особой осторожностью. (См. следующий раздел примечаний.)
 

Синтаксис

void KeUnstackDetachProcess(
  [in] PRKAPC_STATE ApcState
);

Параметры

[in] ApcState

Непрозрачный указатель на структуру KAPC_STATE, возвращенную из предыдущего вызова KeStackAttachProcess.

Возвращаемое значение

None

Remarks

Каждый успешный вызов KeStackAttachProcess должен соответствовать последующему вызову KeUnstackDetachProcess.

Примечание Присоединение потока к другому процессу может препятствовать завершению асинхронных операций ввода-вывода и потенциально может привести к взаимоблокировкам. Как правило, строки кода между вызовом KeStackAttachProcess и вызовом KeUnstackDetachProcess должны быть очень простыми и не должны вызывать сложные подпрограммы или отправлять IRP другим драйверам.
 

Дополнительные сведения об использовании системных потоков и управлении синхронизацией в контексте неарбитарных потоков см. в разделе Потоки драйвера, объекты диспетчера и ресурсы.

Требования

Требование Значение
Минимальная версия клиента Windows 2000
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h, Fltkernel.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

См. также раздел

IoGetCurrentProcess

IoGetRequestorProcess

IoThreadToProcess

KeGetCurrentIrql

KeGetCurrentThread

KeStackAttachProcess

PsGetCurrentProcess

PsGetCurrentThread