DkmProcess.ReadMemoryString(UInt64, DkmReadMemoryFlags, UInt16, Int32) 方法

定义

从目标进程进程的内存中读取以 null 结尾的字符串。 这可用于读取 ANSI 或 Unicode (UTF-8、UTF-16 或 UTF-32) 字符串。

public:
 cli::array <System::Byte> ^ ReadMemoryString(System::UInt64 Address, Microsoft::VisualStudio::Debugger::DkmReadMemoryFlags Flags, System::UInt16 CharacterSize, int MaxCharacters);
public:
 Platform::Array <byte> ^ ReadMemoryString(unsigned long long Address, Microsoft::VisualStudio::Debugger::DkmReadMemoryFlags Flags, unsigned short CharacterSize, int MaxCharacters);
std::Array <byte> ReadMemoryString(unsigned long Address, Microsoft::VisualStudio::Debugger::DkmReadMemoryFlags Flags, unsigned short CharacterSize, int MaxCharacters);
public byte[] ReadMemoryString (ulong Address, Microsoft.VisualStudio.Debugger.DkmReadMemoryFlags Flags, ushort CharacterSize, int MaxCharacters);
member this.ReadMemoryString : uint64 * Microsoft.VisualStudio.Debugger.DkmReadMemoryFlags * uint16 * int -> byte[]
Public Function ReadMemoryString (Address As ULong, Flags As DkmReadMemoryFlags, CharacterSize As UShort, MaxCharacters As Integer) As Byte()

参数

Address
UInt64

中从中读取目标进程的内存的基址。

Flags
DkmReadMemoryFlags

中控制 DkmProcess ReadMemory 和 DkmProcess 的行为的标志。

CharacterSize
UInt16

中每个字符中的字节数。 应将此项设置为 1 (ANSI/UTF-8) ,2 (UTF-16) 或 4 (32) 。

MaxCharacters
Int32

中要从目标进程中读取的最大字符数。 当 DkmReadMemoryFlags 为 false 时,如果在此范围内找不到空终止符,请求将失败。 此值应该合理。 Microsoft 实现将对超过 25 Mb 的字符串内存的任何请求失败。

返回

Byte[]

弄从目标进程中读取的字符串的值。 如果 DkmReadMemoryFlags AllowPartialRead,则此内存将始终包含 null 终止字符。 如果已指定 DkmReadMemoryFlags,则在读取被截断的情况下,此缓冲区将不包含 null 终止字符。

例外

E_STRING_TOO_LONG 指示无法在指定的最大字符数内读取字符串。

适用于