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_SETTINGS结构的HWN_HEADER,其中请求的硬件通知组件的 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
目标平台 Windows
标头 hwnclx.h
IRQL PASSIVE_LEVEL

另请参阅

硬件通知支持

硬件通知参考