Функция 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
Возможные значения:
Значение | Значение |
---|---|
|
Включает трассировку сети во время диагностики. Результаты диагностики будут включены в файл журнала трассировки событий (ETL), возвращенный NdfGetTraceFile. |
|
Применяет фильтрацию к возвращенным первопричинам, чтобы они соответствовали встроенному диагностика поведению. Без этого флага не будут фильтроваться первопричины. Этот флаг должен быть установлен вызывающим элементом, поэтому существующие вызывающие абоненты не будут видеть изменения в поведении, если они явно не укажет этот флаг.
Примечание Доступно только в Windows 8 и Windows Server 2012.
|
Возвращаемое значение
Тип: HRESULT
Возможные возвращаемые значения включают, помимо прочего, следующие.
Код возврата | Описание |
---|---|
|
Операция успешно выполнена. |
|
Недопустимый дескриптор инцидента NDF. |
|
Подпрограмма диагностики завершена, так как она заняла больше времени ожидания, указанного в dwWait. |
Комментарии
Эта функция предназначена для использования в сценариях, где пользовательский интерфейс не отображается или где не используется стандартный интерфейс Windows (как в Случае с Media Center и внедренными приложениями). NdfExecuteDiagnosis запустит пользовательский интерфейс диагностика и должен использоваться в сценариях, использующих стандартный интерфейс Windows. Можно вызвать либо NdfExecuteDiagnosis , либо NdfDiagnoseIncident, но не оба метода.
Перед использованием этого API приложение должно вызвать функцию создания инцидентов, например NdfCreateWebIncident, чтобы начать процесс диагностика NDF. Затем приложение вызывает NdfDiagnoseIncident для диагностики проблемы. Если процесс диагностика определяет некоторые возможные исправления, приложение может вызвать NdfRepairIncident, чтобы устранить проблему без отображения пользовательского интерфейса. При необходимости NdfCancelIncident можно вызвать из отдельного потока, если приложение хочет отменить текущий вызов NdfDiagnoseIncident . Наконец, приложение вызывает NdfCloseIncident.
В следующей таблице показаны некоторые примеры первопричин и их исправления.
Идентификатор GUID первопричины | Guid восстановления | Описание первопричины | Описание восстановления |
{4DA030B8-86E5-4b6a-A879-2FFF8443B527} | {1296DFF0-D04E-4be1-A512-90F04DDFA3E6} | Сетевой кабель не подключен должным образом или может быть разорван. | Подключите кабель Ethernet к этому компьютеру.\nКабель Ethernet выглядит как телефонный кабель, но с большими соединителями на концах. Подключите этот кабель к проему на задней или боковой стороне компьютера.\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 |
Header | ndfapi.h |
Библиотека | Ndfapi.lib |
DLL | Ndfapi.dll |