Saltar al contenido

A qué ‘cuota’ se hace referencia en este mensaje de excepción: No hay suficiente cuota disponible para procesar este comando

Solución:

La cantidad de recursos de Windows de un tipo específico que un proceso podría La asignación está técnicamente restringida solo por la cantidad de memoria virtual disponible para un proceso. Que puede ser un número bastante grande, especialmente en la versión de 64 bits de Windows. Algunos de estos recursos se extraen de un montón interno del que también se retiran todos los demás procesos. Todavía es un número muy grande si Windows permitiera uno proceso lo consume todo.

Lo que, por supuesto, no tiene sentido, nunca se debe permitir que un proceso se trague todos los recursos disponibles. Que es lo que hace una cuota, establece un límite superior al número contado de recursos de un cierto tipo. Los ejemplos comunes son 10,000 ventanas, 10,000 objetos GDI, 10,000 identificadores. No todos son números redondos agradables como este por cierto.

Se necesitaría saber más sobre lo que hace su llamada PostMessage (), pero una suposición razonable es que está empujando el tamaño de la cola de mensajes más allá de la cuota. Nuevamente, un recurso que técnicamente solo se limita al tamaño de la memoria virtual disponible. Pero prácticamente debería quedar bien al sur de eso. Si es preciso, está publicando mensajes más rápido de lo que se pueden consumir, se requiere limitación. Que esto sucede en el exacto El tiempo que su programa está terminando sugiere que podría ser necesaria otra explicación. Un problema de orden de cierre de hilo, tal vez.

Según MSDN:

Hay un límite de 10,000 mensajes publicados por cola de mensajes. Este límite debería ser suficientemente grande. Si su aplicación excede el límite, debe rediseñarse para evitar consumir tantos recursos del sistema. Para ajustar este límite, modifique la siguiente clave de registro.

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWindowsUSERPostMessageLimit

El valor mínimo aceptable es 4000.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *