ClfsReadLogRecord, fonction (wdm.h)
Le ClfsReadLogRecord routine lit un enregistrement cible dans un flux CLFS et retourne un contexte de lecture que l’appelant peut utiliser pour lire les enregistrements précédents ou les suivre dans le flux.
Syntaxe
CLFSUSER_API NTSTATUS ClfsReadLogRecord(
[in] PVOID pvMarshalContext,
[in, out] PCLFS_LSN plsnFirst,
[in] CLFS_CONTEXT_MODE peContextMode,
[out] PVOID *ppvReadBuffer,
[out] PULONG pcbReadBuffer,
[out] PCLFS_RECORD_TYPE peRecordType,
[out] PCLFS_LSN plsnUndoNext,
[out] PCLFS_LSN plsnPrevious,
[out] PVOID *ppvReadContext
);
Paramètres
[in] pvMarshalContext
Pointeur vers un contexte opaque qui représente une zone de marshaling. L’appelant a obtenu précédemment ce pointeur en appelant ClfsCreateMarshallingArea.
[in, out] plsnFirst
Pointeur vers une structure CLFS_LSN qui fournit le LSN de l’enregistrement cible dans le journal.
[in] peContextMode
Valeur de l’énumération CLFS_CONTEXT_MODE qui spécifie le mode initial (ClfsContextUndoNext, ClfsContextPrevious ou ClfsContextForward) du contexte de lecture retourné dans ppvReadContext.
[out] ppvReadBuffer
Pointeur vers une variable qui reçoit un pointeur vers la mémoire tampon de données de l’enregistrement cible.
[out] pcbReadBuffer
Pointeur vers une variable typée ULONG qui reçoit la taille, en octets, de la mémoire tampon pointée par *ppvReadBuffer. Il s’agit de la longueur de la mémoire tampon de données de l’enregistrement cible.
[out] peRecordType
Pointeur vers une variable de type CLFS_RECORD_TYPE qui reçoit l’une des valeurs suivantes.
Valeur | Signification |
---|---|
ClfsDataRecord | L’enregistrement cible est un enregistrement de données. |
ClfsRestartRecord | L’enregistrement cible est un enregistrement de redémarrage. |
[out] plsnUndoNext
Pointeur vers une structure CLFS_LSN qui reçoit l’undo-next LSN de l’enregistrement cible.
[out] plsnPrevious
Pointeur vers une structure CLFS_LSN qui reçoit le LSN précédent de l’enregistrement cible.
[out] ppvReadContext
Pointeur vers une variable qui reçoit un pointeur vers un contexte de lecture opaque. Le client transmet à plusieurs reprises ce contexte à ClfsReadNextLogRecord pour lire les enregistrements restants dans une séquence. Une fois que le client a lu tous les enregistrements de la séquence, il appelle ClfsTerminateReadLog pour libérer le contexte de lecture.
Valeur de retour
ClfsReadLogRecord retourne STATUS_SUCCESS si elle réussit ; sinon, elle retourne l’un des codes d’erreur définis dans Ntstatus.h.
Remarques
Vous devez appeler ClfsTerminateReadLog lorsque vous avez terminé d’utiliser le contexte de lecture pour éviter une fuite de mémoire.
Pour obtenir une explication des concepts et de la terminologie CLFS, consultez Common Log File System.
Pour plus d’informations sur la lecture d’enregistrements à partir de flux CLFS, consultez Lecture d’enregistrements de données à partir d’un flux CLFS et lecture d’enregistrements de redémarrage à partir d’un flux CLFS.
Les contextes de lecture ne sont pas thread-safe. Les clients sont responsables de la sérialisation de l’accès aux contextes de lecture.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows Server 2003 R2, Windows Vista et versions ultérieures de Windows. |
plateforme cible | Bureau |
d’en-tête | wdm.h (include Wdm.h) |
bibliothèque | Clfs.lib |
DLL | Clfs.sys |
IRQL | <= APC_LEVEL |