Network Diagnostics Framework

Overview of the Network Diagnostics Framework technology.

To develop Network Diagnostics Framework, you need these headers:

For programming guidance for this technology, see:


Title Description
ATTRIBUTE_TYPE The ATTRIBUTE_TYPE enumeration defines possible values for a helper attribute.
DIAGNOSIS_STATUS The DIAGNOSIS_STATUS enumeration describes the result of a hypothesis submitted to a helper class in which the health of a component has been determined.
PROBLEM_TYPE The PROBLEM_TYPE enumeration describes the type of problem a helper class indicates is present.
REPAIR_RISK The REPAIR_RISK enumeration specifies whether repair changes are persistent and whether they can be undone.
REPAIR_SCOPE The REPAIR_SCOPE enumeration describes the scope of modification for a given repair.
REPAIR_STATUS The REPAIR_STATUS enumeration describes the result of a helper class attempting a repair option.
UI_INFO_TYPE The UI_INFO_TYPE enumeration identifies repairs that perform user interface tasks.


Title Description
Cancel Cancels an ongoing diagnosis or repair.
Cleanup Allows the Helper Class Extension to clean up resources following a diagnosis or repair operation.
CreateUtilityInstance Used by the Network Diagnostics Framework (NDF). This method is reserved for system use.
GetAttributeInfo The GetAttributeInfo method retrieves the list of key parameters needed by the Helper Class Extension.
GetAttributes Retrieves additional information about a problem that the helper class extension has diagnosed.
GetCacheTime Specifies the time when cached results of a diagnosis and repair operation have expired.
GetDiagnosticsInfo Enables the Helper Class Extension instance to provide an estimate.
GetDownStreamHypotheses Asks the Helper Class Extension to generate hypotheses.
GetHigherHypotheses Generate hypotheses for possible causes of high utilization.
GetKeyAttributes Retrieves the key attributes of the Helper Class Extension.
GetLifeTime Retrieves the lifetime of the Helper Class Extension instance.
GetLowerHypotheses Generate hypotheses for possible causes of low health in the local components.
GetRepairInfo Retrieves the repair information that the Helper Class Extension has for a given problem type.
GetUpStreamHypotheses Generate hypotheses for possible causes of high utilization in the upstream network components.
HighUtilization Check whether the corresponding component is highly utilized.
Initialize The Initialize method passes in attributes to the Helper Class Extension from the hypothesis. The helper class should store these parameters for use in the main diagnostics functions. This method must be called before any diagnostics function.
LowHealth Check whether the component being diagnosed is healthy.
NdfCancelIncident Used to cancel unneeded functions which have been previously called on an existing incident.
NdfCloseIncident Used to close an Network Diagnostics Framework (NDF) incident following its resolution.
NdfCreateConnectivityIncident Diagnoses generic Internet connectivity problems.
NdfCreateDNSIncident Diagnoses name resolution issues in resolving a specific host name.
NdfCreateGroupingIncident Creates a session to diagnose peer-to-peer grouping functionality issues.
NdfCreateInboundIncident Creates a session to diagnose inbound connectivity for a specific application or service.
NdfCreateIncident To test the NDF functionality incorporated into their application.
NdfCreateNetConnectionIncident Diagnoses connectivity issues using the NetConnection helper class.
NdfCreatePnrpIncident Creates a session to diagnose issues with the Peer Name Resolution Protocol (PNRP) service.
NdfCreateSharingIncident Diagnoses network problems in accessing a specific network share.
NdfCreateWebIncident Diagnoses web connectivity problems.
NdfCreateWebIncidentEx Diagnoses web connectivity problems.
NdfCreateWinSockIncident Provides access to the Winsock Helper Class provided by Microsoft.
NdfDiagnoseIncident Diagnoses the root cause of an incident without displaying a user interface.
NdfExecuteDiagnosis The NdfExecuteDiagnosis function is used to diagnose the root cause of the incident that has occurred.
NdfGetTraceFile Used to retrieve the path containing an Event Trace Log (ETL) file that contains Event Tracing for Windows (ETW) events from a diagnostic session.
NdfRepairIncident Repairs an incident without displaying a user interface.
ReconfirmLowHealth Used to add a second Low Health pass after hypotheses have been diagnosed and before repairs are retrieved.
Repair Performs a repair specified by the input parameter.
ReproduceFailure Used by the Network Diagnostics Framework (NDF). This method is reserved for system use.
SetLifeTime The Helper Class Extension can limit its diagnosis to events within that time period.
SetUtilities Used by the Network Diagnostics Framework (NDF). This method is reserved for system use.
Validate Called by NDF after a repair is successfully completed.


Title Description
INetDiagHelper The INetDiagHelper interface provides methods that capture and provide information associated with diagnoses and resolution of network-related issues.
INetDiagHelperEx Provides methods that extend on the INetDiagHelper interface to capture and provide information associated with diagnoses and resolution of network-related issues.
INetDiagHelperInfo The INetDiagHelperInfo interface provides a method that is called by the Network Diagnostics Framework (NDF) when it needs to validate that it has the necessary information for a helper class and that it has chosen the correct helper class.
INetDiagHelperUtilFactory Provides a reserved method that is used by the Network Diagnostics Framework (NDF).


Title Description
DIAG_SOCKADDR Stores an Internet Protocol (IP) address for a computer that is participating in a Windows Sockets communication.
DiagnosticsInfo The DiagnosticsInfo structure contains the estimate of diagnosis time, and flags for invocation.
HELPER_ATTRIBUTE The HELPER_ATTRIBUTE structure contains all NDF supported data types.
HelperAttributeInfo The HelperAttributeInfo structure contains the name of the helper attribute and its type.
HYPOTHESIS The HYPOTHESIS structure contains data used to submit a hypothesis to NDF for another helper class.
HypothesisResult Contains information about a hypothesis returned from a helper class.
LIFE_TIME The LIFE_TIME structure contains a start time and an end time.
OCTET_STRING The OCTET_STRING structure contains a pointer to a string of byte data.
RepairInfo The RepairInfo structure contains data required for a particular repair option.
RepairInfoEx Contains detailed repair information that can be used to help resolve the root cause of an incident.
RootCauseInfo Contains detailed information about the root cause of an incident.
ShellCommandInfo The ShellCommandInfo structure contains data required to launch an additional application for manual repair options.
UiInfo The UiInfo structure is used to display repair messages to the user.