IDebugDataSpaces4::ReadMultiByteStringVirtualWide 方法 (dbgeng.h)
ReadMultiByteStringVirtualWide 方法會從目標讀取以 Null 結尾的多位元組字串,並將其轉換為 Unicode。
語法
HRESULT ReadMultiByteStringVirtualWide(
[in] ULONG64 Offset,
[in] ULONG MaxBytes,
[in] ULONG CodePage,
[out, optional] PWSTR Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG StringBytes
);
參數
[in] Offset
指定行程虛擬位址空間中字串的位置。
[in] MaxBytes
指定要從目標讀取的最大位元元組數目。
[in] CodePage
指定要用來將從目標讀取的多位元組位元串轉換成 Unicode 字串的代碼頁。 例如,CP_ACP是 ANSI 代碼頁。
[out, optional] Buffer
從目標接收字串。 如果 Buffer 為 NULL,則不會傳回此資訊。
[in] BufferSize
指定 緩衝區 緩衝區的大小,以字元為單位。
[out, optional] StringBytes
接收目標中字串的大小,以位元組為單位。 如果 StringBytes 為 NULL,則不會傳回這項資訊。
傳回值
傳回碼 | 描述 |
---|---|
|
此方法成功。 |
|
方法未成功。 |
|
從目標讀取 MaxBytes 之後,找不到 Null 終止符。 |
這個方法也可以傳回錯誤值。 如需詳細資訊,請參閱 傳回值 。
備註
引擎會從目標讀取最多 MaxBytes ,以尋找 Null 終止符。 如果字串超過 BufferSize 字元,則會截斷字串以符合 Buffer。
請注意,即使傳回S_OK,緩衝區可能不夠大,無法儲存字元串。 在此情況下,字串會被截斷以符合 Buffer。 如果 Buffer 有至少一個字元的空間,則截斷字串會以 Null 結束。 呼叫傳回之後,請檢查 *StringBytes 是否大於 BufferSize。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | dbgeng.h (包括 Dbgeng.h、Winnls.h) |