IDkmMemoryOperation.ReadMemoryString(DkmProcess, UInt64, DkmReadMemoryFlags, UInt16, Int32) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Считывает строку, завершающуюся нулем, из памяти целевого процесса процесса. Это можно использовать для чтения строк ANSI или Unicode (UTF-8, UTF-16 или UTF-32).
public:
cli::array <System::Byte> ^ ReadMemoryString(Microsoft::VisualStudio::Debugger::DkmProcess ^ process, System::UInt64 address, Microsoft::VisualStudio::Debugger::DkmReadMemoryFlags flags, System::UInt16 characterSize, int maxCharacters);
public byte[] ReadMemoryString (Microsoft.VisualStudio.Debugger.DkmProcess process, ulong address, Microsoft.VisualStudio.Debugger.DkmReadMemoryFlags flags, ushort characterSize, int maxCharacters);
abstract member ReadMemoryString : Microsoft.VisualStudio.Debugger.DkmProcess * uint64 * Microsoft.VisualStudio.Debugger.DkmReadMemoryFlags * uint16 * int -> byte[]
Public Function ReadMemoryString (process As DkmProcess, address As ULong, flags As DkmReadMemoryFlags, characterSize As UShort, maxCharacters As Integer) As Byte()
Параметры
- process
- DkmProcess
Окне Дкмпроцесс представляет целевой процесс, который отлаживается. Отладчик выполняет обработку ошибок, поэтому это основная единица отладки. Дкмпроцесс может представлять системный процесс или виртуальный процесс, например Мини-дампы.
- address
- UInt64
Окне Базовый адрес, из которого считывается память целевого процесса.
- flags
- DkmReadMemoryFlags
Окне Флаги, управляющие поведением Дкмпроцесс. ReadMemory и Дкмпроцесс. Реадмемористринг.
- characterSize
- UInt16
Окне Число байтов в каждом символе. Это значение должно быть равно 1 (ANSI/UTF-8), 2 (UTF-16) или 4 (UTF-32).
- maxCharacters
- Int32
Окне Максимальное число символов, считываемых из целевого процесса. Если Дкмреадмеморифлагс. Алловпартиалреад имеет значение false, запрос завершится ошибкой, если в этом диапазоне не найден терминатор null. Это значение должно быть разумным. Реализация Майкрософт не сможет запросить более 25 МБ памяти строки.
Возвращаемое значение
- Byte[]
Заполняет Значение строки, считанной из целевого процесса. Если Дкмреадмеморифлагс. Алловпартиалреад является очевидным, эта память всегда будет содержать завершающий символ null. Если указан Дкмреадмеморифлагс. Алловпартиалреад, этот буфер не будет содержать завершающего символа null, если чтение было усечено.
Исключения
E_STRING_TOO_LONG указывает, что не удалось прочитать строку в указанном максимальном количестве символов.