Función NdfDiagnoseIncident (ndfapi.h)
La función NdfDiagnoseIncident diagnostica la causa principal de un incidente sin mostrar una interfaz de usuario.
Sintaxis
void NdfDiagnoseIncident(
[in] NDFHANDLE Handle,
[out] ULONG *RootCauseCount,
[out] RootCauseInfo **RootCauses,
DWORD dwWait,
DWORD dwFlags
);
Parámetros
[in] Handle
Tipo: NDFHANDLE
Identificador del incidente de Network Diagnostics Framework.
[out] RootCauseCount
Tipo: ULONG*
Número de causas principales que podrían haber causado este incidente. Si el diagnóstico no se realiza correctamente, se debe omitir el contenido de este parámetro.
[out] RootCauses
Tipo: RootCauseInfo**
Colección de estructuras RootCauseInfo que contienen una descripción detallada de la causa principal. Si el diagnóstico se realiza correctamente, este parámetro contiene las causas principales de la hoja identificadas en la sesión de diagnóstico y cualquier causa raíz no hoja que tenga una reparación disponible. Si el diagnóstico no se realiza correctamente, se debe omitir el contenido de este parámetro.
La memoria asignada a estas estructuras debe liberarse más adelante. Para obtener un ejemplo de cómo hacerlo, consulte Los ejemplos de diagnóstico de red de Microsoft Windows.
dwWait
Tipo: DWORD
El período de tiempo, en milisegundos, que se esperará antes de finalizar la rutina de diagnóstico. INFINITE se puede pasar a este parámetro si no se desea ningún tiempo de espera.
dwFlags
Tipo: DWORD
Valores posibles:
Valor | Significado |
---|---|
|
Activa el seguimiento de red durante el diagnóstico. Los resultados de diagnóstico se incluirán en el archivo de registro de seguimiento de eventos (ETL) devuelto por NdfGetTraceFile. |
|
Aplica el filtrado a las causas raíz devueltas para que sean coherentes con el comportamiento de diagnóstico con scripts en el cuadro. Sin esta marca, las causas principales no se filtrarán. El autor de la llamada debe establecer esta marca, por lo que los autores de llamadas existentes no verán un cambio de comportamiento a menos que especifiquen explícitamente esta marca.
Nota Solo está disponible en Windows 8 y Windows Server 2012.
|
Valor devuelto
Tipo: HRESULT
Entre los valores devueltos posibles se incluyen, entre otros, los siguientes.
Código devuelto | Descripción |
---|---|
|
La operación se realizó correctamente. |
|
El identificador de incidente de NDF no es válido. |
|
La rutina de diagnóstico ha finalizado porque ha tardado más tiempo que el tiempo de espera especificado en dwWait. |
Comentarios
Esta función está pensada para su uso con escenarios en los que no se muestra ninguna interfaz de usuario o donde no se usa la experiencia estándar de Windows (como con Media Center y aplicaciones insertadas). NdfExecuteDia diagnostics iniciará la interfaz de usuario de diagnóstico y se debe usar en escenarios con la experiencia estándar de Windows. Puede llamar a NdfExecuteDia diagnostic o NdfDiagnoseIncident, pero no a ambos.
Antes de usar esta API, una aplicación debe llamar a una función de creación de incidentes como NdfCreateWebIncident para iniciar el proceso de diagnóstico de NDF. A continuación, la aplicación llama a NdfDiagnoseIncident para diagnosticar el problema. Si el proceso de diagnóstico identifica algunas reparaciones posibles, la aplicación puede llamar a NdfRepairIncident para reparar el problema sin mostrar una interfaz de usuario. Opcionalmente, se puede llamar a NdfCancelIncident desde un subproceso independiente si la aplicación quiere cancelar una llamada NdfDiagnoseIncident en curso. Por último, la aplicación llama a NdfCloseIncident.
En la tabla siguiente se muestran algunos ejemplos de causas principales y sus reparaciones correspondientes.
GUID de causa principal | GUID de reparación | Descripción de la causa principal | Descripción de reparación |
{4DA030B8-86E5-4b6a-A879-2FFF8443B527} | {1296DFF0-D04E-4be1-A512-90F04DDFA3E6} | Un cable de red no está conectado correctamente o puede estar roto. | Conecte un cable Ethernet a este equipo.\nUn cable Ethernet se parece a un cable telefónico, pero con conectores más grandes en los extremos. Conecte este cable a la apertura en la parte posterior o lateral del equipo.\nAsegúrese de que el otro extremo del cable está conectado al router. Si eso no ayuda, intente usar un cable diferente. |
{60372FD2-AD60-45c2-BD83-6B827FC438DF} | {07d37f7b-fa5e-4443-bda7-ab107b29afb6} | El adaptador %InterfaceName% está deshabilitado. | Habilite el adaptador %FriendlyInterfaceName%. |
{245A9D66-AE9C-4518-A5B4-655752B0A5BD} | {07d37f7b-fa5e-4443-bda7-ab107b29afb9} | %InterfaceName%"" no tiene una configuración IP válida. | Restablezca el adaptador ""%InterfaceName%"" \nEsto a veces puede resolver un problema intermitente. |
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | ndfapi.h |
Library | Ndfapi.lib |
Archivo DLL | Ndfapi.dll |