Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Устройство контроллера ввода-вывода общего назначения (GPIO) представлено объектом устройства платформы. Драйвер контроллера GPIO может связать контекст устройства с этим объектом устройства. Драйвер использует этот контекст устройства для постоянного хранения сведений о состоянии устройства контроллера GPIO.
Когда расширение платформы GPIO (GpioClx) вызывает функцию обратного вызова событий, реализованную драйвером, GpioClx передает контекст устройства этой функции в качестве параметра. Функция обратного вызова проверяет контекст устройства, чтобы определить текущее состояние устройства. Если функция изменяет это состояние, оно обновляет контекст устройства соответствующим образом.
GpioClx выделяет хранилище для объекта устройства. Если драйвер контроллера GPIO имеет несколько объектов устройства, контекст устройства для каждого из этих объектов имеет одинаковый размер. Во время подпрограммы DriverEntry драйвер вызывает метод GPIO_CLX_RegisterClient для регистрации функций обратного вызова и указания необходимого размера контекста устройства. Позже во время подпрограммы обратного вызова EvtDriverDeviceAdd драйвер вызывает метод GPIO_CLX_ProcessAddDevicePostDeviceCreate для передачи нового объекта устройства в GpioClx, а GpioClx выделяет контекст устройства для этого объекта. После этого, когда GpioClx вызывает функцию обратного вызова, реализованную драйвером, этот контекст устройства передается функции в качестве параметра.