Función KeStackAttachProcess (ntifs.h)

La rutina KeStackAttachProcess asocia el subproceso actual al espacio de direcciones del proceso de destino.

Precaución Use esta rutina con extrema precaución. (Vea la nota de la sección Comentarios).
 

Sintaxis

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

Parámetros

PROCESS

Puntero al objeto de proceso de destino. Este parámetro puede ser un puntero PEPROCESS devuelto por IoGetCurrentProcess o PsGetCurrentProcess.

[out] ApcState

Puntero opaco a una estructura de KAPC_STATE. El autor de la llamada debe asignar almacenamiento para esta estructura desde un grupo no paginado o desde la propia pila de subprocesos del autor de la llamada.

Valor devuelto

None

Observaciones

KeStackAttachProcess asocia el subproceso actual al espacio de direcciones del proceso al que apunta el parámetro Process . Si el subproceso actual ya estaba asociado a otro proceso, el parámetro ApcState recibe el estado de APC actual antes de que KeStackAttachProcess se asocie al nuevo proceso.

Cada llamada a KeStackAttachProcess debe coincidir con una llamada posterior a KeUnstackDetachProcess.

Nota Adjuntar un subproceso a un proceso diferente puede impedir que las operaciones de E/S asincrónicas se completen y puedan provocar interbloqueos. En general, las líneas de código entre la llamada a KeStackAttachProcess y la llamada a KeUnstackDetachProcess deben ser muy sencillas y no deben llamar a rutinas complejas ni enviar IRP a otros controladores.
 

Para obtener más información sobre el uso de subprocesos del sistema y la administración de la sincronización en un contexto de subproceso nobitrario, vea Windows Kernel-Mode Process and Thread Manager.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h, Fltkernel.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Consulte también

IoGetCurrentProcess

IoGetRequestorProcess

IoThreadToProcess

KeGetCurrentIrql

KeGetCurrentThread

KeUnstackDetachProcess

PsGetCurrentProcess

PsGetCurrentThread