функция обратного вызова GPIO_CLIENT_DISCONNECT_IO_PINS (gpioclx.h)
Функция обратного вызова события CLIENT_DisconnectIoPins закрывает логическое подключение к набору контактов ввода-вывода общего назначения (GPIO), настроенных для операций чтения и записи данных.
GPIO_CLIENT_DISCONNECT_IO_PINS GpioClientDisconnectIoPins;
NTSTATUS GpioClientDisconnectIoPins(
[in] PVOID Context,
[in] PGPIO_DISCONNECT_IO_PINS_PARAMETERS DisconnectParameters
)
{...}
[in] Context
Указатель на контекст устройства драйвера контроллера GPIO.
[in] DisconnectParameters
Указатель на структуру GPIO_DISCONNECT_IO_PINS_PARAMETERS , описывающую набор отсоединяемых контактов GPIO.
Функция CLIENT_DisconnectIoPins возвращает STATUS_SUCCESS, если вызов выполнен успешно. В противном случае возвращается соответствующий код ошибки.
Эта функция обратного вызова реализуется драйвером контроллера GPIO. Расширение платформы GPIO (GpioClx) вызывает эту функцию, чтобы закрыть соединение, которое ранее было открыто вызовом функции обратного вызова CLIENT_ConnectIoPins .
Чтобы зарегистрировать функцию обратного вызова CLIENT_DisconnectIoPins драйвера, вызовите метод GPIO_CLX_RegisterClient . Этот метод принимает в качестве входного параметра указатель на структуру GPIO_CLIENT_REGISTRATION_PACKET , содержащую указатель CLIENT_DisconnectIoPins функции.
Чтобы определить функцию обратного вызова CLIENT_DisconnectIoPins , необходимо сначала предоставить объявление функции, определяющее тип определяемой функции обратного вызова. Windows предоставляет набор типов функций обратного вызова для драйверов. Объявление функции с помощью типов функций обратного вызова помогает анализу кода для драйверов, средству проверки статических драйверов (SDV) и другим средствам проверки находить ошибки, и это требование для написания драйверов для операционной системы Windows.
Например, чтобы определить функцию обратного вызова CLIENT_DisconnectIoPins с именем MyEvtGpioDisconnectIoPins
, используйте тип функции GPIO_CLIENT_DISCONNECT_IO_PINS, как показано в следующем примере кода:
GPIO_CLIENT_DISCONNECT_IO_PINS MyEvtGpioDisconnectIoPins;
Затем реализуйте функцию обратного вызова следующим образом:
_Use_decl_annotations_
NTSTATUS
MyEvtGpioDisconnectIoPins(
PVOID Context,
PGPIO_DISCONNECT_IO_PINS_PARAMETERS DisconnectParameters
)
{ ... }
Тип функции GPIO_CLIENT_DISCONNECT_IO_PINS определен в файле заголовка Gpioclx.h. Чтобы более точно определить ошибки при запуске средств анализа кода, не забудьте добавить заметку Use_decl_annotations в определение функции. Заметка Use_decl_annotations гарантирует использование заметок, которые применяются к типу функции GPIO_CLIENT_DISCONNECT_IO_PINS в файле заголовка. Дополнительные сведения о требованиях к объявлениям функций см. в статье Объявление функций с помощью типов ролей функций для драйверов KMDF. Дополнительные сведения о Use_decl_annotations см. в статье О поведении функции.
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается начиная с Windows 8. |
Целевая платформа | Персональный компьютер |
Верхняя часть | gpioclx.h |
IRQL | Вызывается на PASSIVE_LEVEL. |