Ver Mensaje Individual
  #7  
Antiguo 04-10-2011
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Reputación: 18
_cero_ Va por buen camino
mmm esto ya se ha complicado demasiado, les cuento, hice una inyección simple de la instancia de un TIBDatabase en otro proceso, e incluso logre pasar un TIBDatabase a través de la memoria compartida que se crea con CreateFileMapping(copiando Byte a Byte de la instancia en memoria), en ambos casos me ocurrió lo mismo, sí que me copia la instancia de TIBDatabase a el nuevo espacio de memoria y sí que se ve conectada correctamente (claro sin necesidad de volver a conectar, lo probé con LoginPrompt a true, para ver felizmente que me conectaba sin mostrarme el dialogo de contraseña), ahora el problema viene cuando intento ocupar la copia de esa base de datos, me tira violaciones de acceso porque resulta que dentro del TIBDatabase hay más punteros aun (bastante razonable a decir verdad), y esto haría de la copia de una instancia de TIBDatabase toda una odisea (que no algo imposible), ya que esos punteros internos quedan apuntando a espacios inexistentes de memoria y de ahí las violaciones, así que me quedan dos caminos: 1 resignarme y dejar 5 conexiones, o 2 seguir viendo cómo acceder a todo el espacio de memoria de una aplicación y no solo a unas fracciones (me huele que optare por el segundo y jugare con una que otra api indocumentadas, CreateKernelThread me está haciendo ojitos).

Pd. En cualquier caso si logro acceder a todo el espacio de memoria de una apli, subiré como lo he hecho, porque valla tema más interesante con el que me he topado (gracias a escafandra).
Responder Con Cita