Função KeStackAttachProcess (ntifs.h)

A rotina KeStackAttachProcess anexa o thread atual ao espaço de endereço do processo de destino.

Cuidado Use essa rotina com extrema cautela. (Consulte a observação na seção Comentários.)
 

Sintaxe

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

Parâmetros

PROCESS

Ponteiro para o objeto de processo de destino. Esse parâmetro pode ser um ponteiro PEPROCESS retornado por IoGetCurrentProcess ou PsGetCurrentProcess.

[out] ApcState

Um ponteiro opaco para uma estrutura KAPC_STATE. O chamador deve alocar armazenamento para essa estrutura do pool nãopagado ou da própria pilha de threads do chamador.

Retornar valor

Nenhum

Comentários

KeStackAttachProcess anexa o thread atual ao espaço de endereço do processo apontado pelo parâmetro Process . Se o thread atual já estiver anexado a outro processo, o parâmetro ApcState receberá o estado atual do APC antes de KeStackAttachProcess ser anexado ao novo processo.

Cada chamada para KeStackAttachProcess deve ser correspondida por uma chamada subsequente para KeUnstackDetachProcess.

Nota Anexar um thread a um processo diferente pode impedir a conclusão de operações de E/S assíncronas e pode causar deadlocks. Em geral, as linhas de código entre a chamada para KeStackAttachProcess e a chamada para KeUnstackDetachProcess devem ser muito simples e não devem chamar rotinas complexas nem enviar IRPs para outros drivers.
 

Para obter mais informações sobre como usar threads do sistema e gerenciar a sincronização em um contexto de thread não secundário, consulte Windows Kernel-Mode Process and Thread Manager.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000
Plataforma de Destino Universal
Cabeçalho ntifs.h (include Ntifs.h, Fltkernel.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Confira também

IoGetCurrentProcess

IoGetRequestorProcess

IoThreadToProcess

KeGetCurrentIrql

KeGetCurrentThread

KeUnstackDetachProcess

PsGetCurrentProcess

PsGetCurrentThread