Partager via


Fonction NdfDiagnoseIncident (ndfapi.h)

La fonction NdfDiagnoseIncident diagnostique la cause racine d’un incident sans afficher d’interface utilisateur.

Syntaxe

void NdfDiagnoseIncident(
  [in]  NDFHANDLE     Handle,
  [out] ULONG         *RootCauseCount,
  [out] RootCauseInfo **RootCauses,
        DWORD         dwWait,
        DWORD         dwFlags
);

Paramètres

[in] Handle

Type : NDFHANDLE

Handle de l’incident network Diagnostics Framework.

[out] RootCauseCount

Type : ULONG*

Nombre de causes racines qui auraient pu être à l’origine de cet incident. Si le diagnostic échoue, le contenu de ce paramètre doit être ignoré.

[out] RootCauses

Type : RootCauseInfo**

Collection de structures RootCauseInfo qui contiennent une description détaillée de la cause racine. Si le diagnostic réussit, ce paramètre contient à la fois les causes racines des feuilles identifiées dans la session de diagnostic et toutes les causes racines autres que les feuilles qui ont une réparation disponible. Si le diagnostic échoue, le contenu de ce paramètre doit être ignoré.

La mémoire allouée à ces structures doit être libérée ultérieurement. Pour obtenir un exemple de procédure, consultez les exemples de diagnostics réseau Microsoft Windows.

dwWait

Type : DWORD

Durée, en millisecondes, d’attente avant de mettre fin à la routine de diagnostic. INFINITE peut être passé à ce paramètre si aucun délai d’attente n’est souhaité.

dwFlags

Type : DWORD

Valeurs possibles :

Valeur Signification
NDF_ADD_CAPTURE_TRACE
0x0001
Active le suivi réseau pendant le diagnostic. Les résultats de diagnostic seront inclus dans le fichier journal de trace d’événements (ETL) retourné par NdfGetTraceFile.
NDF_APPLY_INCLUSION_LIST_FILTER
0x0002
Applique le filtrage aux causes racine retournées afin qu’elles soient cohérentes avec le comportement de diagnostics script intégré. Sans cet indicateur, les causes racines ne seront pas filtrées. Cet indicateur doit être défini par l’appelant, de sorte que les appelants existants ne voient pas de changement de comportement, sauf s’ils spécifient explicitement cet indicateur.
Note Disponible uniquement dans Windows 8 et Windows Server 2012.
 

Valeur retournée

Type : HRESULT

Les valeurs de retour possibles incluent, sans s’y limiter, les éléments suivants.

Code de retour Description
S_OK
L’opération a réussi.
E_HANDLE
Le handle d’incident NDF n’est pas valide.
WAIT_TIMEOUT
La routine de diagnostic s’est terminée, car elle a pris plus de temps que le délai d’attente spécifié dans dwWait.

Remarques

Cette fonction est destinée à être utilisée avec des scénarios où aucune interface utilisateur n’est affichée ou où l’expérience Windows standard n’est pas utilisée (comme avec Media Center et les applications incorporées). NdfExecuteDiagnosis lance l’interface utilisateur diagnostics et doit être utilisé dans des scénarios utilisant l’expérience Windows standard. Vous pouvez appeler NdfExecuteDiagnosis ou NdfDiagnoseIncident, mais pas les deux.

Avant d’utiliser cette API, une application doit appeler une fonction de création d’incident telle que NdfCreateWebIncident pour commencer le processus de diagnostics NDF. L’application appelle ensuite NdfDiagnoseIncident pour diagnostiquer le problème. Si le processus diagnostics identifie certaines réparations possibles, l’application peut appeler NdfRepairIncident pour résoudre le problème sans afficher d’interface utilisateur. NdfCancelIncident peut éventuellement être appelé à partir d’un thread distinct si l’application souhaite annuler un appel NdfDiagnoseIncident en cours. Enfin, l’application appelle NdfCloseIncident.

Le tableau suivant présente quelques exemples de causes racines et de réparations correspondantes.

GUID de cause racine GUID de réparation Description de la cause racine Description de la réparation
{4DA030B8-86E5-4b6a-A879-2FFF8443B527} {1296DFF0-D04E-4be1-A512-90F04DDFA3E6} Un câble réseau n’est pas correctement branché ou peut être cassé. Branchez un câble Ethernet sur cet ordinateur.\nUn câble Ethernet ressemble à un câble téléphonique, mais avec des connecteurs plus volumineux aux extrémités. Branchez ce câble à l’ouverture située à l’arrière ou sur le côté de l’ordinateur.\nAssurez-vous que l’autre extrémité du câble est branchée sur le routeur. Si cela ne vous aide pas, essayez d’utiliser un autre câble.
{60372FD2-AD60-45c2-BD83-6B827FC438DF} {07d37f7b-fa5e-4443-bda7-ab107b29afb6} L’adaptateur %InterfaceName% est désactivé. Activez l’adaptateur %FriendlyInterfaceName%.
{245A9D66-AE9C-4518-A5B4-655752B0A5BD} {07d37f7b-fa5e-4443-bda7-ab107b29afb9} %InterfaceName%" » n’a pas de configuration IP valide. Réinitialisez l’adaptateur « "%InterfaceName%" » \nCela peut parfois résoudre un problème intermittent.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête ndfapi.h
Bibliothèque Ndfapi.lib
DLL Ndfapi.dll

Voir aussi

NdfExecuteDiagnosis

NdfGetTraceFile

RootCauseInfo