ndfDiagnoseIncident 函式 (ndfapi.h)

NdfDiagnoseIncident 函式會診斷事件的根本原因,而不顯示使用者介面。

語法

void NdfDiagnoseIncident(
  [in]  NDFHANDLE     Handle,
  [out] ULONG         *RootCauseCount,
  [out] RootCauseInfo **RootCauses,
        DWORD         dwWait,
        DWORD         dwFlags
);

參數

[in] Handle

類型: NDFHANDLE

網路診斷架構事件的句柄。

[out] RootCauseCount

類型: ULONG*

可能造成此事件的根本原因數目。 如果診斷不成功,應該忽略此參數的內容。

[out] RootCauses

類型: RootCauseInfo**

RootCauseInfo 結構的集合,其中包含根本原因的詳細描述。 如果診斷成功,此參數會同時包含診斷會話中所識別的分葉根原因,以及具有可用修復的任何非分葉根原因。 如果診斷不成功,應該忽略此參數的內容。

稍後應該釋放配置給這些結構的記憶體。 如需如何執行這項操作的範例,請參閱 Microsoft Windows 網路診斷範例。

dwWait

類型: DWORD

終止診斷例程之前要等候的時間長度,以毫秒為單位。 如果不需要逾時,INFINITE 可能會傳遞至此參數。

dwFlags

類型: DWORD

可能的值:

值 意義
NDF_ADD_CAPTURE_TRACE
0x0001
在診斷期間開啟網路追蹤。 診斷結果會包含在 NdfGetTraceFile 所傳回的事件追蹤記錄檔 (ETL) 檔案中。
NDF_APPLY_INCLUSION_LIST_FILTER
0x0002
將篩選套用至傳回的根本原因,使其與內建腳本診斷行為一致。 如果沒有此旗標,將不會篩選根本原因。 此旗標必須由呼叫端設定,因此除非現有呼叫端明確指定此旗標,否則不會看到行為變更。
注意僅適用於 Windows 8和 Windows Server 2012。
 

傳回值

類型: HRESULT

可能的傳回值包括但不限於下列各項。

傳回碼 描述
S_OK
作業成功。
E_HANDLE
NDF 事件句柄無效。
WAIT_TIMEOUT
診斷例程已終止,因為它所花費的時間超過 dwWait 中指定的逾時時間。

備註

此函式適用於未顯示任何使用者介面的情況,或未 (使用標準 Windows 體驗的情況,如同媒體中心和內嵌應用程式) 。 NdfExecuteDiagn, 將會啟動診斷使用者介面,且應該用於使用標準 Windows 體驗的案例中。 您可以呼叫 NdfExecuteDiagn, 或 NdfDiagnoseIncident,但不能同時呼叫這兩者。

使用此 API 之前,應用程式必須呼叫事件建立函式,例如 NdfCreateWebIncident ,才能開始 NDF 診斷程式。 應用程式接著會呼叫 NdfDiagnoseIncident 來診斷問題。 如果診斷程序識別出一些可能的修復,應用程式可以呼叫 NdfRepairIncident 來修復問題,而不顯示使用者介面。 如果應用程式想要取消進行中的 NdfDiagnoseIncident 呼叫,可以選擇性地從個別線程呼叫 NdfCancelIncident。 最後,應用程式會呼叫 NdfCloseIncident。

下表顯示一些根本原因及其對應的修復範例。

根本原因 GUID 修復 GUID 根本原因描述 修復描述
{4DA030B8-86E5-4b6a-A879-2FFF8443B527} {1296DFF0-D04E-4be1-A512-90F04DDFA3E6} 網路纜線未正確插入或可能中斷。 將乙太網路纜線插入這部計算機。\n乙太網路纜線看起來像電話纜線,但端點上有較大的連接器。 將此纜線插入電腦背面或側邊的開啟。\n請確定纜線的另一端已插入路由器。 如果這沒有説明,請嘗試使用不同的纜線。
{60372FD2-AD60-45c2-BD83-6B827FC438DF} {07d37f7b-fa5e-4443-bda7-ab107b29afb6} %InterfaceName% 配接器已停用。 啟用 %FriendlyInterfaceName% 配接器。
{245A9D66-AE9C-4518-A5B4-655752B0A5BD} {07d37f7b-fa5e-4443-bda7-ab107b29afb9} %InterfaceName%“ 沒有有效的 IP 組態。 重設 「%InterfaceName%」配接器。\n這有時會解決間歇性問題。

規格需求

需求 值
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限桌面應用程式]
目標平台 Windows
標頭 ndfapi.h
程式庫 Ndfapi.lib
Dll Ndfapi.dll

另請參閱

NdfExecuteDiagn一

NdfGetTraceFile

RootCauseInfo