Événements des extensions de l'Analyseur de performances

Important Cet article contient des informations sur la modification du Registre. Sauvegardez le Registre avant de le modifier. Assurez-vous de savoir comment restaurer le Registre en cas de problème. Pour plus d'informations sur la sauvegarde, la restauration et la modification du Registre, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
256986 Description du Registre de Microsoft Windows

Résumé

Windows NT ajoute des événements au journal des événements Application lorsque des erreurs se produisent ou pour donner des informations supplémentaires concernant les extensions de l'Analyseur de performances et les compteurs personnalisés ajoutés à l'Analyseur de performances. Cet article explique comment contrôler la vérification et le signalement d'erreurs à l'aide de paramètres de Registre et comment répertorier les informations d'événements possibles. C'est utile lorsque vous souhaitez tester et valider une extension de l'Analyseur de performances, ainsi que pour diagnostiquer des problèmes liés aux extensions de l'Analyseur de performances installées dans le cadre d'une application serveur ou d'un pilote de périphérique.

Plus d'informations

Valeurs du Registre pour Windows NT 4.0

La bibliothèque de performance (perflib), qui fait partie d'ADVAPI32.dll, lit trois valeurs de Registre REG_DWORD qui contrôlent différents niveaux de vérification et de signalement d'erreurs. Ces valeurs se trouvent dans la clé de Registre suivante. Si les valeurs ne se trouvent pas dans cette clé sur votre système, elles peuvent être ajoutées. La modification entre en vigueur après le redémarrage de l'Analyseur de performances ou de l'outil d'analyse des performances quelconque actuellement utilisé.


HKEY_LOCAL_MACHINE
\SOFTWARE
\Microsoft
\Windows NT
\CurrentVersion
\Perflib
Avertissement Des problèmes sérieux peuvent se produire si vous modifiez le Registre de façon incorrecte à l'aide de l'Éditeur du Registre ou de toute autre méthode. Ces problèmes peuvent vous obliger à réinstaller le système d'exploitation. Microsoft ne peut pas garantir que ces problèmes puissent être résolus. Vous assumez l'ensemble des risques liés à la modification du Registre.

Les noms de valeurs suivants sont suivis des valeurs possibles et de leurs significations.


ExtCounterTestLevel

1 - la cohérence des longueurs de l'objet et du compteur est vérifiée
2 - les dépassements de capacité de la mémoire tampon ou les pages de garde sont vérifiées
3 - aucune vérification n'est effectuée mais le traitement des exceptions n'est pas éliminé

EventLogLevel

0 - aucune erreur n'est signalée
1 - messages d'erreur du journal des événements de l'utilisateur (1 000-1 013)
2 - avertissements et erreurs utilisés pour le débogage (1 000-2 002)
3 - avec commentaires, toutes les informations (1 000-3 000)
OpenProcedureWaitTime

Si la valeur OpenProcedureWaitTime est présente, perflib définit en interne une procédure de délai d'attente. Si la fonction d'ouverture d'une DLL d'extension de l'Analyseur de performances ne renvoie pas de résultat dans cette valeur du Registre dans le délai spécifié (en millisecondes), un événement (2 002) est ajouté au Journal des événements. Toutefois, cette valeur de Registre contrôle uniquement le signalement du fait, et non son comportement. Par exemple, si une fonction d'ouverture "se bloque", le processus de l'Analyseur de performances se bloquera même si cette valeur du Registre est présente.


Valeurs du Registre pour Windows 2000

À compter de Windows 2000, une nouvelle entrée de Registre de durée d'attente a été ajoutée pour la fonction de collecte. Les trois valeurs de Registre précédentes fonctionnent également sur Windows 2000 comme décrit plus haut. La nouvelle entrée de Registre est placée dans la clé de Registre suivante.


HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Services
\(nom_service)
\Performance
Collect Timeout

La valeur Collect Timeout est nouvelle dans Windows 2000. Notez l'espace dans le nom de la valeur. Si cette valeur est présente, perflib définit en interne une procédure de délai d'attente. Si la fonction de collecte d'une DLL d'extension de l'Analyseur de performances ne renvoie pas de résultat dans cette valeur du Registre dans le délai spécifié (en millisecondes), un événement (1 015) est ajouté au Journal des événements.

Open Timeout

