Função NdfDiagnoseIncident (ndfapi.h)
A função NdfDiagnoseIncident diagnostica a causa raiz de um incidente sem exibir uma interface do usuário.
Sintaxe
void NdfDiagnoseIncident(
[in] NDFHANDLE Handle,
[out] ULONG *RootCauseCount,
[out] RootCauseInfo **RootCauses,
DWORD dwWait,
DWORD dwFlags
);
Parâmetros
[in] Handle
Tipo: NDFHANDLE
Um identificador para o incidente da Estrutura de Diagnóstico de Rede.
[out] RootCauseCount
Tipo: ULONG*
O número de causas raiz que poderiam ter causado esse incidente. Se o diagnóstico não for bem-sucedido, o conteúdo desse parâmetro deverá ser ignorado.
[out] RootCauses
Tipo: RootCauseInfo**
Uma coleção de estruturas RootCauseInfo que contêm uma descrição detalhada da causa raiz. Se o diagnóstico for bem-sucedido, esse parâmetro conterá as causas raiz folha identificadas na sessão de diagnóstico e quaisquer causas raiz não folha que tenham um reparo disponível. Se o diagnóstico não for bem-sucedido, o conteúdo desse parâmetro deverá ser ignorado.
A memória alocada para essas estruturas deve ser liberada posteriormente. Para obter um exemplo de como fazer isso, consulte Os Exemplos de Diagnóstico de Rede do Microsoft Windows.
dwWait
Tipo: DWORD
O período de tempo, em milissegundos, para aguardar antes de encerrar a rotina de diagnóstico. INFINITE poderá ser passado para esse parâmetro se nenhum tempo limite for desejado.
dwFlags
Tipo: DWORD
Valores possíveis:
Valor | Significado |
---|---|
|
Ativa o rastreamento de rede durante o diagnóstico. Os resultados do diagnóstico serão incluídos no arquivo ETL (Log de Rastreamento de Eventos) retornado por NdfGetTraceFile. |
|
Aplica a filtragem às causas raiz retornadas para que elas sejam consistentes com o comportamento de diagnóstico com script in-box. Sem esse sinalizador, as causas raiz não serão filtradas. Esse sinalizador deve ser definido pelo chamador, portanto, os chamadores existentes não verão uma alteração no comportamento, a menos que especifiquem explicitamente esse sinalizador.
Nota Disponível somente em Windows 8 e Windows Server 2012.
|
Retornar valor
Tipo: HRESULT
Os possíveis valores retornados incluem, mas não se limitam a, o seguinte.
Código de retorno | Descrição |
---|---|
|
A operação foi realizada com êxito. |
|
O identificador de incidente NDF não é válido. |
|
A rotina de diagnóstico foi encerrada porque demorou mais do que o tempo limite especificado em dwWait. |
Comentários
Essa função destina-se a ser usada com cenários em que nenhuma interface do usuário é mostrada ou onde a experiência padrão do Windows não está sendo usada (como com o Centro de Mídia e aplicativos inseridos). O NdfExecuteDiagnosis iniciará o diagnóstico interface do usuário e deverá ser usado em cenários usando a experiência padrão do Windows. Você pode chamar NdfExecuteDiagnosis ou NdfDiagnoseIncident, mas não ambos.
Antes de usar essa API, um aplicativo deve chamar uma função de criação de incidentes, como NdfCreateWebIncident, para iniciar o processo de diagnóstico do NDF. Em seguida, o aplicativo chama NdfDiagnoseIncident para diagnosticar o problema. Se o processo de diagnóstico identificar alguns reparos possíveis, o aplicativo poderá chamar NdfRepairIncident para reparar o problema sem exibir uma interface do usuário. NdfCancelIncident pode, opcionalmente, ser chamado de um thread separado se o aplicativo quiser cancelar uma chamada NdfDiagnoseIncident em andamento . Por fim, o aplicativo chama NdfCloseIncident.
A tabela a seguir mostra alguns exemplos de causas raiz e seus reparos correspondentes.
GUID de causa raiz | Reparar GUID | Descrição da causa raiz | Descrição do reparo |
{4DA030B8-86E5-4b6a-A879-2FFF8443B527} | {1296DFF0-D04E-4be1-A512-90F04DDFA3E6} | Um cabo de rede não está conectado corretamente ou pode estar quebrado. | Conecte um cabo Ethernet a este computador.\nUm cabo Ethernet parece um cabo de telefone, mas com conectores maiores nas extremidades. Conecte esse cabo à abertura na parte traseira ou lateral do computador.\nVerifique se a outra extremidade do cabo está conectada ao roteador. Se isso não ajudar, tente usar um cabo diferente. |
{60372FD2-AD60-45c2-BD83-6B827FC438DF} | {07d37f7b-fa5e-4443-bda7-ab107b29afb6} | O adaptador %InterfaceName% está desabilitado. | Habilite o adaptador %FriendlyInterfaceName%. |
{245A9D66-AE9C-4518-A5B4-655752B0A5BD} | {07d37f7b-fa5e-4443-bda7-ab107b29afb9} | %InterfaceName%"" não tem uma configuração de IP válida. | Redefina o adaptador "%InterfaceName%"". \nÀs vezes, isso pode resolve um problema intermitente. |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | ndfapi.h |
Biblioteca | Ndfapi.lib |
DLL | Ndfapi.dll |