Partager via


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

Voir aussi

FlushFileBuffers

Ilog