La valeur Open Timeout est nouvelle dans Windows 2000. Notez l'espace dans le nom de la valeur. Si cette valeur est présente, perflib définit en interne une procédure de délai d'attente. Si la fonction d'ouverture d'une DLL d'extension de l'Analyseur de performances ne renvoie pas de résultat dans cette valeur du Registre dans le délai spécifié (en millisecondes), un événement (2 002) est ajouté au Journal des événements.

REMARQUE : sur Windows 2000, la valeur OpenProcedureWaitTime est commune à toutes les DLL d'extension de performance. Si la valeur de Registre Open Timeout (qui est spécifique à la DLL d'extension de performance) n'est pas présente, le système d'exploitation utilise la valeur de Registre OpenProcedureWaitTime globale si elle est présente. De même, si la valeur de Registre Collect Timeout n'est pas présente, le système d'exploitation utilise la valeur de Registre OpenProcedureWaitTime globale si elle est présente. Si la valeur de Registre OpenProcedureWaitTime n'est pas présente, la valeur par défaut du délai d'attente est de 10 000 (millisecondes).

ID d'événements et descriptions

Voici une liste d'ID d'événements et le texte d'erreur détaillé affiché dans la boîte de dialogue Détails de l'Observateur d'événements. Certains des éléments suivants incluent également des informations supplémentaires sur l'interprétation des détails de l'événement. De plus, chaque élément est associé à un niveau de compétence suggérant la personne la plus à même de pouvoir résoudre le problème.

Une grande partie des descriptions suivantes fait référence à une valeur DWORD contenue dans le champ Données de la boîte de dialogue Détails de l'événement. Notez que les données sont classées par ordre d'octets ; pour interpréter une valeur DWORD sur les systèmes Intel, vous devez lire 4 octets à la fois, en commençant par le dernier octet. Par exemple, 05 00 00 C0 peut apparaître dans le champ Données, mais la valeur DWORD se lit C0000005.

ID de l'événement : 1 000 1000
Texte détaillé : L'accès aux données de performance a été refusé à (nom d'utilisateur), étant tenté de (nom du module appelant)

Interprétation : la clé suivante est vérifiée pour la sécurité d'accès :

SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
Si l'utilisateur associé au thread client ou au jeton du processus ne se trouve pas sur la liste de contrôle d'accès pour cette clé, cet événement est enregistré.

Compétences : administrateur système.

ID de l'événement : 1001
Texte détaillé : La taille de la zone de mémoire tampon renvoyée par une procédure de ramassage dans la bibliothèque de compteurs extensibles (nom de la DLL) pour le service (nom du service) est plus grande que l'espace disponible. Les données de performance renvoyées par la bibliothèque de compteurs ne seront pas renvoyées dans le bloc de données Perf. La taille de débordement est la donnée DWORD 0.

Interprétation : Perflib trouve que le pointeur de départ du tampon de données ne pointe pas au-delà de la fin du tampon, y compris la mémoire tampon sécurisée.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 002 1002
Texte détaillé : Une page de garde a été modifiée par une procédure de ramassage de la bibliothèque de compteurs (nom de la DLL) pour le service (nom du service). Les données de performance renvoyées par la bibliothèque de compteurs ne seront pas renvoyées dans le bloc de données Perf.

Interprétation : Perflib implémente une mémoire tampon sécurisée qui ajoute de l'espace dans la mémoire tampon, rempli d'octets de signature. Cet événement signifie que l'extension a écrit au-delà de la fin de la mémoire tampon.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 003 1003
Texte détaillé : La taille d'un objet renvoyée par la bibliothèque de compteurs extensibles (nom de la DLL) pour le service (nom du service) n'était pas correcte. La somme des tailles des objets renvoyées ne correspond pas à la taille de la zone de mémoire tampon renvoyée. Les données de performance renvoyées par la bibliothèque de compteurs ne seront pas renvoyées dans le bloc de données Perf. Le nombre d'objets renvoyés est la donnée DWORD 0.

