Freigeben über


ClfsReadLogRecord-Funktion (wdm.h)

Die ClfsReadLogRecord Routine liest einen Zieldatensatz in einem CLFS-Datenstrom und gibt einen Lesekontext zurück, den der Aufrufer verwenden kann, um die datensätze vor oder nach dem Datenstrom zu lesen.

Syntax

CLFSUSER_API NTSTATUS ClfsReadLogRecord(
  [in]      PVOID             pvMarshalContext,
  [in, out] PCLFS_LSN         plsnFirst,
  [in]      CLFS_CONTEXT_MODE peContextMode,
  [out]     PVOID             *ppvReadBuffer,
  [out]     PULONG            pcbReadBuffer,
  [out]     PCLFS_RECORD_TYPE peRecordType,
  [out]     PCLFS_LSN         plsnUndoNext,
  [out]     PCLFS_LSN         plsnPrevious,
  [out]     PVOID             *ppvReadContext
);

Parameter

[in] pvMarshalContext

Ein Zeiger auf einen undurchsichtigen Kontext, der einen Marshallbereich darstellt. Der Aufrufer hat diesen Zeiger zuvor durch Aufrufen ClfsCreateMarshallingAreaabgerufen.

[in, out] plsnFirst

Ein Zeiger auf eine CLFS_LSN Struktur, die den LSN des Zieldatensatzes im Protokoll bereitstellt.

[in] peContextMode

Ein Wert aus der CLFS_CONTEXT_MODE Enumeration, der den Anfangsmodus (ClfsContextUndoNext, ClfsContextPrevious oder ClfsContextForward) des lesekontexts angibt, der in ppvReadContext-zurückgegeben wird.

[out] ppvReadBuffer

Ein Zeiger auf eine Variable, die einen Zeiger auf den Datenpuffer des Zieldatensatzes empfängt.

[out] pcbReadBuffer

Ein Zeiger auf eine ULONG-Typvariable, die die Größe des Puffers in Bytes empfängt, auf den *ppvReadBufferverweist. Dies ist die Länge des Datenpuffers des Zieldatensatzes.

[out] peRecordType

Ein Zeiger auf eine Variable vom Typ CLFS_RECORD_TYPE, die einen der folgenden Werte empfängt.

Wert Bedeutung
ClfsDataRecord- Der Zieldatensatz ist ein Datensatz.
ClfsRestartRecord- Der Zieldatensatz ist ein Neustartdatensatz.

[out] plsnUndoNext

Ein Zeiger auf eine CLFS_LSN Struktur, die den rückgängig-nächsten LSN des Zieldatensatzes empfängt.

[out] plsnPrevious

Ein Zeiger auf eine CLFS_LSN-Struktur, die den vorherigen LSN des Zieldatensatzes empfängt.

[out] ppvReadContext

Ein Zeiger auf eine Variable, die einen Zeiger auf einen undurchsichtigen Lesekontext empfängt. Der Client übergibt diesen Kontext wiederholt an ClfsReadNextLogRecord, um die verbleibenden Datensätze in einer Sequenz zu lesen. Nachdem der Client alle Datensätze in der Sequenz gelesen hat, ruft er ClfsTerminateReadLog- auf, um den Lesekontext freizugeben.

Rückgabewert

ClfsReadLogRecord gibt STATUS_SUCCESS zurück, wenn sie erfolgreich ist; andernfalls wird eine der fehlercodes zurückgegeben, die in Ntstatus.h definiert sind.

Bemerkungen

Sie müssen ClfsTerminateReadLog- aufrufen, wenn Sie den Lesekontext abgeschlossen haben, um einen Speicherverlust zu vermeiden.

Eine Erläuterung der CLFS-Konzepte und -Terminologie finden Sie unter Common Log File System.

Informationen zum Lesen von Datensätzen aus CLFS-Streams finden Sie unter Lesen von Datensätzen aus einem CLFS Stream- und Lesen von Neustartdatensätzen aus einem CLFS-Stream-.

Lesekontexte sind nicht threadsicher. Clients sind für die Serialisierung des Zugriffs auf Lesekontexte verantwortlich.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows Server 2003 R2, Windows Vista und höheren Versionen von Windows.
Zielplattform- Desktop
Header- wdm.h (include Wdm.h)
Library Clfs.lib
DLL- Clfs.sys
IRQL- <= APC_LEVEL

Siehe auch

ClfsReadNextLogRecord

ClfsTerminateReadLog-