Поделиться через


Типизированные данные

Платформа расширения EngExtCpp предоставляет несколько классов для управления памятью целевого объекта. Класс ExtRemoteData описывает небольшой фрагмент памяти целевого объекта. Если тип этой памяти известен, она называется типизированными данными и описывается объектами ExtRemoteTyped .

Списки Windows можно перебора с помощью ExtRemoteList и, если тип объектов в списке известен, ExtRemoteTypedList.

Примечание Как и клиентские объекты в ExtExtension, экземпляры этих классов допустимы только в том случае, если библиотека расширений используется для выполнения команды расширения или форматирования структуры для выходных данных. В частности, они не должны кэшироваться. Дополнительные сведения о допустимости клиентских объектов см. в разделе Клиентские объекты и обработчик, .

Удаленные данные

Удаленные данные должны обрабатываться с помощью класса ExtRemoteData. Этот класс представляет собой оболочку для небольшой части памяти целевого объекта. ExtRemoteData автоматически извлекает память и заключает в оболочку другие распространенные запросы с помощью методов создания.

Удаленные типизированные данные

Если тип удаленных данных известен, их следует обрабатывать с помощью класса ExtRemoteTyped . Этот класс является расширенным удаленным объектом данных, который понимает данные, типизированные с помощью сведений о типах из символов. Он инициализируется определенным объектом с помощью символа или приведения, после чего его можно использовать как объект заданного типа.

Удаленные списки

Для обработки удаленных списков используйте класс ExtRemoteList . Этот класс можно использовать для отдельно связанного или удвояемого списка. Если список связан вдвойне, предполагается, что предыдущий указатель сразу же следует за следующим указателем. Класс содержит методы, которые могут выполнять итерацию по списку и извлекать узлы вперед и назад. ExtRemoteList также можно использовать со списками, завершаемых null или циклическими списками.

Удаленные типизированные списки

Для обработки удаленных списков, когда тип узлов в списке известен, используйте класс ExtRemoteTypedList . Это расширенная версия ExtRemoteList. Помимо основных функциональных возможностей ExtRemoteList, ExtRemoteTypedList автоматически определяет смещения ссылок из сведений о типе.