次の方法で共有


IDebugDataSpaces4::ReadUnicodeStringVirtual メソッド (dbgeng.h)

ReadUnicodeStringVirtual メソッドは、null で終わる Unicode 文字列をターゲットから読み取り、マルチバイト文字列に変換します。

構文

HRESULT ReadUnicodeStringVirtual(
  [in]            ULONG64 Offset,
  [in]            ULONG   MaxBytes,
  [in]            ULONG   CodePage,
  [out, optional] PSTR    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
メソッドは正常に実行されました。 ただし、 Buffer は文字列を保持するのに十分な大きさではなく、文字列は Buffer に収まるように切り捨てられました。 Buffer に少なくとも 1 文字のスペースがある場合、切り捨てられた文字列は null で終わる。
E_INVALIDARG
ターゲットから MaxBytes を読み取った後に null 終端記号が見つかりませんでした。
 

このメソッドは、エラー値を返すこともできます。 詳細については、「 戻り値 」を参照してください。

注釈

エンジンはターゲットから 最大 MaxBytes を読み取り、null 終端記号を探します。 文字列に BufferSize 文字を超える文字が含まれている場合、文字列は Buffer に収まるように切り捨てられます。

要件

要件
対象プラットフォーム デスクトップ
Header dbgeng.h (Dbgeng.h、Winnls.h を含む)

こちらもご覧ください

IDebugDataSpaces4

ReadMultiByteStringVirtual

ReadUnicodeStringVirtualWide