Méthode ILog ::AppendRecord (txlogpub.h)
Écrivez un nouvel enregistrement à la fin du journal.
Syntaxe
HRESULT AppendRecord(
[in] BLOB *rgBlob,
[in] ULONG cBlob,
[in] BOOL fForceNow,
[in, out] LSN *plsn
);
Paramètres
[in] rgBlob
Pointeur vers un tableau de blobs de données à écrire.
[in] cBlob
Taille du tableau rgBlob , en éléments.
[in] fForceNow
Indique s’il faut forcer les données sur le disque. Si la valeur est TRUE, le contenu de la connexion à cet enregistrement doit être forcé sur le disque avant le retour de l’appel. Si la valeur est FALSE, cet enregistrement peut être mis en mémoire tampon pour être écrit après le retour de l’appel.
[in, out] plsn
Pointeur vers le numéro LSN de l’enregistrement nouvellement ajouté. Si le numéro LSN de l’enregistrement nouvellement ajouté n’est pas nécessaire, ce paramètre peut être NULL.
Valeur retournée
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
Chaque enregistrement de journal écrit ou lu par ILog est un objet BLOB opaque de données. Pour des raisons pratiques pour les appelants, AppendRecord permet la concaténéité de plusieurs objets BLOB en un seul enregistrement ; Étant donné que de nombreuses implémentations d’ILog copient des enregistrements dans une mémoire tampon, il peut être inefficace pour l’appelant d’allouer de la mémoire pour concaténer les parties d’un enregistrement. Toutefois, une fois qu’un enregistrement est ajouté au journal, ILog ne fournit aucune méthode pour extraire des objets BLOB individuels de l’enregistrement. Il incombe à l’appelant d’analyser les données dans les enregistrements lus à partir du journal. Consultez ILog ::ReadRecord.
Remarques aux appelants
Une valeur de retour d’échec indique que tous les enregistrements ajoutés au journal depuis la dernière fois qu’il a été correctement forcé ne sont pas garantis sur le disque. L’interface ILog ne fournit pas de méthode permettant de déterminer quels enregistrements ont été correctement écrits sur le disque. Si vous avez besoin de savoir quels enregistrements ont été correctement écrits sur le disque, vous devez forcer le journal pour chaque enregistrement.Remarques aux implémenteurs
Si fForceNow a la valeur TRUE, il est recommandé de vider les mémoires tampons de fichiers (par exemple, à l’aide de la fonction FlushFileBuffers ) avant de revenir à partir de cette méthode.Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | txlogpub.h |