Datos con tipo
El marco de extensión EngExtCpp proporciona algunas clases para ayudar a manipular la memoria del destino. La clase ExtRemoteData describe una pequeña parte de la memoria del destino. Si se conoce el tipo de esta memoria, se conoce como datos con tipo y se describe mediante objetos ExtRemoteTyped .
Las listas de Windows se pueden iterar mediante ExtRemoteList y, si se conoce el tipo de los objetos de la lista, ExtRemoteTypedList.
Nota Al igual que los objetos cliente de ExtExtension, las instancias de estas clases solo son válidas mientras la biblioteca de extensiones se usa para ejecutar un comando de extensión o dar formato a una estructura para la salida. En concreto, no deben almacenarse en caché. Para obtener más información sobre cuándo los objetos de cliente son válidos, vea Objetos de cliente y motor, .
Datos remotos
Los datos remotos se deben controlar mediante la clase ExtRemoteData. Esta clase es un contenedor alrededor de una pequeña sección de la memoria de un destino. ExtRemoteData recupera automáticamente la memoria y ajusta otras solicitudes comunes con métodos de lanzamiento.
Datos con tipo remoto
Si se conoce el tipo de datos remotos, se debe controlar mediante la clase ExtRemoteTyped . Esta clase es un objeto de datos remoto mejorado que entiende los datos con información de tipos de símbolos. Se inicializa en un objeto determinado por símbolo o conversión, después de lo cual se puede usar como un objeto del tipo especificado.
Listas remotas
Para controlar listas remotas, use la clase ExtRemoteList . Esta clase se puede usar para una lista vinculada o doblemente vinculada. Si la lista está doblemente vinculada, se supone que el puntero anterior sigue inmediatamente al siguiente puntero. La clase contiene métodos que pueden iterar en la lista y recuperar nodos tanto hacia delante como hacia atrás. ExtRemoteList también se puede usar con listas circulares o terminadas en null.
Listas con tipo remoto
Para controlar las listas remotas cuando se conoce el tipo de los nodos de la lista, use la clase ExtRemoteTypedList . Se trata de una versión mejorada de ExtRemoteList. Además de la funcionalidad básica de ExtRemoteList, ExtRemoteTypedList determina automáticamente los desplazamientos de vínculo de la información de tipo.