Freigeben über


KeUnstackDetachProcess-Funktion (ntifs.h)

Die KeUnstackDetachProcess Routine trennt den aktuellen Thread vom Adressraum eines Prozesses und stellt den vorherigen Anfügungszustand wieder her.

Vorsicht Verwenden Sie diese Routine mit äußerster Vorsicht. (Siehe den folgenden Abschnitt "Hinweise".)
 

Syntax

void KeUnstackDetachProcess(
  [in] PRKAPC_STATE ApcState
);

Parameter

[in] ApcState

Undurchsichtiger Zeiger auf eine KAPC_STATE-Struktur, die von einem vorherigen Aufruf von KeStackAttachProcesszurückgegeben wurde.

Rückgabewert

Nichts

Bemerkungen

Jeder erfolgreiche Aufruf von KeStackAttachProcess muss mit einem nachfolgenden Aufruf von KeUnstackDetachProcessabgeglichen werden.

Hinweis Das Anfügen eines Threads an einen anderen Prozess kann verhindern, dass asynchrone E/A-Vorgänge abgeschlossen werden und möglicherweise Deadlocks verursachen. Im Allgemeinen sollten die Codezeilen zwischen dem Aufruf von KeStackAttachProcess und dem Aufruf von KeUnstackDetachProcess sehr einfach sein und sollten keine komplexen Routinen aufrufen oder IRPs an andere Treiber senden.
 

Weitere Informationen zur Verwendung von Systemthreads und zum Verwalten der Synchronisierung innerhalb eines nichtbiträren Threadkontexts finden Sie unter Treiberthreads, Dispatcher-Objekte und Ressourcen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h, Fltkernel.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- < DISPATCH_LEVEL

Siehe auch

IoGetCurrentProcess-

IoGetRequestorProcess-

IoThreadToProcess-

KeGetCurrentIrql

KeGetCurrentThread-

KeStackAttachProcess-

PsGetCurrentProcess

PsGetCurrentThread-