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