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
ターゲットから文字列を受け取ります。 バッファー が NULL 場合、この情報は返されません。
[in] BufferSize
バッファー バッファーのサイズを文字数で指定します。
[out, optional] StringBytes
ターゲット内の文字列のサイズ (バイト単位) を受け取ります。 StringBytes が NULL 場合、この情報は返されません。
戻り値
| リターン コード | 形容 |
|---|---|
|
メソッドが成功しました。 |
|
メソッドが正常に実行されませんでした。 |
|
ターゲットから MaxBytes 読み取った後、null ターミネータが見つかりませんでした。 |
このメソッドは、エラー値を返すこともできます。 詳細については 戻り値の を参照してください。
備考
エンジンは、ターゲットから最大 MaxBytes を読み取り、null ターミネータを探します。 文字列に BufferSize 文字を超える文字が含まれている場合は、バッファー に収まるように文字列切り捨てられます。
S_OKが返された場合でも、バッファーが文字列を格納するのに十分な大きさになっていない可能性があることに注意してください。 この場合、文字列は Bufferに収まるように切り捨てられます。 Buffer に少なくとも 1 文字のスペースがある場合、切り捨てられた文字列は null で終了します。 呼び出しが戻った後、*StringBytes が BufferSize より大きいかどうかを確認します。
必要条件
| 要件 | 価値 |
|---|---|
| ターゲット プラットフォーム の | デスクトップ |
| ヘッダー | dbgeng.h (Dbgeng.h、Winnls.h を含む) |
関連項目
ReadMultiByteStringVirtual の