共用方式為


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