WriteLogRestartArea-Funktion (clfsw32.h)
Fügt einen neuen Clientneustartbereich an ein Protokoll an und erhöht optional die Basisprotokollsequenznummer (Base Log Sequence Number, LSN) des Protokolls.
Nachdem es erfolgreich auf einen Datenträger geschrieben wurde, wird der letzte LSN des Protokolls in den LSN des angefügten Neustartdatensatzes geändert. In der Regel wird WriteLogRestartArea von Anwendungen verwendet, die regelmäßig einen bekannten guten Zustand speichern, und der Neustartbereich enthält die LSNs für vorhandene Protokolldatensatzketten.
Syntax
CLFSUSER_API BOOL WriteLogRestartArea(
[in, out] PVOID pvMarshal,
[in] PVOID pvRestartBuffer,
[in] ULONG cbRestartBuffer,
[in, optional] PCLFS_LSN plsnBase,
[in] ULONG fFlags,
[out, optional] PULONG pcbWritten,
[out, optional] PCLFS_LSN plsnNext,
[in, out, optional] LPOVERLAPPED pOverlapped
);
Parameter
[in, out] pvMarshal
Ein Zeiger auf den Marshallkontext, der mithilfe der CreateLogMarshallingArea-Funktion zugeordnet wird.
[in] pvRestartBuffer
Ein Zeiger auf einen Puffer, der Neustartdaten enthält.
[in] cbRestartBuffer
Die Größe von pvRestartBuffer in Bytes.
[in, optional] plsnBase
Ein Zeiger auf eine CLFS_LSN-Struktur , die den neuen Basis-LSN des Protokolls angibt, nachdem der Neustartbereich erfolgreich geschrieben wurde.
Dieser Wert darf nicht außerhalb des Bereichs des aktiven Protokolls liegen. Es muss mindestens der Wert des aktuellen Basis-LSN sein und darf nicht größer als der LSN sein, der im lastLSN-Parameter aus dem letzten Aufruf von ReserveAndAppendLog zurückgegeben wurde. Wenn Sie diesen optionalen Parameter weglassen, ändert sich der Basis-LSN nicht.
[in] fFlags
Die Flags, die das Verhalten dieser Funktion angeben.
Ein oder mehrere der folgenden Werte können kombiniert werden.
Wert | Bedeutung |
---|---|
|
Weist keine Flags zu. |
|
Fügt den aktuellen Datensatz unter Verwendung des reservierten Speicherplatzes im Marshallbereich an. |
[out, optional] pcbWritten
Ein Zeiger auf eine Variable, die die Anzahl der Bytes empfängt, die geschrieben werden, wenn ein Vorgang abgeschlossen ist.
[out, optional] plsnNext
Ein Zeiger auf eine CLFS_LSN-Struktur , die den LSN des geschriebenen Neustartbereichs angibt.
[in, out, optional] pOverlapped
Ein Zeiger auf eine Struktur OVERLAPPED.
Dieser Parameter kann NULL sein, wenn kein asynchroner Vorgang verwendet wird.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
In der folgenden Liste werden die möglichen Fehlercodes identifiziert:
Hinweise
WriteLogRestartArea bewirkt sowohl eine Leerung aller aktuellen gepufferten Protokolldatensätze als auch eine Leerung der Protokollmetadaten.
Wenn ein Client WriteLogRestartArea für ein Protokoll aufruft, das zur Unterstützung asynchroner Vorgänge erstellt wird (z. B. wenn der fFlagsAndAttributes-Parameter von CreateLogFile beim Erstellen des Protokolls auf FILE_FLAG_OVERLAPPED festgelegt ist), muss der Client einen Zeiger auf eine gültige OVERLAPPED-Struktur im pOverlapped-Parameter von WriteLogRestartArea bereitstellen.
Wenn WriteLogRestartArea dann mit dem Fehler ERROR_IO_PENDING fehlschlägt, wird ein Zeiger auf einen gültigen Lesekontext in der Variablen platziert, auf die der ppvReadContext-Parameter verweist.
Um den Aufruf abzuschließen, sollte der Client seine Ausführung mit verzögertem Abschluss des überlappenden E/A-Vorgangs mithilfe von GetOverlappedResult oder einer der Synchronisierungswartefunktionen synchronisieren. Weitere Informationen finden Sie unter Synchronisierung und überlappende Eingabe und Ausgabe.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | clfsw32.h |
Bibliothek | Clfsw32.lib |
DLL | Clfsw32.dll |