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 |
---|---|
|
N’affecte aucun indicateur. |
|
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 |