次の方法で共有


IDebugMemoryBytes2::ReadAt

指定された位置から始まるバイト シーケンスを読み取ります。

構文

int ReadAt(
   IDebugMemoryContext2 pStartContext,
   uint                 dwCount,
   byte[]               rgbMemory,
   out uint             pdwRead,
   ref uint             pdwUnreadable
);

パラメーター

pStartContext
[入力] バイトの読み取りの開始位置を指定する IDebugMemoryContext2 オブジェクト。

dwCount
[入力] 読み取るバイト数。 rgbMemory 配列の長さも指定します。

rgbMemory
[入力、出力] 実際に読み取られたバイトが格納される配列。

pdwRead
[出力] 実際に読み取られた連続するバイト数を返します。

pdwUnreadable
[入力、出力] 読み取り不可能なバイト数を返します。 クライアントが読み取り不可能なバイト数を必要としない場合、null 値にすることができます。

戻り値

成功した場合は、S_OK を返します。それ以外の場合はエラー コードを返します。

解説

100 バイトが要求され、最初の 50 が読み取り可能、次の 20 が読み取り不可能、残りの 30 が読み取り可能な場合、このメソッドは次のように返します。

*pdwRead = 50

*pdwUnreadable = 20

この場合、*pdwRead + *pdwUnreadable < dwCount であるため、呼び出し元は要求された元の 100 のうち残りの 30 バイトを読み取るために追加の呼び出しを行う必要があります。また、pStartContext パラメーターで渡される IDebugMemoryContext2 オブジェクトは、70 進める必要があります。

関連項目