KeUnstackDetachProcess-Funktion (ntifs.h)

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

Vorsicht Verwenden Sie diese Routine mit äußerster Vorsicht. (Weitere Informationen finden Sie im folgenden Abschnitt mit den Anmerkungen.)
 

Syntax

void KeUnstackDetachProcess(
  [in] PRKAPC_STATE ApcState
);

Parameter

[in] ApcState

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

Rückgabewert

Keine

Bemerkungen

Jeder erfolgreiche Aufruf von KeStackAttachProcess muss durch einen nachfolgenden Aufruf von KeUnstackDetachProcess abgeglichen werden.

Hinweis Das Anfügen eines Threads an einen anderen Prozess kann verhindern, dass asynchrone E/A-Vorgänge abgeschlossen werden und möglicherweise zu Deadlocks führen. 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 in einem nichtbiträren Threadkontext finden Sie unter Treiberthreads, Dispatcherobjekte und Ressourcen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000
Zielplattform Universell
Header ntifs.h (include Ntifs.h, Fltkernel.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Weitere Informationen

IoGetCurrentProcess

IoGetRequestorProcess

IoThreadToProcess

KeGetCurrentIrql

KeGetCurrentThread

KeStackAttachProcess

PsGetCurrentProcess

PsGetCurrentThread