DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 结构 (d3dkmthk.h)

DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 结构用于注册新输入的电源状态。

语法

typedef struct _DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 {
  ULONG                         Version;
  PVOID                         PrivateHandle;
  PDXGK_POWER_NOTIFICATION      PowerNotificationCb;
  PDXGK_REMOVAL_NOTIFICATION    RemovalNotificationCb;
  PDXGK_FSTATE_NOTIFICATION     FStateNotificationCb;
  PDXGK_INITIAL_COMPONENT_STATE InitialComponentStateCb;
} DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2, *PDXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2;

成员

Version

正在使用的当前版本。 此值必须设置为以下DXGK_GRAPHICSPOWER_VERSIONs之一:

#define DXGK_GRAPHICSPOWER_VERSION_1_0 0x1000
#define DXGK_GRAPHICSPOWER_VERSION_1_1 0x1001
#define DXGK_GRAPHICSPOWER_VERSION_1_2 0x1002
#define DXGK_GRAPHICSPOWER_VERSION DXGK_GRAPHICSPOWER_VERSION_1_2

默认情况下,DXGK_GRAPHICSPOWER_VERSION表示最新版本。 图形子系统支持当前版本和所有以前的版本。 如果此值是无法识别的版本,我们将失败并出现STATUS_NOINTERFACE。 仅当非图形驱动程序是为当前正在运行的操作系统生成的,并且在这种情况下,我们希望非图形驱动程序以较低的版本号重试。

DXGK_GRAPHICSPOWER_VERSION_1_1支持 F 状态更改通知。 DXGK_GRAPHICSPOWER_VERSION_1_2支持对共享电源组件数据和状态进行初始枚举。

PrivateHandle

将在任何回调中提供的不透明句柄。 此句柄必须全局唯一,因此应使用指向调用驱动程序的 PDO 或 FDO 的指针。 此句柄将用作图形跟踪此特定注册的键,并将与非图形驱动程序回调相关联,以便处理其将来的删除。

PowerNotificationCb

一个回调,通知图形设备将进行设备电源状态转换,并提供新的DEVICE_POWER_STATE。 需要实现此回调。 请参阅 PDXGK_POWER_NOTIFICATION

RemovalNotificationCb

一个回调,通知正在删除图形设备。 对此 DeviceHandle 图形的任何进一步回调都将返回失败的 NTSTATUS 代码,并且将一直被阻止,直到从 RemovalNotificationCb 回调返回。 需要实现此回调。 请参阅 PDXGK_REMOVAL_NOTIFICATION

FStateNotificationCb

发出状态通知。 此回调是可选的,由非图形驱动程序使用。 请参阅 PDXGK_FSTATE_NOTIFICATION

InitialComponentStateCb

初始化组件状态。 请参阅 PDXGK_INITIAL_COMPONENT_STATE

注解

图形驱动程序通过响应 _DXGK_QUERYADAPTERINFOTYPE中的查询DXGKQAITYPE_NUMPOWERCOMPONENTS和DXGKQAITYPE_POWERCOMPONENTINFO来指示存在哪些电源组件。

如果图形驱动程序注册了至少一个 DXGK_POWER_COMPONENT_SHARED 组件,则会为该适配器创建 GRAPHICSPOWER 接口。 不会为不公开任何这些组件的适配器注册接口。

图形驱动程序可以通过将 DXGK_POWER_RUNTIME_COMPONENT 标志 ActiveInD3 设置为 0 来注册“阻止”组件,或通过将此标志设置为 1 来注册“非阻止”组件。

阻止电源组件将阻止图形设备在使用时关闭电源,而非阻塞电源组件则不会关闭。 两者都允许图形驱动程序在非图形驱动程序使用时正确管理其电源平面。

如果图形驱动程序希望为非图形驱动程序提供选择性地选择阻止或非阻塞用法的功能,则图形驱动程序可能会为单个物理/逻辑组件公开阻塞和非阻塞电源组件。

当 GRAPHICSPOWER 驱动程序接口可用并启用时,非图形驱动程序可以对图形驱动程序进行 IO 调用,以向图形驱动程序注册自身,并提供并获取用于管理共享电源组件的回调。 IO 调用将使用 IOCTL_INTERNAL_GRAPHICSPOWER_REGISTER 控制代码,输入数据 DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 和输出数据 _DXGK_GRAPHICSPOWER_REGISTER_OUTPUT

要求

要求
最低受支持的客户端 Windows 10版本 1803 (WDDM 2.4)
标头 d3dkmthk.h