Share via


KeStackAttachProcess, fonction (ntifs.h)

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

Attention Utilisez cette routine avec une extrême prudence. (Voir 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 le stockage pour cette structure à partir d’un pool non paginé ou de la propre pile de threads de l’appelant.

Valeur de retour

None

Remarques

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

Chaque appel à KeStackAttachProcess doit être mis en correspondance par un appel suivant à KeUnstackDetachProcess.

Note L’attachement d’un thread à un autre processus peut empêcher les opérations d’E/S asynchrones de se terminer et peut provoquer des blocages. 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 de threads système et la gestion de la synchronisation dans un contexte de thread non linéaire, consultez Processus Kernel-Mode Windows et Gestionnaire de threads.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000
Plateforme cible Universal
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