DXGK_TIMED_OPERATION_INTERFACE 结构 (dispmprt.h)
DXGK_TIMED_OPERATION_INTERFACE 结构包含指向由显示端口驱动程序实现的计时操作接口中的函数的指针。
语法
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
计时操作接口的版本号。 版本号常量在 Dispmprt.h (中定义,例如,DXGK_TIMED_OPERATION_INTERFACE_VERSION_1) 。
Context
指向显示端口驱动程序提供的上下文的指针。
InterfaceReference
指向由显示端口驱动程序实现的接口引用函数的指针。
InterfaceDereference
指向由显示端口驱动程序实现的接口取消引用函数的指针。
TimedOperationStart
TimedOperationStart 函数启动或重启计时操作。
驱动程序应将 op 参数指向的 DXGK_TIMED_OPERATION 结构的 Size 成员预设为 sizeof (DXGK_TIMED_OPERATION) 。 以下为 TimedOperationStart 的参数说明。
[out] Op 是指向描述要启动或重启的计时操作 的DXGK_TIMED_OPERATION 结构的指针。
[in] Timeout 是指向超时值的指针,以 100 纳秒为单位,该值指定为计时操作完成而分配的相对时间。
[in] OsHandled 是一个布尔值,指定操作系统是否处理超时条件。 值为 TRUE 表示驱动程序没有任何合理的方法来处理超时条件,并允许操作系统处理超时条件;FALSE 指示驱动程序处理超时条件。
TimedOperationDelay
TimedOperationDelay 函数将当前线程置于给定的超时操作超时的给定间隔内处于可警报或不可等待状态。以下为 TimedOperationDelay 的参数说明。
[in/out] Op 是指向描述要延迟的计时操作 的DXGK_TIMED_OPERATION 结构的指针。 此计时操作是通过调用 TimedOperationStart 函数启动的。
[in] WaitMode 是一个KPROCESSOR_MODE类型的值,用于指定驱动程序等待的处理器模式。 该值可以是 KernelMode 或 UserMode。 堆栈中的较低级别驱动程序应指定 KernelMode。
[in] Alertable 是一个布尔值,用于指定等待是否可发出警报。 值为 TRUE 表示等待可发出警报;FALSE 表示等待不可更改。 堆栈中的较低级别驱动程序应指定 FALSE。
[in] Interval 是指向变量的指针,该变量包含延迟的相对时间(以 100 纳秒为单位)。 忽略值的符号。
TimedOperationWaitForSingleObject
TimedOperationWaitForSingleObject 函数将当前线程置于等待状态,直到给定调度程序对象设置为信号状态,或者(可选)直到等待超时或给定超时操作超时。 以下为 TimedOperationWaitForSingleObject 的参数说明。
[in] Op 是指向 DXGK_TIMED_OPERATION 结构的指针,该结构描述要置于等待状态的计时操作。 此计时操作是通过调用 TimedOperationStart 函数启动的。
对象 是指向调用方为其提供存储的已初始化调度程序对象的指针。 调度程序对象可以是事件、互斥体、信号灯、线程或计时器。
WaitReason 是一个KWAIT_REASON类型的值,用于指定等待的原因。 驱动程序应将此值设置为 Executive ,如果驱动程序代表用户执行工作并在用户线程的上下文中运行,则设置为 UserRequest。
WaitMode 是一个KPROCESSOR_MODE类型的值,用于指定驱动程序等待的处理器模式。 该值可以是 KernelMode 或 UserMode。 最低级别和中间驱动程序应指定 KernelMode。 如果 Object 参数指向的对象是互斥体,则调用方必须指定 KernelMode。
Alertable 是一个布尔值,用于指定等待是否可发出警报。 值为 TRUE 表示等待可发出警报;FALSE 表示等待不可更改。
Timeout 是指向变量的指针,该变量包含等待完成的相对时间(以 100 纳秒为单位)。 忽略值的符号。
注解
显示微型端口驱动程序提供此结构的 Size 和 Version 成员,然后调用 DxgkCbQueryServices,这将填充此结构的其余成员。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
标头 | dispmprt.h (包括 Dispmprt.h) |