Función PsLookupProcessByProcessId (ntifs.h)
La rutina PsLookupProcessByProcessId acepta el identificador de proceso de un proceso y devuelve un puntero al que se hace referencia a la estructura EPROCESS del proceso.
Sintaxis
NTSTATUS PsLookupProcessByProcessId(
[in] HANDLE ProcessId,
[out] PEPROCESS *Process
);
Parámetros
[in] ProcessId
Especifica el identificador de proceso del proceso.
[out] Process
Devuelve un puntero al que se hace referencia a la estructura EPROCESS del proceso especificado por ProcessId.
Valor devuelto
PsLookupProcessByProcessId devuelve STATUS_SUCCESS si se ejecuta correctamente o un valor NTSTATUS adecuado, como:
Código devuelto | Descripción |
---|---|
|
Especifica en Windows XP y versiones anteriores de Windows que no se encontró el identificador de proceso. |
|
Especifica en Windows Vista y versiones posteriores de Windows que el identificador de cliente especificado no es válido. |
Comentarios
Esta rutina está disponible en Windows 2000 y versiones posteriores.
Si la llamada a PsLookupProcessByProcessId se realiza correctamente, PsLookupProcessByProcessID aumenta el recuento de referencias del objeto devuelto en el parámetro Process . Por lo tanto, cuando un controlador se haya completado con el parámetro Process , el controlador debe llamar a ObDereferenceObject para desreferenciar el parámetro Process recibido de la rutina PsLookupProcessByProcessID .
La estructura EPROCESS es una estructura de datos opaca usada internamente por el sistema operativo. Esta estructura se puede pasar a otras rutinas para acceder a información específica de esta estructura.
Un controlador de filtro del sistema de archivos puede enumerar los procesos activos y, a continuación, llamar a PsLookupProcessByProcessId para convertir un identificador de proceso en una estructura EPROCESS. El identificador de proceso está disponible en la rutina de creación del proceso. Un controlador de filtro del sistema de archivos puede establecer una rutina de devolución de llamada de notificación de proceso mediante PsSetCreateProcessNotifyRoutine. En la rutina de devolución de llamada de notificación, el controlador de filtro del sistema de archivos puede usar el parámetro ProcessId pasado y llamar a PsLookupProcessByProcessID para localizar la estructura EPROCESS. PsSetCreateThreadNotifyRoutine también se puede usar para establecer una rutina de notificación que devuelve el identificador de proceso cuando se crea un identificador de subproceso.
La rutina PsLookupProcessByProcessId contiene código paginable.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | ntifs.h (incluya Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Consulte también
PsRemoveCreateThreadNotifyRoutine
PsRemoveLoadImageNotifyRoutine