функция обратного вызова GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION (gpioclx.h)
Функция обратного вызова события CLIENT_QuerySetControllerInformation запрашивает драйвер контроллера ввода-вывода общего назначения (GPIO) для указанного набора атрибутов контроллера GPIO.
Синтаксис
GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION GpioClientQuerySetControllerInformation;
NTSTATUS GpioClientQuerySetControllerInformation(
[in] PVOID Context,
[in] PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT InputBuffer,
[out, optional] PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT OutputBuffer
)
{...}
Параметры
[in] Context
Указатель на контекст устройства драйвера контроллера GPIO.
[in] InputBuffer
Указатель на структуру CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT , описывающую тип атрибутов, запрашиваемых вызывающим элементом.
[out, optional] OutputBuffer
Необязательный указатель на структуру CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT , в которую функция записывает значения запрошенных атрибутов.
Возвращаемое значение
Функция CLIENT_QuerySetControllerInformation возвращает STATUS_SUCCESS , если вызов выполнен успешно. Возможные возвращаемые значения включают следующий код ошибки.
Код возврата | Описание |
---|---|
|
Функция не поддерживает тип запрашиваемых атрибутов. |
Комментарии
Элемент RequestType структуры CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT , на который указывает InputBuffer , указывает тип запрашиваемых атрибутов. Список типов атрибутов, которые можно запросить, см. в разделе CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE.
Реализация функции CLIENT_QuerySetControllerInformation необязательна. Если драйвер контроллера GPIO реализует функцию CLIENT_QuerySetControllerInformation , эта функция может поддерживать некоторые типы запросов атрибутов, но не поддерживать другие. Если вызывающий объект запрашивает тип атрибута, который не поддерживается функцией, функция возвращает STATUS_NOT_SUPPORTED.
Примеры
Чтобы определить CLIENT_QuerySetControllerInformation функцию обратного вызова, необходимо сначала предоставить объявление функции, определяющее тип определяемой функции обратного вызова. Windows предоставляет набор типов функций обратного вызова для драйверов. Объявление функции с помощью типов функций обратного вызова помогает анализу кода для драйверов, средству проверки статических драйверов (SDV) и другим средствам проверки находить ошибки, и это требование для написания драйверов для операционной системы Windows.
Например, чтобы определить функцию обратного вызова CLIENT_QuerySetControllerInformation с именем MyEvtGpioQuerySetControllerInformation
, используйте тип функции GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION, как показано в следующем примере кода:
GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION MyEvtGpioQuerySetControllerInformation;
Затем реализуйте функцию обратного вызова следующим образом:
_Use_decl_annotations_
NTSTATUS
MyEvtGpioQuerySetControllerInformation(
PVOID Context,
PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT InputBuffer,
PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT OutputBuffer
)
{ ... }
Тип функции GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION определен в файле заголовка Gpioclx.h. Чтобы более точно определить ошибки при запуске средств анализа кода, обязательно добавьте заметку Use_decl_annotations в определение функции. Заметка Use_decl_annotations гарантирует использование заметок, применяемых к типу функции GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION в файле заголовка. Дополнительные сведения о требованиях к объявлениям функций см. в разделе Объявление функций с помощью типов ролей функций для драйверов KMDF. Дополнительные сведения о Use_decl_annotations см. в статье Поведение функции с заметками.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается начиная с Windows 8. |
Целевая платформа | Персональный компьютер |
Верхняя часть | gpioclx.h |
IRQL | Звонил на PASSIVE_LEVEL. |
См. также раздел
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT