функция обратного вызова GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION (gpioclx.h)

Функция обратного вызова событий CLIENT_QueryControllerBasicInformation извлекает аппаратные атрибуты контроллера ввода-вывода общего назначения (GPIO).

Синтаксис

GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION GpioClientQueryControllerBasicInformation;

NTSTATUS GpioClientQueryControllerBasicInformation(
  [in]  PVOID Context,
  [out] PCLIENT_CONTROLLER_BASIC_INFORMATION Information
)
{...}

Параметры

[in] Context

Указатель на контекст устройства драйвера контроллера GPIO.

[out] Information

Указатель на структуру, выделенную вызывающим объектом CLIENT_CONTROLLER_BASIC_INFORMATION . Функция CLIENT_QueryControllerBasicInformation записывает атрибуты оборудования контроллера GPIO и сведения о конфигурации в эту структуру.

Возвращаемое значение

Функция CLIENT_QueryControllerBasicInformation возвращает STATUS_SUCCESS, если вызов выполнен успешно. В противном случае возвращается соответствующий код ошибки.

Примечания

Эта функция обратного вызова реализуется драйвером контроллера GPIO. Расширение платформы GPIO (GpioClx) вызывает эту функцию.

Функция обратного вызова CLIENT_QueryControllerBasicInformation должна задавать все члены структуры CLIENT_CONTROLLER_BASIC_INFORMATION , включая члены версии и размера . GpioClx не инициализирует член Size перед вызовом этой функции, но буфер, на который указывает параметр Information , гарантированно будет достаточно большим, чтобы содержать версию этой структуры, которую использует драйвер контроллера GPIO.

Чтобы зарегистрировать функцию обратного вызова CLIENT_QueryControllerBasicInformation драйвера, вызовите метод GPIO_CLX_RegisterClient . Этот метод принимает в качестве входного параметра указатель на структуру GPIO_CLIENT_REGISTRATION_PACKET , содержащую указатель функции CLIENT_QueryControllerBasicInformation .

Примеры

Чтобы определить функцию обратного вызова CLIENT_QueryControllerBasicInformation , необходимо сначала указать объявление функции, определяющее тип определяемой функции обратного вызова. Windows предоставляет набор типов функций обратного вызова для драйверов. Объявление функции с использованием типов функций обратного вызова помогает анализу кода для драйверов, средства проверки статических драйверов (SDV) и других средств проверки найти ошибки, и это требование для написания драйверов для операционной системы Windows.

Например, чтобы определить функцию обратного вызова CLIENT_QueryControllerBasicInformation , которая называется MyEvtGpioQueryControllerBasicInformation, используйте тип функции GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION, как показано в следующем примере кода:

GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION MyEvtGpioQueryDeviceInformation;

Затем реализуйте функцию обратного вызова следующим образом:

_Use_decl_annotations_
NTSTATUS
  MyEvtGpioQueryDeviceInformation(
    PVOID Context,
    PCLIENT_CONTROLLER_BASIC_INFORMATION Information
    )
{ ... }

Тип функции GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION определен в файле заголовка Gpioclx.h. Чтобы точнее определить ошибки при запуске средств анализа кода, обязательно добавьте в определение функции заметку Use_decl_annotations . Заметка Use_decl_annotations гарантирует, что используются заметки, применяемые к типу функции GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION в файле заголовка. Дополнительные сведения о требованиях к объявлениям функций см. в разделе "Объявление функций с помощью типов ролей функций для драйверов KMDF". Дополнительные сведения о Use_decl_annotations см. в разделе "Поведение функции аннотирования".

Требования

   
Минимальная версия клиента Поддерживается начиная с Windows 8.
Целевая платформа Рабочий стол
Заголовок gpioclx.h
IRQL Вызывается в PASSIVE_LEVEL.

См. также

CLIENT_CONTROLLER_BASIC_INFORMATION

GPIO_CLIENT_REGISTRATION_PACKET

GPIO_CLX_RegisterClient