функция обратного вызова HWN_CLIENT_GET_STATE (hwnclx.h)
Реализуется драйвером клиента для получения состояния компонента уведомления оборудования. Он вызывается, когда пользователь запрашивает сведения о состоянии.
Синтаксис
HWN_CLIENT_GET_STATE HwnClientGetState;
NTSTATUS HwnClientGetState(
[in] PVOID Context,
[out] PVOID OutputBuffer,
[in] ULONG OutputBufferLength,
[in] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out] PULONG BytesRead
)
{...}
Параметры
[in] Context
Указатель на сведения о контексте драйвера клиента. Это пространство памяти доступно для использования драйвером клиента. Он выделяется как часть контекстного пространства объекта платформы с помощью WdfDeviceCreate. Дополнительные сведения см . в разделе HWN_CLIENT_REGISTRATION_PACKET и контекстного пространства объектов платформы.
[out] OutputBuffer
Буфер байтов OutputBufferLength для записи состояния уведомления оборудования. Если функция будет выполнена успешно, буфер будет содержать HWN_HEADER структуру, включаемую одну или несколько HWN_SETTINGS структур.
OutputBufferLength должен быть достаточно большим, чтобы содержать все запрошенные параметры. Дополнительные сведения см. в подразделе "Примечания".
[in] OutputBufferLength
Размер OutputBuffer в байтах.
[in] InputBuffer
Буфер байтов InputBufferLength , содержащий HWN_HEADER , содержащий одну или несколько HWN_SETTINGS структур, в которых идентификаторы для запрошенных аппаратных компонентов уведомлений хранятся в поле HwNId . Этот буфер может иметь значение NULL.
[in] InputBufferLength
Размер InputBuffer в байтах.
[out] BytesRead
Указатель на переменную, указывающую количество байтов, прочитанных функцией.
Возвращаемое значение
Если операция выполнена успешно, возвращается STATUS_SUCCESS. В противном случае верните соответствующий код ошибки NTSTATUS .
Комментарии
Зарегистрируйте реализацию этой функции обратного вызова, задав соответствующий член HWN_CLIENT_REGISTRATION_PACKET , а затем вызвав HwNRegisterClient.
-
Если inputBuffer имеет значение NULL, выходной буфер будет использоваться для хранения структуры HWN_HEADER , содержащей все параметры для аппаратных уведомлений, реализованных драйвером.
Параметры для аппаратного компонента уведомлений хранятся в HWN_SETTINGS структуре. Поле HwNSettingsInfo структуры HWN_HEADER содержит массив HWN_SETTINGS структур.
- Если InputBuffer не имеет значения NULL и имеет правильный формат, он будет содержать HWN_HEADER с одной или несколькими HWN_SETTINGS структурами. Идентификаторы для запрошенных аппаратных компонентов уведомлений хранятся в поле HwNId структуры HWN_SETTINGS . Остальные параметры должны быть допустимыми или нулевыми.
- Если OutputBuffer недостаточно велик, чтобы содержать все запрошенные параметры, эта функция не должна записывать ничего в OutputBuffer. Кроме того, он должен задать для BytesRead значение 0 и вернуть ошибку.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 версии 1709 |
Минимальная версия сервера | Windows Server 2016 |
Целевая платформа | Windows |
Header | hwnclx.h |
IRQL | PASSIVE_LEVEL |