次の方法で共有


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 値。

戻り値

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

実装

例外

このシーケンスの 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 パラメーター値に依存します。

適用対象