Поддержка PnP и управления питанием в драйвере

По умолчанию платформа обрабатывает все запросы PnP и управления питанием, которые система отправляет драйверам на основе платформы. Кроме того, по умолчанию платформа доставляет запросы ввода-вывода драйверу функции только в том случае, если оборудование драйвера доступно и находится в рабочем состоянии (D0).

При написании драйвера на основе платформы можно использовать большую часть поведения платформы по умолчанию, чтобы легко поддерживать возможности PnP и управления питанием вашего устройства. Однако если все драйверы в стеке драйверов использовали только PnP платформы по умолчанию и поведение управления питанием, вероятно, устройство будет работать неправильно. Например, драйверу функции устройства может потребоваться включить устройство, когда устройство переходит в рабочее (D0) состояние.

Таким образом, объект устройства платформы предоставляет набор функций обратного вызова событий и набор методов объекта, которые позволяют драйверам на основе платформы участвовать в операциях управления PnP и питанием. Эти функции обратного вызова и методы объектов позволяют каждому драйверу в стеке предоставлять только необходимую поддержку PnP и управления питанием.

Как правило, каждый из различных драйверов в стеке драйверов отвечает за поддержку нескольких операций PnP и управления питанием. Операции, которые должен поддерживать драйвер, зависят от типа создаваемого драйвера и возможностей, которые предоставляет устройство. Дополнительные сведения о том, какие операции должен поддерживать драйвер, см. в разделе: