PdhReadRawLogRecord, fonction (pdh.h)

Lit les informations dans le fichier journal de trace binaire spécifié.

Syntaxe

PDH_FUNCTION PdhReadRawLogRecord(
  [in]  PDH_HLOG            hLog,
  [in]  FILETIME            ftRecord,
  [out] PPDH_RAW_LOG_RECORD pRawLogRecord,
  [in]  LPDWORD             pdwBufferLength
);

Paramètres

[in] hLog

Gérez le fichier journal. La fonction PdhOpenLog ou PdhBindInputDataSource retourne ce handle.

[in] ftRecord

Horodatage de l’enregistrement à lire. Si l’horodatage ne correspond pas à un enregistrement dans le fichier journal, la fonction retourne l’enregistrement dont l’horodatage est le plus proche (mais pas supérieur à) de l’horodatage donné.

[out] pRawLogRecord

Mémoire tampon allouée à l’appelant qui reçoit une structure PDH_RAW_LOG_RECORD ; la structure contient les informations d’enregistrement du fichier journal. Définissez sur NULL si pdwBufferLength est égal à zéro.

[in] pdwBufferLength

Taille de la mémoire tampon pRawLogRecord , en TCHAR. Si la valeur est zéro à l’entrée, la fonction retourne PDH_MORE_DATA et définit ce paramètre sur la taille de mémoire tampon requise. Si la mémoire tampon est supérieure à la taille requise, la fonction définit ce paramètre sur la taille réelle de la mémoire tampon utilisée. Si la taille spécifiée sur l’entrée est supérieure à zéro, mais inférieure à la taille requise, vous ne devez pas vous appuyer sur la taille retournée pour réallouer la mémoire tampon.

Valeur retournée

Si la fonction réussit, elle retourne ERROR_SUCCESS.

Si la fonction échoue, la valeur de retour est un code d’erreur système ou un code d’erreur PDH. Voici les valeurs possibles.

Code de retour Description
PDH_INVALID_ARGUMENT
Un paramètre n'est pas valide. Par exemple, sur certaines versions, vous pouvez recevoir cette erreur si la taille spécifiée sur l’entrée est supérieure à zéro, mais inférieure à la taille requise.
PDH_MORE_DATA
La mémoire tampon pRawLogRecord est trop petite pour contenir les éléments path. Cette valeur de retour est attendue si pdwBufferLength est égal à zéro à l’entrée. Si la taille spécifiée sur l’entrée est supérieure à zéro, mais inférieure à la taille requise, vous ne devez pas vous appuyer sur la taille retournée pour réallouer la mémoire tampon.
PDH_MEMORY_ALLOCATION_FAILURE
Impossible d’allouer de la mémoire pour terminer la fonction.

Remarques

Vous devez appeler cette fonction deux fois, la première fois pour obtenir la taille de mémoire tampon requise ( définissez pRawLogRecord sur NULL et pdwBufferLength sur 0) et la deuxième fois pour obtenir les données.

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 pdh.h
Bibliothèque Pdh.lib
DLL Pdh.dll

Voir aussi

PDH_RAW_LOG_RECORD

PdhCollectQueryData

PdhFormatFromRawValue