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 に少なくとも 1 文字のスペースがある場合、切り捨てられた文字列は null で終わる。 呼び出しが戻った後、チェックして、*StringBytes が BufferSize より大きいかどうかを確認します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | dbgeng.h (Dbgeng.h、Winnls.h を含む) |