Méthode ILog ::ReadRecord (txlogpub.h)
Lire un enregistrement à partir du journal.
Syntaxe
HRESULT ReadRecord(
[in] LSN lsnToRead,
[in, out] LSN *plsnPrev,
[in, out] LSN *plsnNext,
[out] BYTE **ppbData,
[out] ULONG *pcbData
);
Paramètres
[in] lsnToRead
LSN de l’enregistrement à lire.
[in, out] plsnPrev
Pointeur vers le numéro LSN de l’enregistrement précédent (l’enregistrement qui précède immédiatement l’enregistrement à lire). Ce paramètre peut être NULL si le LSN de l’enregistrement précédent n’est pas nécessaire. Ce paramètre a la valeur 0 s’il n’y a pas d’enregistrement précédent dans le journal ou si une erreur se produit.
[in, out] plsnNext
Pointeur vers le numéro LSN de l’enregistrement suivant (l’enregistrement qui suit immédiatement l’enregistrement à lire). Ce paramètre peut être NULL si le LSN de l’enregistrement suivant n’est pas nécessaire. Ce paramètre est MAXLSN (0x7FFFFFFFFFFFFFFF) s’il n’existe aucun enregistrement suivant dans le journal. Ce paramètre est 0 si une erreur se produit.
[out] ppbData
Pointeur vers une variable qui contiendra un pointeur vers les données d’enregistrement au retour. La mémoire de ces données est allouée par ReadRecord et libérée par l’appelant (voir CoTaskMemFree). Ce paramètre a la valeur NULL si une erreur se produit.
[out] pcbData
Pointeur vers une variable qui reçoit la taille des données d’enregistrement, en octets, au retour.
Valeur retournée
Cette méthode peut retourner les valeurs suivantes, ainsi que d’autres valeurs HRESULT .
Code de retour | Description |
---|---|
|
L’enregistrement a été lu avec succès à partir du journal. |
|
lsnToRead est en dehors des limites actuelles du journal. Consultez ILog ::GetLogLimits. |
|
lsnToRead se trouve dans les limites actuelles du journal, mais il ne s’agit pas du numéro de sécurité d’un enregistrement dans le journal. |
|
L’enregistrement n’a pas été retourné en raison d’un manque de mémoire. |
Remarques
Bien que les enregistrements ajoutés au journal à l’aide de ILog ::AppendRecord puissent être concaténés à partir de plusieurs objets BLOB, ReadRecord retourne l’enregistrement en tant qu’objet blob opaque unique de données. 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 retournés par ReadRecord.
Remarques aux appelants
Si le journal contient des enregistrements très volumineux, cette méthode peut échouer, car ReadRecord n’a pas pu allouer suffisamment de mémoire pour les données d’enregistrement. Si la taille des enregistrements est limitée ou si vous n’avez besoin que d’une partie initiale de l’enregistrement, il peut être plus efficace d’appeler ILog ::ReadRecordPrefix.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 |