LogRecordSequence.ReadLogRecords メソッド

定義

シーケンス内のレコードの列挙可能なコレクションを返します。 このメソッドは継承できません。

public:
 virtual System::Collections::Generic::IEnumerable<System::IO::Log::LogRecord ^> ^ ReadLogRecords(System::IO::Log::SequenceNumber start, System::IO::Log::LogRecordEnumeratorType logRecordEnum);
public System.Collections.Generic.IEnumerable<System.IO.Log.LogRecord> ReadLogRecords (System.IO.Log.SequenceNumber start, System.IO.Log.LogRecordEnumeratorType logRecordEnum);
abstract member ReadLogRecords : System.IO.Log.SequenceNumber * System.IO.Log.LogRecordEnumeratorType -> seq<System.IO.Log.LogRecord>
override this.ReadLogRecords : System.IO.Log.SequenceNumber * System.IO.Log.LogRecordEnumeratorType -> seq<System.IO.Log.LogRecord>
Public Function ReadLogRecords (start As SequenceNumber, logRecordEnum As LogRecordEnumeratorType) As IEnumerable(Of LogRecord)

パラメーター

start
SequenceNumber

読み取りを開始する先頭レコードのシーケンス番号。

logRecordEnum
LogRecordEnumeratorType

LogRecordEnumeratorType からレコードを読み取る方法 (つまり、順方向または逆方向) を指定する有効な LogRecordSequence 値。

戻り値

IEnumerable<LogRecord>

シーケンス内のレコードの列挙可能なコレクション。

実装

例外

このシーケンスの start が有効ではありません。

  • または - logRecordEnum が無効です。

  • または - 指定した要素がコレクション内で見つかりませんでした。

start が、このシーケンスの基本シーケンス番号と最後のシーケンス番号との間にありません。

予期しない I/O 例外のため、要求は実行されませんでした。

  • または -

I/O デバイス エラーのため、要求は実行されませんでした。

または

ログ レコードの書き込みに使用するバッファー サイズが読み取りに使用するバッファー サイズを超えています。

  • または -

レコード シーケンスが破損しています。

  • または -

指定されたログ ファイルの形式またはバージョンが無効です。

  • または -

レコードは、レコード シーケンスと互換性がないバージョンで書き込まれました。

列挙体が開始していないため、操作が無効です。 MoveNext() を呼び出す必要があります。

シーケンスが破棄された後にメソッドが呼び出されました。

プログラムの実行を継続する十分なメモリがありません。

指定のログ シーケンスへのアクセスは、オペレーティング システムにより拒否されました。

ループ内で ReadLogRecords を使用する方法を次の例に示します。

foreach (LogRecord record in sequence1.ReadLogRecords(sequence1.BaseSequenceNumber, LogRecordEnumeratorType.Next))
{
    byte[] data = new byte[record.Data.Length];
    record.Data.Read(data, 0, (int)record.Data.Length);
    string mystr = enc.GetString(data);
    Console.WriteLine("    {0}", mystr);
}
For Each record In sequence1.ReadLogRecords(sequence1.BaseSequenceNumber, LogRecordEnumeratorType.Next)
    Dim data(record.Data.Length - 1) As Byte
    record.Data.Read(data, 0, CInt(Fix(record.Data.Length)))
    Dim mystr As String = enc.GetString(data)
    Console.WriteLine("    {0}", mystr)
Next record

注釈

このメソッドは、シーケンス内のレコードの列挙可能なコレクション。 列挙されたレコードの順序は、logRecordEnum パラメーター値に依存します。

適用対象