Ver Mensaje Individual
  #7  
Antiguo 29-04-2008
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Reputación: 18
rolandoj Va por buen camino
El impacto de no liberar la memoria

Hola Khronos,

Pués sigo estancado en el error. No ha habido forma de encontrar una explicación de la falla de los programas al liberar la memoria con VirtualFreeEx.

Ante eso, sin recurrir a tú solución, me queda la alternativa de no liberar la memoria. En principio, el impacto de ello parece despreciable, Mi rutina ocupa 56 bytes, por tanto, se necesitaría llamarla mil veces seguídas para generar un excedente de 56000 bytes en un proceso. Considerando la frecuencia con la que se llama, es casi imposible aproximarse a esa cifra sin que al menos se haya cerrado sesión.

Las pruebas que he hecho no indican que dejar esa memoria sin liberar pueda generar algún problema; por tanto, aunque burda, parece una solución viable. Sin embargo, no estoy tan convencido. Se te ocurre algo que pudiera pasar muy a largo plazo ?

Respecto a tú solución, como verás, el hecho de que no me anime mucho a usarla es, aparte de que obliga a recodificar, por la diferencia de eficiencia. Aquí solo paso 56 bytes al otro proceso; en el otro método hay que cargar y descargar DLLs.

Eso sí, encuentro muy interesantes algunos puntos de tú método; entre ellos EnabledDebugPrivilege. No he tenido tiempo de investigarla a fondo; pero, esta rutina aparentemente asigna privilegios al proceso actual, o sea a mi propio proceso. Lo que no entiendo es que impacto tiene en el método de cargar el DLL
Responder Con Cita