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

從目標接收字串。 如果 BufferNULL,則不會傳回此資訊。

[in] BufferSize

指定 緩衝區 緩衝區的大小,以字元為單位。

[out, optional] StringBytes

接收目標中字串的大小,以位元組為單位。 如果 StringBytesNULL,則不會傳回這項資訊。

傳回值

傳回碼 描述
S_OK
此方法成功。
S_FALSE
方法未成功。
E_INVALIDARG
從目標讀取 MaxBytes 之後,找不到 Null 終止符。
 

這個方法也可以傳回錯誤值。 如需詳細資訊,請參閱 傳回值

備註

引擎會從目標讀取最多 MaxBytes ,以尋找 Null 終止符。 如果字串超過 BufferSize 字元,則會截斷字串以符合 Buffer

請注意,即使傳回S_OK,緩衝區可能不夠大,無法儲存字元串。 在此情況下,字串會被截斷以符合 Buffer。 如果 Buffer 有至少一個字元的空間,則截斷字串會以 Null 結束。 呼叫傳回之後,請檢查 *StringBytes 是否大於 BufferSize。

規格需求

需求
目標平台 桌面
標頭 dbgeng.h (包括 Dbgeng.h、Winnls.h)

另請參閱

IDebugDataSpaces4

ReadMultiByteStringVirtual

ReadUnicodeStringVirtualWide