Fonction WriteLogRestartArea (clfsw32.h)

Ajoute une nouvelle zone de redémarrage du client à un journal et avance éventuellement le numéro de séquence de journal de base (LSN) du journal.

Une fois qu’il a été correctement écrit sur un disque, le dernier LSN du journal est remplacé par le LSN de l’enregistrement de redémarrage ajouté. En règle générale, WriteLogRestartArea est utilisé par les applications qui enregistrent régulièrement un état correct connu, et la zone de redémarrage contient les LSN pour les chaînes d’enregistrements de journal existantes.

Syntaxe

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
);

Paramètres

[in, out] pvMarshal

Pointeur vers le contexte de marshaling alloué à l’aide de la fonction CreateLogMarshallingArea .

[in] pvRestartBuffer

Pointeur vers une mémoire tampon qui contient des données de redémarrage.

[in] cbRestartBuffer

Taille de pvRestartBuffer, en octets.

[in, optional] plsnBase

Pointeur vers une structure CLFS_LSN qui spécifie le nouveau LSN de base du journal après avoir correctement écrit la zone de redémarrage.

Cette valeur ne peut pas être en dehors de la plage du journal actif. Il doit être au moins la valeur du LSN de base actuel et ne pas être supérieur au LSN retourné dans le paramètre lastLSN à partir du dernier appel à ReserveAndAppendLog. Si vous omettez ce paramètre facultatif, le LSN de base ne change pas.

[in] fFlags

Indicateurs qui spécifient le comportement de cette fonction.

Une ou plusieurs des valeurs suivantes peuvent être combinées.

Valeur Signification
CLFS_FLAG_NO_FLAGS
N’affecte aucun indicateur.
CLFS_FLAG_USE_RESERVATION
Ajoute l’enregistrement actif à l’aide de l’espace réservé dans la zone de marshaling.

[out, optional] pcbWritten

Pointeur vers une variable qui reçoit le nombre d’octets écrits à la fin d’une opération.

[out, optional] plsnNext

Pointeur vers une structure CLFS_LSN qui spécifie le LSN de la zone de redémarrage écrite.

[in, out, optional] pOverlapped

Pointeur vers une structure OVERLAPPED.

Ce paramètre peut avoir la valeur NULL si aucune opération asynchrone n’est utilisée.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

La liste suivante identifie les codes d’erreur possibles :

Remarques

WriteLogRestartArea provoque à la fois un vidage de tous les enregistrements de journal mis en mémoire tampon actuels et un vidage des métadonnées du journal.

Si un client appelle WriteLogRestartArea sur un journal créé pour prendre en charge les opérations asynchrones (par exemple, si le paramètre fFlagsAndAttributes de CreateLogFile est défini sur FILE_FLAG_OVERLAPPED lors de la création du journal), le client doit fournir un pointeur vers une structure OVERLAPPED valide dans le paramètre pOverlapped de WriteLogRestartArea.

Ensuite, si WriteLogRestartArea échoue avec une erreur de ERROR_IO_PENDING, un pointeur vers un contexte de lecture valide est placé dans la variable vers laquelle pointe le paramètre ppvReadContext .

Pour terminer l’appel, le client doit synchroniser son exécution avec l’achèvement différé de l’opération d’E/S qui se chevauche à l’aide de GetOverlappedResult ou de l’une des fonctions d’attente de synchronisation. Pour plus d’informations, consultez Synchronisation et entrées et sorties qui se chevauchent.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête clfsw32.h
Bibliothèque Clfsw32.lib
DLL Clfsw32.dll

Voir aussi

CLFS_LSN

Fonctions courantes du système de fichiers journaux

OVERLAPPED