структура DXGK_TIMED_OPERATION_INTERFACE (dispmprt.h)
Структура DXGK_TIMED_OPERATION_INTERFACE содержит указатели на функции в интерфейсе операций timed, который реализуется драйвером порта отображения.
Синтаксис
typedef struct _DXGK_TIMED_OPERATION_INTERFACE {
USHORT Size;
USHORT Version;
PVOID Context;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
NTSTATUS((DXGK_TIMED_OPERATION *Op, const LARGE_INTEGER *Timeout,BOOLEAN OsHandled) * )TimedOperationStart;
NTSTATUS((DXGK_TIMED_OPERATION *Op,KPROCESSOR_MODE WaitMode,BOOLEAN Alertable, const LARGE_INTEGER *Interval) * )TimedOperationDelay;
NTSTATUS((DXGK_TIMED_OPERATION *Op,PVOID Object,KWAIT_REASON WaitReason,KPROCESSOR_MODE WaitMode,BOOLEAN Alertable, const LARGE_INTEGER *Timeout) * )TimedOperationWaitForSingleObject;
} DXGK_TIMED_OPERATION_INTERFACE, *PDXGK_TIMED_OPERATION_INTERFACE;
Члены
Size
Размер этой структуры в байтах.
Version
Номер версии интерфейса операции timed. Константы номеров версий определяются в Dispmprt.h (например, DXGK_TIMED_OPERATION_INTERFACE_VERSION_1).
Context
Указатель на контекст, предоставляемый драйвером порта отображения.
InterfaceReference
Указатель на функцию ссылочного интерфейса, реализованную драйвером порта отображения.
InterfaceDereference
Указатель на функцию расшифровки интерфейса, реализованную драйвером порта отображения.
TimedOperationStart
Функция TimedOperationStart запускает или перезапускает время выполнения операции.
Драйвер должен предустановить элемент размера структуры DXGK_TIMED_OPERATION, на которую указывает параметр Op, чтобы sizeof(DXGK_TIMED_OPERATION). Ниже приведены описания параметров для TimedOperationStart.
[out] Op — это указатель на структуру DXGK_TIMED_OPERATION, которая описывает время запуска или перезапуска операции.
[in] Timeout — это указатель на значение времени ожидания в единицах 100-nanoseconds, указывающее относительное время завершения операции.
[in] OsHandled — логическое значение, указывающее, обрабатывает ли операционная система условие времени ожидания. Значение TRUE указывает, что драйвер не имеет разумного способа обработки условия ожидания и позволяет операционной системе обрабатывать условие времени ожидания; FALSE указывает, что драйвер обрабатывает условие времени ожидания.
TimedOperationDelay
Функция TimedOperationDelay помещает текущий поток в оповещаемое или непередаваемое состояние ожидания для заданного интервала в отношении заданного времени ожидания операции. Описания параметров для TimedOperationDelay следуйте инструкциям.
[in/out] Op — это указатель на структуру DXGK_TIMED_OPERATION, которая описывает время ожидания операции задержки. Эта операция была запущена вызовом функции TimedOperationStart.
[in] WaitMode — это KPROCESSOR_MODE типизированное значение, указывающее режим процессора, в котором драйвер ожидает. Это значение может быть либо KernelMode, либо UserMode. Драйверы нижнего уровня в стеке должны указывать KernelMode.
[in] оповещений — логическое значение, указывающее, является ли ожидание оповещенным. Значение TRUE указывает, что ожидание оповещается; FALSE указывает, что ожидание не допускается. Драйверы нижнего уровня в стеке должны указывать FALSE.
[in] Интервал — это указатель на переменную, содержащую относительное время в единицах задержки 100-nanoseconds. Знак значения игнорируется.
TimedOperationWaitForSingleObject
Функция TimedOperationWaitForSingleObject помещает текущий поток в состояние ожидания, пока заданный объект диспетчера не будет задано сигнальное состояние или при необходимости до истечения времени ожидания или до истечения времени ожидания заданной операции времени ожидания. Ниже приведены описания параметров для TimedOperationWaitForSingleObj ect.
[in] Op — это указатель на структуру DXGK_TIMED_OPERATION, которая описывает время ожидания операции. Эта операция была запущена вызовом функции TimedOperationStart.
объект — это указатель на объект инициализированного диспетчера, для который вызывающий объект предоставляет хранилище. Объект диспетчера может быть событием, мьютексом, семафором, потоком или таймером.
WaitReason — это KWAIT_REASON типизированное значение, указывающее причину ожидания. Драйвер должен задать это значение исполнительной или, если драйвер выполняет работу от имени пользователя и выполняется в контексте потока пользователя, чтобы UserRequest.
WaitMode — это KPROCESSOR_MODE типизированное значение, указывающее режим процессора, в котором драйвер ожидает. Это значение может быть либо KernelMode, либо UserMode. Для наименьшего уровня и промежуточных драйверов следует указать KernelMode. Если объект, на который указывает параметр объекта, является мьютексом, вызывающий объект должен указать KernelMode.
оповещений — это логическое значение, указывающее, является ли ожидание оповещенным. Значение TRUE указывает, что ожидание оповещается; FALSE указывает, что ожидание не допускается.
время ожидания — это указатель на переменную, содержащую относительное время в единицах 100-nanoseconds, для завершения ожидания. Знак значения игнорируется.
Замечания
Драйвер мини-порта отображения предоставляет Размер и версии членов этой структуры, а затем вызывает DxgkCbQueryServices, которая заполняет остальные элементы этой структуры.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista |
заголовка | dispmprt.h (include Dispmprt.h) |