Fiabilité des informations d’erreur étendues
Les informations d’erreur étendues ne sont pas fiables. Les informations d’erreur étendues ne peuvent pas être utilisées pour générer une logique de code. Il est approprié de case activée pour la présence d’informations d’erreur étendues et, le cas échéant, de vidage, d’enregistrement ou de journalisation de ces informations. Mais ne vous fiez pas aux informations ou à leur contenu.
Les raisons suivantes expliquent pourquoi les informations d’erreur étendues ne sont pas fiables :
- La séquence et le contenu des enregistrements d’erreurs étendus dépendent de l’architecture interne du système, qui est susceptible d’être modifiée. Une certaine opération peut passer par NPFS sur les systèmes actuels, mais demain pourrait passer par TCP. Ces différents composants génèrent des codes d’erreur très différents et les vérifications de code sont donc par nature peu fiables et non recommandées.
- La propagation d’informations d’erreur étendues peut être désactivée, comme expliqué précédemment. Si le code de détection est inclus, l’application cessera probablement de fonctionner dans certains environnements.
- La propagation d’informations d’erreur étendues est effectuée de la manière la plus efficace possible. La propagation ou la génération d’informations d’erreur étendues peuvent échouer s’il n’y a pas assez de mémoire sur l’ordinateur pour traiter ou propager la chaîne. Dans de telles circonstances, la chaîne sera abandonnée. Certains protocoles ont des longueurs limitées pour les paquets d’erreur, car ils n’incluent généralement pas beaucoup d’informations. Si la longueur de la chaîne dépasse la longueur autorisée du paquet, le temps d’exécution RPC commence à supprimer les informations de la chaîne dans une tentative d’ajustement de la chaîne dans le paquet. L’heure d’exécution supprime d’abord les enregistrements, en commençant par l’avant-dernier enregistrement, en remontant vers l’arrière, jusqu’à ce que seuls les premiers et les derniers enregistrements restent. Si la chaîne ne tient toujours pas dans un paquet, le temps d’exécution supprime les paramètres de chaîne et les noms d’ordinateurs. Si un paramètre de chaîne est supprimé, le type du paramètre est défini sur none. Si un enregistrement est supprimé, l’indicateur EEInfoNextRecordsMissing est défini dans l’enregistrement suivant, et EEInfoPreviousRecordsMissing est défini dans l’enregistrement précédent.