Проектирование расширений вспомогательного класса NDF
Этот раздел предназначен для предоставления общих рекомендаций по процессу разработки расширения вспомогательного класса. Рекомендации в этом разделе относятся ко всем расширениям вспомогательных классов. Дополнительные рекомендации см. в статьях Расширяемый вспомогательный класс платформы фильтрации Windows и 802.11 Wireless Diagnostics Extensible Helper Classes.
Расширение функциональных возможностей NDF
Windows Vista и более поздние версии поставляются с различными вспомогательными классами, которые могут диагностировать и устранять различные проблемы. Однако иногда сторонние разработчики могут захотеть расширить эти вспомогательные классы для диагностики и устранения проблем, связанных с конкретными продуктами и реализациями.
Следующие вспомогательные классы Microsoft NDF являются расширяемыми.
Реализация расширения вспомогательного класса
Корпорация Майкрософт поставляет два интерфейса, которые можно использовать для разработки расширений вспомогательного класса NDF.
Интерфейс INetDiagHelperInfo вызывается NDF, чтобы убедиться, что у него есть все необходимые сведения и выбран правильный вспомогательный класс. Это достигается с помощью метода GetAttributeInfo .
Интерфейс INetDiagHelper вызывается NDF для большинства действий, выполняемых во время процедуры диагностики. Некоторые из его методов являются обязательными, но другие являются необязательными для конкретных применений.
К обязательным методам относятся Initialize и GetDiagnosticsInfo. NDF вызывает Initialize для отправки ключевых параметров в расширение вспомогательного класса для инициализации состояния экземпляра. GetDiagnosticsInfo предоставляет оценку того, сколько времени может занять диагностика и требуется ли олицетворение исходного контекста пользователя.
Другой метод, LowHealth, вызывается для выполнения диагностики сетевого компонента, соответствующего вспомогательному классу. Отмена вызывается, когда NDF определяет, что текущая диагностика или восстановление должны быть остановлены. Очистка позволяет NDF освободить ресурсы NDF, которые расширение вспомогательного класса использовало с момента вызова метода Initialize .
Дополнительные сведения о методах см. в разделе INetDiagHelper.
Расширения вспомогательного класса NDF используются для диагностики и устранения проблем с подключением, связанных с конкретным приложением или компонентом. Они также проверяют успешность или неудачу попытки разрешения.
Разработчики, рассматривающие реализацию расширения вспомогательного класса, должны выполнять следующие задачи.
- Определите пользовательские сценарии, в которых полезны действия по диагностике и восстановлению.
- Предоставьте решения для часто встречающихся проблем с подключением.
- Если требуется расширение вспомогательного класса, определите модель работоспособности компонента, используемую для представления состояния работоспособности компонента в NDF.
Определение пользовательских сценариев
Тестирование и использование приложения, возможно, уже предоставили заметные шаблоны, которые расширение вспомогательного класса может диагностировать и, возможно, исправить. Разработчики приложений могут использовать эти данные для определения наиболее важных проблем с подключением для решения и определения сценариев пользователей, в которых могут возникнуть проблемы с подключением.
Определение первопричины каждой проблемы имеет жизненно важное значение в этой части процесса. Это может потребовать обширных исследований, но поможет создать программное обеспечение, которое гораздо проще для пользователей и администраторов в использовании. Если первопричина не определена, становится трудно или невозможно предложить решение проблемы с помощью расширения вспомогательного класса.
Предоставление разрешений
После того как группа разработчиков определит первопричины проблем, связанных с программным обеспечением, следующим шагом является определение соответствующих действий по устранению проблемы, которые помогут пользователю решить проблему как можно эффективнее.
Не для всех решений требуется создание расширения вспомогательного класса или автоматического действия. В некоторых случаях команда может определить, что лучший подход к устранению первопричины заключается в исправлении или обновлении компонента, предоставлении дополнительных справочных материалов для компонента или разработке других стратегий, которые обеспечивают лучшие долгосрочные решения.
Для задач, в которых автоматизированное действие идеально подходит, создание расширения вспомогательного класса NDF часто является отличным решением.
Расширения вспомогательного класса возвращают пользователям сведения о первопричинах и восстанавливают их с помощью NDF. Строки, используемые для описания первопричин и сведений о восстановлении, должны быть простыми и простыми для понимания нетехнических пользователей. Дополнительные сведения об этих строках см. в разделе Рекомендации по пользовательскому интерфейсу для расширений вспомогательного класса NDF.
Определение модели работоспособности компонентов
Разработчики программного обеспечения должны определять уровни "работоспособности", связанные с возможностью управления сетевыми проблемами. Модель работоспособности, используемая для разработки вспомогательных классов, определяет только два уровня работоспособности: работоспособный и неработоспособный. Эти уровни также можно применять к расширениям вспомогательного класса NDF.
Работоспособность компонента указывает на отсутствие проблем. Компонент можно считать неработоспособным из-за его собственных проблем или из-за проблем, возникающих в других компонентах, от которых он зависит.
Термин | Описание |
---|---|
LowHealth |
Это состояние указывает на неприемлемый уровень сбоев этого компонента, а также на то, что компонент является проблемой. |
LowHealth ниже |
Это состояние указывает на неприемлемый уровень сбоев компонента локального компьютера, от котором зависит этот компонент. |
При диагностике с помощью NDF расширение вспомогательного класса получает ряд вопросов, чтобы определить состояние работоспособности. Если расширение отвечает, что оно неработоспособно, NDF задает уточняющие вопросы, пытаясь диагностировать проблему, ее расположение и место для поиска. Каждый вспомогательный класс должен иметь возможность ответить на вопрос о низкой работоспособности, чтобы лучше направлять соответствующие диагностические действия.