2008-11-02 6 views
8

Nuestra aplicación está obteniendo un error RPC de llamada del sistema de DCOM (0x80010100), sospechamos que la cola de mensajes del hilo de destino está llena (aunque no estoy seguro de que esto sea cierto). Sé que la cola es limited to 10,000 messages y quiero ver si estamos cerca de este número en los casos comunes. ¿Hay alguna manera de controlar el tamaño de la cola de mensajes de un hilo?¿Puedo controlar el tamaño de la cola de mensajes de un hilo?

La opción más prometedora que encontré fue GetQueueStatus, pero esto no incluye el número de mensajes en la cola solo sus tipos.

Respuesta

5

No conozco ninguna forma de controlar el tamaño de la cola (salvo el uso de un depurador de kernel y una reorganización en la estructura de datos Win32Thread interna en TIB + [0x40], que apenas recomiendo).

Para la depuración, para comprobar si la cola está llena cuando obtiene el error, intente hacer un PostThreadMessage. Si está lleno, la llamada debería fallar con GetLastError() == 0x718. (No hay suficiente cuota disponible para procesar este comando).

Cuestiones relacionadas