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 结构,其中请求的硬件通知组件的 ID 存储在 HwNId 字段中。 此缓冲区可以为 NULL。

[in] InputBufferLength

InputBuffer 的大小(以字节为单位)。

[out] BytesRead

指向指示函数读取的字节数的变量的指针。

返回值

如果作成功,则返回STATUS_SUCCESS。 否则,返回相应的 NTSTATUS 错误代码。

言论

通过设置 HWN_CLIENT_REGISTRATION_PACKET 的相应成员,然后调用 HwNRegisterClient来注册此回调函数的实现。

  • 如果 InputBuffer 为 NULL,则输出缓冲区将用于存储 HWN_HEADER 结构,其中包含驱动程序实现的硬件通知的所有设置。

    硬件通知组件的设置存储在 HWN_SETTINGS 结构中。 HWN_HEADER 结构的 HwNSettingsInfo 字段包含 HWN_SETTINGS 结构的数组。

  • 如果 InputBuffer 不为 null 且格式正确,则它将包含一个或多个 HWN_SETTINGS 结构的 HWN_HEADER。 请求的硬件通知组件的 ID 存储在 HWN_SETTINGS 结构的 HwNId 字段中。 其余设置应为有效设置或零。
  • 如果 OutputBuffer 不足以包含请求的所有设置,则此函数不应将任何内容写入 OutputBuffer。 此外,它应将 BytesRead 设置为 0 并返回错误。

要求

要求 价值
最低支持的客户端 Windows 10 版本 1709
支持的最低服务器 Windows Server 2016
目标平台 窗户
标头 hwnclx.h
IRQL PASSIVE_LEVEL

另请参阅

硬件通知支持

硬件通知参考