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 указывает, что не удалось прочитать строку в указанном максимальном количестве символов.

Применяется к