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:

Enumerations

 
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.

Functions

 
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. (INetDiagHelperUtilFactory.CreateUtilityInstance)
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. (NdfCreateWebIncident)
NdfCreateWebIncidentEx

Diagnoses web connectivity problems. (NdfCreateWebIncidentEx)
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. (INetDiagHelperEx.ReproduceFailure)
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. (INetDiagHelperEx.SetUtilities)
Validate

Called by NDF after a repair is successfully completed.

Interfaces

 
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).

Structures

 
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.