ClfsReadLogRecord-Funktion (wdm.h)
Die ClfsReadLogRecord-Routine liest einen Zieldatensatz in einem CLFS-Stream und gibt einen Lesekontext zurück, den der Aufrufer verwenden kann, um die Datensätze zu lesen, die dem Datenstrom vorangehen oder folgen.
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 von ClfsCreateMarshallingArea abgerufen.
[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 in ppvReadContext zurückgegebenen Lesekontexts angibt.
[out] ppvReadBuffer
Ein Zeiger auf eine Variable, die einen Zeiger auf den Datenpuffer des Zieldatensatzes empfängt.
[out] pcbReadBuffer
Ein Zeiger auf eine ULONG-typisierte Variable, die die Größe des Puffers in Bytes empfängt, auf den *ppvReadBuffer verweist. 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 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 frei zu geben.
Rückgabewert
ClfsReadLogRecord gibt bei Erfolg STATUS_SUCCESS zurück. Andernfalls wird einer der in "Ntstatus.h" definierten Fehlercodes zurückgegeben.
Hinweise
Sie müssen ClfsTerminateReadLog aufrufen, wenn Sie mit der Verwendung des Lesekontexts fertig sind, um einen Speicherverlust zu vermeiden.
Eine Erläuterung der CLFS-Konzepte und -Terminologie finden Sie unter Allgemeines Protokolldateisystem.
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 einer CLFS-Stream.
Lesekontexte sind nicht threadsicher. Clients sind für die Serialisierung des Zugriffs auf Lesekontexte verantwortlich.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Server 2003 R2, Windows Vista und höheren Versionen von Windows. |
Zielplattform | Desktop |
Kopfzeile | wdm.h (einschließen von Wdm.h) |
Bibliothek | Clfs.lib |
DLL | Clfs.sys |
IRQL | <= APC_LEVEL |