DumpLogRecords, fonction (clfsw32.h)
Analyse un journal spécifié ; filtre les enregistrements de journal en fonction du type d’enregistrement ; et place les enregistrements dans un flux de fichier de sortie que l’appelant ouvre.
Syntaxe
CLFSUSER_API BOOL DumpLogRecords(
[in] PWSTR pwszLogFileName,
[in] CLFS_RECORD_TYPE fRecordType,
[in, optional] PCLFS_LSN plsnStart,
[in, optional] PCLFS_LSN plsnEnd,
[in, optional] PFILE pstrmOut,
[in, optional] CLFS_PRINT_RECORD_ROUTINE pfnPrintRecord,
[in, optional] CLFS_BLOCK_ALLOCATION pfnAllocBlock,
[in, optional] CLFS_BLOCK_DEALLOCATION pfnFreeBlock,
[in, optional] PVOID pvBlockAllocContext,
[in] ULONG cbBlock,
[in] ULONG cMaxBlocks
);
Paramètres
[in] pwszLogFileName
Nom du flux de journal.
Ce nom est spécifié lorsque vous créez le journal à l’aide de CreateLogFile. L’exemple suivant identifie le format à utiliser :
rapport:<nom du>journal[ ::nom du< flux de journal]>
<nom> du journal correspond à un chemin d’accès de fichier valide dans le système de fichiers.
<nom >du flux de journal est le nom unique d’un flux de journal dans le journal.
Pour plus d’informations, consultez Types de journaux.
[in] fRecordType
Type d’enregistrements à lire.
Ce paramètre peut être une ou plusieurs des constantes CLFS_RECORD_TYPE suivantes.
[in, optional] plsnStart
Pointeur vers un CLFS_LSN qui spécifie le numéro séquentiel du journal (LSN) de départ pour la séquence de vidage du journal.
Si ce paramètre est spécifié, le LSN doit être l’adresse d’un enregistrement de journal valide dans la partie active du journal ; sinon, l’appel échoue avec status ERROR_INVALID_PARAMETER.
Si ce paramètre n’est pas spécifié, le début de la séquence de vidage est le début du journal actif.
[in, optional] plsnEnd
Pointeur vers un CLFS_LSN qui spécifie le LSN où la séquence de vidage doit se terminer.
Si ce LSN dépasse la fin de la plage LSN, la fonction retourne ERROR_HANDLE_EOF.
Contrairement à plsnStart, cette valeur n’a pas besoin d’être le LSN d’un enregistrement valide dans le journal actif, mais il peut s’agir d’un LSN valide. Seuls les enregistrements dont la valeur LSN est inférieure ou égale à plsnEnd sont placés dans le flux de sortie.
Si ce paramètre a la valeur NULL, la fonction de vidage utilise le dernier LSN dans le journal actif (en tête du journal).
[in, optional] pstrmOut
Pointeur vers un flux de sortie ouvert où les enregistrements de journal sont placés.
Si ce paramètre n’est pas spécifié, « stdout » est utilisé comme valeur par défaut.
[in, optional] pfnPrintRecord
Routine de rappel définie par l’utilisateur qui met en forme les mémoires tampons définies par l’utilisateur et les imprime dans le flux de sortie pstrmOut.
La fonction DumpLogRecords génère en mode natif ses en-têtes d’enregistrement internes vers pstrmOut, mais dépend du rappel défini par l’utilisateur pour mettre en forme les mémoires tampons utilisateur.
Si ce paramètre a la valeur NULL, DumpLogRecords place les données d’enregistrement utilisateur dans le flux de sortie sous forme de chiffres hexadécimaux.
[in, optional] pfnAllocBlock
Fonction de rappel qui alloue de la mémoire pour les blocs de journal.
Si ce paramètre a la valeur NULL, Common Log File System (CLFS) fournit une fonction d’allocation de blocs par défaut. Ce paramètre ne peut pas être NULL si un rappel sans bloc est spécifié à l’aide du paramètre pfnFreeBuffer .
L’exemple suivant identifie la syntaxe de la fonction de rappel d’allocation de blocs :
typedef PVOID (* CLFS_BLOCK_ALLOCATION) (voidULONG cbBufferSize, PVOID pvUserContext);
[in, optional] pfnFreeBlock
Fonction de rappel qui libère les blocs de journal alloués par pfnAllocBuffer.
Si ce paramètre a la valeur NULL, CLFS fournit une fonction de désallocation de bloc par défaut. Ce paramètre ne peut pas être NULL si un rappel d’allocation de blocs est spécifié à l’aide du paramètre pfnAllocBuffer .
L’exemple suivant identifie la syntaxe de la fonction de rappel sans bloc :
typedef void (* CLFS_BLOCK_DEALLOCATION) (PVOID pvBuffer, PVOID pvUserContext);
Le paramètre de mémoire tampon de « ClfsBlockDeallocProc » doit pointer vers un bloc alloué à l’aide du rappel pointé par pfnAllocBuffer.
[in, optional] pvBlockAllocContext
Pointeur vers une mémoire tampon qui est passée en tant que contexte utilisateur aux routines d’allocation et de désallocation de blocs, si une mémoire tampon est spécifiée.
Si pfnAllocBuffer a la valeur NULL, ce paramètre est ignoré.
[in] cbBlock
Taille de la mémoire tampon dans laquelle vos enregistrements sont marshalés, en octets.
Les enregistrements ne peuvent pas être ajoutés ou lus s’ils sont plus longs que cette valeur.
[in] cMaxBlocks
Nombre maximal de blocs pouvant être alloués à tout moment pour les opérations de lecture.
Les contextes de lecture utilisent au moins un bloc de lecture.
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 (0). Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError. La liste suivante identifie les codes d’erreur possibles :
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 |