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 |
---|---|
|
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. |
|
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 |
---|---|
|
L’opération a réussi. |
|
Le handle d’incident NDF n’est pas valide. |
|
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 |