KeUnstackDetachProcess - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// ntifs.h

VOID KeUnstackDetachProcess(
  [in] PRKAPC_STATE ApcState
);
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-ntifs-keunstackdetachprocess)

KeUnstackDetachProcess function

Description

The KeUnstackDetachProcess routine detaches the current thread from the address space of a process and restores the previous attach state.

Caution Use this routine with extreme caution. (See the following Remarks section.)

Parameters

ApcState [in]

Opaque pointer to a KAPC_STATE structure that was returned from a previous call to KeStackAttachProcess.

Remarks

Every successful call to KeStackAttachProcess must be matched by a subsequent call to KeUnstackDetachProcess.

Note Attaching a thread to a different process can prevent asynchronous I/O operations from completing and can potentially cause deadlocks. In general, the lines of code between the call to KeStackAttachProcess and the call to KeUnstackDetachProcess should be very simple and should not call complex routines or send IRPs to other drivers.

For more information about using system threads and managing synchronization within a nonarbitrary thread context, see Driver Threads, Dispatcher Objects, and Resources.

See also

IoGetCurrentProcess

IoGetRequestorProcess

IoThreadToProcess

KeGetCurrentIrql

KeGetCurrentThread

KeStackAttachProcess

PsGetCurrentProcess

PsGetCurrentThread