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 结构的 大小 成员,以 sizeof(DXGK_TIMED_OPERATION)。 TimedOperationStart 的参数说明如下。
[out] Op 是指向描述启动或重启时间作的 DXGK_TIMED_OPERATION 结构的指针。
[in] 超时 是一个指针,该值指向超时值(以 100 纳秒为单位),指定分配的时间,以便完成计时作。
[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] Interval 是一个指针,该变量包含 100 纳秒单位的相对时间(以 100 纳秒为单位)的延迟。 将忽略该值的符号。
TimedOperationWaitForSingleObject
TimedOperationWaitForSingleObject 函数将当前线程置于等待状态,直到给定调度程序对象设置为信号状态,或者可以选择直到等待超时或给定超时作过期为止。 TimedOperationWaitForSingleObject 的参数说明如下。
[in] Op 是指向描述要放入等待状态的计时作的 DXGK_TIMED_OPERATION 结构的指针。 此计时作是通过调用 TimedOperationStart 函数启动的。
对象 是指向调用方为其提供存储的初始化调度程序对象的指针。 调度程序对象可以是事件、互斥体、信号灯、线程或计时器。
WaitReason 是一个KWAIT_REASON类型的值,指定等待的原因。 驱动程序应将此值设置为 Executive;或者,如果驱动程序代表用户执行工作并在用户线程的上下文中运行,则 UserRequest。
WaitMode 是一个KPROCESSOR_MODE类型的值,指定驱动程序等待的处理器模式。 该值可以是 KernelMode,也可以 UserMode。 最低级别和中间驱动程序应指定 KernelMode。 如果 Object 参数指向的对象是互斥体,则调用方必须指定 KernelMode。
可警报 是一个布尔值,指定等待是否可发出警报。 TRUE 值指示等待是可警报的;FALSE 表示等待不可更改。
超时 是指向包含相对时间(以 100 纳秒为单位)的变量的指针,等待完成。 将忽略该值的符号。
言论
显示微型端口驱动程序提供此结构的 大小 和 版本 成员,然后调用 DxgkCbQueryServices,以填充此结构的其余成员。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista |
标头 | dispmprt.h (包括 Dispmprt.h) |