Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Структура 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.
Замечания
Графические драйверы указывают, какие компоненты питания существуют, отвечая на запросы DXGKQAITYPE_NUMPOWERCOMPONENTS и DXGKQAITYPE_POWERCOMPONENTINFO в _DXGK_QUERYADAPTERINFOTYPE.
Если графический драйвер регистрирует по крайней мере один компонент DXGK_POWER_COMPONENT_SHARED, для этого адаптера будет создан интерфейс GRAPHICSPOWER. Интерфейс не будет зарегистрирован для адаптеров, которые не предоставляют ни одного из этих компонентов.
Графические драйверы могут зарегистрировать компонент блокировки, задав флаг DXGK_POWER_RUNTIME_COMPONENTActiveInD3 значение 0или компонент без блокировки, задав этот флаг 1.
Блокирующий компонент питания предотвратит выключение графического устройства при использовании, пока не блокирующий компонент питания не будет. Оба позволяют графическому драйверу правильно управлять своими плоскостями питания при использовании не графического драйвера.
Графический драйвер может предоставлять как блокирующий, так и неблокирующий компонент питания для одного физического или логического компонента, если он хочет предоставить возможность не графического драйвера выборочно выбирать блокировку или неблокировочное использование.
Если интерфейс драйвера GRAPHICSPOWER доступен и включен, драйвер, отличный от графики, может вызвать драйвер графики для регистрации себя в графическом драйвере, предоставляя и получая обратные вызовы, которые будут использоваться для управления общими компонентами питания. Вызов ввода-вывода будет использовать код элемента управления IOCTL_INTERNAL_GRAPHICSPOWER_REGISTER с входными данными DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 и выходными данными _DXGK_GRAPHICSPOWER_REGISTER_OUTPUT.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Windows 10 версии 1803 (WDDM 2.4) |
| заголовка | d3dkmthk.h |