Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante Lpc ahora se emula en alpc, en su lugar use la extensión !alpc.
La extensión !lpc muestra información sobre todos los puertos y mensajes de llamada a procedimientos locales (LPC) en el sistema de destino.
!lpc message MessageID
!lpc port Port
!lpc scan Port
!lpc thread Thread
!lpc PoolSearch
!lpc
Parámetros
Mensaje
(Solo Windows Server 2003, Windows XP y Windows 2000) Muestra información sobre un mensaje, como el puerto del servidor que contiene el mensaje en la cola y el subproceso que espera este mensaje, si lo hay.
MessageID
(Solo Windows Server 2003, Windows XP y Windows 2000) Especifica el identificador del mensaje que se va a mostrar. Si el valor de este parámetro es 0 o se omite este parámetro, el comando !lpc message muestra una lista de resumen de mensajes. (En Windows 2000 con Service Pack 1 (SP1), el resumen incluye todos los mensajes de la zona LPC. En Windows 2000 con Service Pack 2 (SP2), Windows XP y versiones posteriores de Windows, el resumen incluye todos los mensajes del grupo de kernel. No se incluyen mensajes paginados).
puerto
(Solo Windows Server 2003, Windows XP y Windows 2000) Muestra información de puerto, como el nombre del puerto, su estado de semáforo, mensajes en sus colas, subprocesos en su cola de ejecución, su recuento de identificadores, sus referencias y puertos relacionados.
escanear
(Solo Windows Server 2003, Windows XP y Windows 2000) Muestra información de resumen sobre el puerto especificado y sobre todos los puertos conectados a él.
Puerto
(Solo Windows Server 2003, Windows XP y Windows 2000) Especifica la dirección hexadecimal del puerto que se va a mostrar. Si se usa el comando !lpc port y Port es 0 o se omite, se muestra una lista de resumen de todos los puertos LPC. Si se usa el comando !lpc scan, Port debe especificar la dirección de un puerto real.
hilo
(Solo Windows Server 2003, Windows XP y Windows 2000) Muestra información de puerto para todos los puertos que contienen el subproceso especificado en sus colas de puertos de ejecución.
Hilo
(Solo Windows Server 2003, Windows XP y Windows 2000) Especifica la dirección hexadecimal del subproceso. Si se trata de 0 o se omite el comando !lpc thread muestra una lista de resumen de todos los subprocesos que realizan cualquier operación LPC.
PoolSearch
(Solo Windows Server 2003 y Windows XP) Determina si el comando !lpc message busca mensajes en el grupo de kernel. Cada vez que se usa !lpc PoolSearch, esta configuración activa o desactiva (la configuración inicial es no buscar en el grupo de kernel). Esto solo afecta a los comandos de !lpc message que especifican un valor distinto de cero para MessageID.
Archivo DLL
Kdexts.dll
Información adicional
Para obtener información sobre los LPC, consulte la documentación del Kit de controladores de Windows (WDK) y Microsoft Windows Internals de Mark Russinovich y David Solomon.
Comentarios
Esta extensión no se admite en Windows Vista ni en versiones posteriores de Windows.
En Windows Server 2003, Windows XP y Windows 2000, el uso de !lpc sin argumentos muestra ayuda para esta extensión en la ventana Comando del depurador.
Si tiene un subproceso marcado como esperando una respuesta a un mensaje, use el comando !lpc message con el identificador del mensaje retrasado. Este comando muestra el mensaje especificado, el puerto que lo contiene y todos los subprocesos relacionados.
Si no se encuentra el mensaje y no hubo errores de lectura (como "No se puede acceder al segmento de zona"), el servidor recibió el mensaje.
En este caso, el puerto del servidor normalmente se puede encontrar mediante el comando !lpc thread. Los subprocesos que esperan respuestas están vinculados a una cola de comunicación del servidor. Este comando mostrará todos los puertos que contienen el subproceso especificado. Después de conocer la dirección del puerto, use el comando !lpc port. A continuación, se puede obtener información más específica sobre cada subproceso mediante el comando !lpc threadcon la dirección de cada subproceso.
Estos son varios ejemplos de la salida de esta extensión desde un sistema Windows XP:
En este ejemplo, se muestran todos los puertos LPC de puerto.
kd> !lpc port
Scanning 225 objects
1 Port: 0xe1405650 Connection: 0xe1405650 Communication: 0x00000000 'SeRmCommandPort'
1 Port: 0xe141ef50 Connection: 0xe141ef50 Communication: 0x00000000 'SmApiPort'
1 Port: 0xe13c5740 Connection: 0xe13c5740 Communication: 0x00000000 'ApiPort'
1 Port: 0xe13d9550 Connection: 0xe13d9550 Communication: 0x00000000 'SbApiPort'
3 Port: 0xe13d8830 Connection: 0xe141ef50 Communication: 0xe13d8910 '
80000004 Port: 0xe13d8910 Connection: 0xe141ef50 Communication: 0xe13d8830 '
3 Port: 0xe13d8750 Connection: 0xe13d9550 Communication: 0xe13a4030 '
.....
En el ejemplo anterior, el puerto de la dirección e14ae238 no tiene mensajes; es decir, todos los mensajes se han recogido y no han llegado mensajes nuevos.
kd> !lpc port e14ae238
Server connection port e14ae238 Name: ApiPort
Handles: 1 References: 107
Server process : 84aa0140 (csrss.exe)
Queue semaphore : 84a96da8
Semaphore state 0 (0x0)
The message queue is empty
The LpcDataInfoChainHead queue is empty
En el ejemplo anterior, el puerto de 0xe14ae238 tiene mensajes que se han puesto en cola, pero que aún no han sido recogidos por el servidor.
kd> !lpc port 0xe14ae238
Server connection port e14ae238 Name: ApiPort
Handles: 1 References: 108
Server process : 84aa0140 (csrss.exe)
Queue semaphore : 84a96da8
Semaphore state 0 (0x0)
Messages in queue:
0000 e20d9b80 - Busy Id=0002249c From: 0584.0680 Context=00000021 [e14ae248 . e14ae248]
Length=0098007c Type=00000001 (LPC_REQUEST)
Data: 00000000 0002021e 00000584 00000680 002f0001 00000007
The message queue contains 1 messages
The LpcDataInfoChainHead queue is empty
Los ejemplos restantes de Windows XP se refieren a las otras opciones que se pueden usar con esta extensión.
kd> !lpc message 222be
Searching message 222be in threads ...
Client thread 842a4db0 waiting a reply from 222be
Searching thread 842a4db0 in port rundown queues ...
Server communication port 0xe114a3c0
Handles: 1 References: 1
The LpcDataInfoChainHead queue is empty
Connected port: 0xe1e7b948 Server connection port: 0xe14ae238
Client communication port 0xe1e7b948
Handles: 1 References: 3
The LpcDataInfoChainHead queue is empty
Server connection port e14ae238 Name: ApiPort
Handles: 1 References: 107
Server process : 84aa0140 (csrss.exe)
Queue semaphore : 84a96da8
Semaphore state 0 (0x0)
The message queue is empty
The LpcDataInfoChainHead queue is empty
Done.
kd> !lpc thread 842a4db0
Searching thread 842a4db0 in port rundown queues ...
Server communication port 0xe114a3c0
Handles: 1 References: 1
The LpcDataInfoChainHead queue is empty
Connected port: 0xe1e7b948 Server connection port: 0xe14ae238
Client communication port 0xe1e7b948
Handles: 1 References: 3
The LpcDataInfoChainHead queue is empty
Server connection port e14ae238 Name: ApiPort
Handles: 1 References: 107
Server process : 84aa0140 (csrss.exe)
Queue semaphore : 84a96da8
Semaphore state 0 (0x0)
The message queue is empty
The LpcDataInfoChainHead queue is empty
kd> !lpc scan e13d8830
Scanning 225 objects
3 Port: 0xe13d8830 Connection: 0xe141ef50 Communication: 0xe13d8910 '
80000004 Port: 0xe13d8910 Connection: 0xe141ef50 Communication: 0xe13d8830 '
Scanning 3 objects