Share via


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 エクスペリエンスが使用されていないシナリオ (Media Center や埋め込みアプリケーションなど) で使用することを目的としています。 NdfExecuteDiagnosis は、診断ユーザー インターフェイスを起動し、標準の Windows エクスペリエンスを使用するシナリオで使用する必要があります。 NdfExecuteDiagnosis または 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%"" adapter.\nをリセットすると、断続的な問題が解決することがあります。

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ndfapi.h
Library Ndfapi.lib
[DLL] Ndfapi.dll

こちらもご覧ください

NdfExecuteDiagnosis

NdfGetTraceFile

RootCauseInfo