Partager via


KeStackAttachProcess, fonction (ntifs.h)

La routine KeStackAttachProcess attache le thread actuel à l’espace d’adressage du processus cible.

Attention Utiliser cette routine avec une prudence extrême. (Consultez la note dans la section Remarques.)
 

Syntaxe

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

Paramètres

PROCESS

Pointeur vers l’objet de processus cible. Ce paramètre peut être un pointeur PEPROCESS retourné par IoGetCurrentProcess ou psGetCurrentProcess.

[out] ApcState

Pointeur opaque vers une structure KAPC_STATE. L’appelant doit allouer du stockage pour cette structure à partir du pool non paginé ou de la pile de threads de l’appelant.

Valeur de retour

Aucun

Remarques

KeStackAttachProcess attache le thread actuel à l’espace d’adressage du processus pointé par le paramètre Process. Si le thread actuel a déjà été attaché à un autre processus, le paramètre ApcState reçoit l’état ACTUEL d’APC avant KeStackAttachProcess attache au nouveau processus.

Chaque appel à KeStackAttachProcess doit être mis en correspondance par un appel ultérieur à KeUnstackDetachProcess.

Remarque l’attachement d’un thread à un autre processus peut empêcher l’exécution d’opérations d’E/S asynchrones et peut entraîner des interblocages. En général, les lignes de code entre l’appel à KeStackAttachProcess et l’appel à KeUnstackDetachProcess doivent être très simples et ne doivent pas appeler des routines complexes ou envoyer des IRPs à d’autres pilotes.
 

Pour plus d’informations sur l’utilisation des threads système et la gestion de la synchronisation dans un contexte de thread nonarbitraire, consultez Windows Kernel-Mode Process and Thread Manager.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000
plateforme cible Universel
d’en-tête ntifs.h (include Ntifs.h, Fltkernel.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Voir aussi

IoGetCurrentProcess

IoGetRequestorProcess

IoThreadToProcess

KeGetCurrentIrql

KeGetCurrentThread

KeUnstackDetachProcess

psGetCurrentProcess

psGetCurrentThread