Compartilhar via


Função KeUnstackDetachProcess (ntifs.h)

A rotina KeUnstackDetachProcess desanexa o thread atual do espaço de endereço de um processo e restaura o estado de anexação anterior.

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

Sintaxe

void KeUnstackDetachProcess(
  [in] PRKAPC_STATE ApcState
);

Parâmetros

[in] ApcState

Ponteiro opaco para uma estrutura KAPC_STATE que foi retornada de uma chamada anterior para KeStackAttachProcess.

Retornar valor

Nenhum

Comentários

Cada chamada bem-sucedida 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 Threads de driver, objetos dispatcher e recursos.

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

KeStackAttachProcess

PsGetCurrentProcess

PsGetCurrentThread