Compartir a través de


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

Ninguno

Observaciones

KeStackAttachProcess adjunta 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 actual de APC antes de KeStackAttachProcess se asocia 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 asincrónicas de E/S 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 simples y no 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 dentro de un contexto de subproceso nobitrario, vea Windows Kernel-Mode Process and Thread Manager.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000
de la plataforma de destino de Universal
encabezado de ntifs.h (incluya Ntifs.h, Fltkernel.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL < DISPATCH_LEVEL

Consulte también

ioGetCurrentProcess de

ioGetRequestorProcess

IoThreadToProcess

keGetCurrentIrql

KeGetCurrentThread

KeUnstackDetachProcess

psGetCurrentProcess

PsGetCurrentThread