Interprétation : une fois la fonction de collecte renvoyée, perflib valide les membres TotalByteLength de chaque structure PERF_OBJECT_TYPE renvoyée par l'extension de performance. Cet événement d'erreur signifie qu'il y a un problème avec une ou plusieurs valeurs TotalByteLength dans les structures PERF_OBJECT_TYPE.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 004 1004
Texte détaillé : La taille d'instance d'un objet renvoyée par la bibliothèque de compteurs extensibles (nom de la DLL) pour le service (nom du service) n'était pas correcte. La somme des tailles d'instance avec celle de la définition des structures de l'objet ne correspond pas à la taille de l'objet. Les données de performance renvoyées par la bibliothèque de compteurs ne seront pas renvoyées dans le bloc de données Perf. L'index des titres de l'objet erroné est la donnée DWORD 0.

Interprétation : une fois la fonction de collecte renvoyée, perflib valide les membres PERF_INSTANCE_DEFINITION ByteLength et PERF_COUNTER_BLOCK ByteLength si l'objet a des instances. Cet événement d'erreur signifie que le membre ByteLength est incorrect.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 005 1005
Texte détaillé : Impossible de trouver la procédure (nom de la procédure d'ouverture) de la bibliothèque (nom de la DLL) pour le service (nom du service). Les données de performances de ce service ne seront pas disponibles. L'état d'erreur est la donnée DWORD 0.

Interprétation : Perflib appelle GetProcAddress pour le nom de fonction spécifié comme procédure d'ouverture dans le Registre pour l'extension. Cette erreur signifie en général que le nom n'a pas été trouvé car la DLL de l'extension ne l'a pas exporté correctement ou la DLL a été compilée avec du code C++ et aucune déclaration "C" externe n'a été utilisée.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 006 1006
Texte détaillé : Impossible de trouver la procédure de ramassage (nom de la procédure de ramassage) de la bibliothèque (nom de la DLL) pour le service (nom du service). Les données de performances de ce service ne seront pas disponibles. L'état d'erreur est la donnée DWORD 0.

Interprétation : Perflib appelle GetProcAddress pour le nom de fonction spécifié comme procédure de ramassage dans le Registre pour l'extension. Cette erreur signifie en général que le nom n'a pas été trouvé car la DLL de l'extension ne l'a pas exporté correctement ou la DLL a été compilée avec du code C++ et aucune déclaration "C" externe n'a été utilisée.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 007 1007
Texte détaillé : Impossible de trouver la procédure de fermeture (nom de la procédure de fermeture) de la bibliothèque (nom de la DLL) pour le service (nom du service). Les données de performances de ce service ne seront pas disponibles. L'état d'erreur est la donnée DWORD 0.

Interprétation : Perflib appelle GetProcAddress pour le nom de fonction spécifié comme procédure de fermeture dans le Registre pour l'extension. Cette erreur signifie en général que le nom n'a pas été trouvé car la DLL de l'extension ne l'a pas exporté correctement ou la DLL a été compilée avec du code C++ et aucune déclaration "C" externe n'a été utilisée.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 008 1008
Texte détaillé : La procédure d'ouverture du service (nom du service) de la bibliothèque (nom de la DLL) a échoué. Les données de performances de ce service ne seront pas disponibles. L'état d'erreur renvoyé est DWORD 0.

Interprétation : si la fonction d'ouverture d'une extension ne renvoie pas ERROR_SUCCESS, perflib publie le code d'état dans le champ de données de l'événement. Celui-ci peut être utilisé pour aider l'auteur de l'extension à déterminer la raison de l'échec de la fonction d'ouverture.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 009 1009
Texte détaillé : La procédure d'ouverture du service (nom du service) de la bibliothèque (nom de la DLL) a généré une exception. Les données de performances de ce service ne seront pas disponibles. L'état d'exception renvoyé est DWORD 0.

Interprétation : Perflib appelle les fonctions de l'extension de performance dans un bloc try de gestionnaire d'exceptions structuré. Cette erreur est publiée si une exception s'est produite ou si RaiseException a été appelé dans la fonction d'ouverture. Le champ de données contiendra le code de l'exception. Par exemple, C0000005 signifie qu'une violation d'accès s'est produite.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 010 1010
Texte détaillé : La procédure de ramassage pour le service (nom du service) de la bibliothèque (nom de la DLL) a généré une exception ou a renvoyé un état non valide. Les données de performance renvoyées par la bibliothèque de compteurs ne seront pas renvoyées dans le bloc de données Perf. L'exception ou le code d'état renvoyé est DWORD 0.

Interprétation : Perflib appelle les fonctions de l'extension de performance dans un bloc try de gestionnaire d'exceptions structuré. Cette erreur est publiée si une exception s'est produite ou si RaiseException a été appelé dans la fonction de collecte. Le champ de données contiendra le code de l'exception. Par exemple, C0000005 signifie qu'une violation d'accès s'est produite.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 011 1011
Texte détaillé : La bibliothèque (nom de la DLL) spécifiée pour le service (nom du service) n'a pas pu être ouverte. Les données de performances de ce service ne seront pas disponibles. L'état d'erreur est la donnée DWORD 0.

Interprétation : Perflib utilise LoadLibrary pour ouvrir les extensions de performance. Si LoadLibrary échoue, le code d'état de GetLastError est publié dans le champ de données de l'événement. Par exemple, 7e signifie que la DLL était introuvable ou que le nom de la bibliothèque mentionné dans le Registre est incorrect.

Compétences : administrateur système ou développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 012 1012
Texte détaillé : Le système a signalé un temps de processus inactif inférieur au dernier temps signalé. Les données montrent le temps actuel et le dernier signalé pour le processus inactif du système.

Interprétation : cet événement n'est pas utilisé par Perflib.

Compétences : aucune

ID de l'événement : 1 013 1013
Texte détaillé : La procédure de ramassage dans la DLL des compteurs extensibles (nom de la DLL) pour le service (nom du service) a renvoyé une zone de mémoire tampon plus grande que l'espace alloué et a peut-être endommagé le segment de l'application. Cette DLL devrait être désactivée ou supprimée du système jusqu'à ce que le problème soit résolu, pour prévenir d'autres dommages. L'application accédant à ces données de performance doit être redémarrée. Les données de performance renvoyées par la DLL des compteurs ne seront pas renvoyées dans le bloc de données de performance. La taille de dépassement est la donnée DWORD 0.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 014 1014 Disponible uniquement sur Windows 2000
Texte détaillé : Une erreur s'est produite lors de la tentative de récupération des données à partir de l'objet Serveur. Le code d'erreur renvoyé par la fonction est DWORD 0. L'état renvoyé dans le bloc d'état d'E/S est DWORD 1. La rubrique d'information du bloc d'état d'E/S est DWORD 2.

Interprétation : cet événement n'est pas utilisé par Perflib.

Compétences : aucune

ID de l'événement : 1 015 1015 Disponible uniquement sur Windows 2000
Texte détaillé : Le délai d'exécution de la fonction (nom de la fonction) de collecte de données de performance a expiré. Il y a peut-être un problème pour ce compteur extensible ou le service dont il tire ses informations.

Compétences : développeur de la DLL du compteur extensible nommée

Interprétation :Voir les commentaires sur la valeur de Registre Collect Timeout.

ID de l'événement : 1 016 1016 Disponible uniquement sur Windows 2000
Texte détaillé : Le tampon de données créé pour le service (nom du service) dans la bibliothèque (nom de la DLL) n'est pas aligné sur une frontière 8 octets. Ceci peut créer des problèmes pour les applications qui essaient de lire le tampon de données de performance. Contactez le fabricant de cette bibliothèque ou de ce service pour faire corriger ce problème ou pour obtenir une nouvelle version de cette bibliothèque.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 017 1017 Disponible uniquement sur Windows 2000
Texte détaillé : La collecte de données du compteur de performance à partir du service (nom du service) a été désactivée à cause d'au moins une erreur générée par la bibliothèque du compteur de performance pour ce service. Le(s) erreur(s) qui sont à l'origine de cette action ont été inscrites dans le fichier journal des événements de l'application. Le(s) erreur(s) doivent être corrigées avant que les compteurs de performance pour ce service ne soient à nouveau activés.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 018 1018 Disponible uniquement sur Windows 2000
Texte détaillé : La collecte de données des compteurs de performances à partir du service (nom du service) a été désactivée pour cette session à cause d'au moins une erreur générée par la bibliothèque du compteur de performance pour ce service. Le(s) erreur(s) qui sont à l'origine de cette action ont été inscrites dans le fichier journal des événements de l'application.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 019 1019 Disponible uniquement sur Windows 2000
Texte détaillé : Un champ définition dans un objet renvoyé par une DLL d'un compteur extensible (nom de la DLL) pour le service (nom du service) était incorrect. La somme des longueurs de bloc de définition dans les structures de définition de l'objet ne correspond pas à la taille spécifiée dans l'en-tête de définition de l'objet. Les données de performance renvoyées par cette DLL de compteur ne seront pas renvoyées dans le bloc Perf Data. L'index du titre de l'objet incorrect est la donnée DWORD 0.

Interprétation :semblable à l'événement 1 003, sauf que la somme des membres de la longueur de définition du compteur de la structure est vérifiée. Cet événement signifie en général que le ByteLength d'une des structures de définition du compteur de l'objet des données de performance est incorrect.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 1 020 1020 Disponible uniquement sur Windows 2000
Texte détaillé : La taille de tampon utilisée est plus grande que celle passée à la fonction de collecte de la DLL de compteur extensible (nom de la DLL) pour le service (nom du service). La taille du tampon de données passé est DWORD 0 et la taille du tampon renvoyé est DWORD 1.

Interprétation :semblable à l'événement 1 001, mais davantage d'informations sont fournies à propos de la taille de la mémoire tampon attendue par l'extension.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 2 000 2000
Texte détaillé : Le pointeur renvoyé ne correspond pas à la longueur du tampon renvoyée par la procédure de ramassage pour le service (nom du service) de la bibliothèque de compteurs extensibles (nom de la DLL). La taille sera adaptée et les données de performance apparaîtront dans le bloc de données Perf. La taille renvoyée est la donnée DWORD 0, la nouvelle taille est la donnée DWORD 1.

Interprétation : cet événement est utilisé pour le développement et le débogage des extensions de l'Analyseur de performances. Une fois la procédure de ramassage appelée, la cohérence des paramètres renvoyés est vérifiée. Dans ce cas, le nombre d'octets ajoutés à la mémoire tampon de données de performance est comparé à la différence réelle dans le pointeur de tampon avant et après l'appel de la procédure de ramassage.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 2 001 2001
Texte détaillé : Le service (nom du service) n'a pas de sous-clé de performance ou la clé n'a pas pu être ouverte. Aucun compteur de performance ne sera collecté pour ce service. Le code erreur Win32 est retourné dans les données.

Interprétation : cet événement indique qu'un élément sous la sous-clé Services ne contient pas de sous-clé Performance (ou qu'elle n'a pas pu être ouverte, par exemple pour des raisons d'autorisation d'accès). Cette erreur est publiée pour chaque élément sous la sous-clé Service.

Compétences : administrateur système ou développeur du service nommé

ID de l'événement : 2 002 2002
Texte détaillé : La procédure d'ouverture du service (nom du service) dans la bibliothèque (nom de la DLL) a été plus longue à se terminer que le délai d'attente établi. Le délai d'attente en millisecondes est indiqué dans les données.

Interprétation : voir les commentaires ci-dessus concernant la valeur de Registre Open Timeout.

Compétences : développeur de la DLL du compteur extensible nommée

ID de l'événement : 2 003 2003 Disponible uniquement sur Windows 2000
Texte détaillé :Les informations de configuration de la bibliothèque de performance (nom de la DLL) pour le service (nom du service) ne correspondent pas aux informations de la bibliothèque de performance approuvée stockée dans le registre. Les fonctions de cette bibliothèque ne seront pas traitées comme étant approuvées.

Interprétation : si la valeur "Library Validation Code" existe pour le service nommé dans la sous-clé Performance, les données sont vérifiées grâce à la date de création de fichier et à la taille de fichier de la DLL nommée. Cette erreur est publiée si les valeurs ne correspondent pas. Si l'erreur se produit, elle peut être corrigée en supprimant puis en réinstallant le service nommé.

Compétences : administrateur système ou développeur du service nommé

ID de l'événement : 3 000 3000
Texte détaillé : La procédure d'ouverture du service (nom du service) de la bibliothèque (nom de la DLL) a été invoquée et s'est bien terminée.

Compétences : débutant

Références

Pour plus d'informations sur les extensions de l'Analyseur de performances, consultez la documentation du Kit de développement Platform SDK dans Services de base Windows ; Analyse des performances ; Données de performance ; Ajout de compteurs de performance.

Pour la résolution de l'événement 2 003, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
267831 Message d'avertissement ID d'événement 2003 enregistré lors du chargement des compteurs de performances

Propriétés

ID d'article : 226494 - Dernière mise à jour : 27 févr. 2008 - Révision : 1

Commentaires