Freigeben über


KeStackAttachProcess-Funktion (ntifs.h)

Die KeStackAttachProcess Routine fügt den aktuellen Thread an den Adressraum des Zielprozesses an.

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

Syntax

void KeStackAttachProcess(
        PRKPROCESS   PROCESS,
  [out] PRKAPC_STATE ApcState
);

Parameter

PROCESS

Zeiger auf das Zielprozessobjekt. Dieser Parameter kann ein PEPROCESS-Zeiger sein, der von IoGetCurrentProcess oder PsGetCurrentProcess-zurückgegeben wird.

[out] ApcState

Ein undurchsichtiger Zeiger auf eine KAPC_STATE Struktur. Der Aufrufer muss Speicher für diese Struktur entweder aus einem nicht ausgelagerten Pool oder aus dem eigenen Threadstapel des Aufrufers zuweisen.

Rückgabewert

Nichts

Bemerkungen

KeStackAttachProcess fügt den aktuellen Thread an den Adressraum des Prozesses an, auf den der Process-Parameter verweist. Wenn der aktuelle Thread bereits an einen anderen Prozess angefügt wurde, empfängt der ApcState Parameter den aktuellen APC-Zustand, bevor KeStackAttachProcess an den neuen Prozess anfügt.

Jeder 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 Windows Kernel-Mode Prozess- und Thread-Manager-.

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-

KeUnstackDetachProcess

PsGetCurrentProcess

PsGetCurrentThread-