DXGK_TIMED_OPERATION_INTERFACE structure (dispmprt.h)

The DXGK_TIMED_OPERATION_INTERFACE structure contains pointers to functions in the Timed Operation Interface, which is implemented by the display port driver.

Syntax

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;

Members

Size

The size, in bytes, of this structure.

Version

The version number of the Timed Operation Interface. Version number constants are defined in Dispmprt.h (for example, DXGK_TIMED_OPERATION_INTERFACE_VERSION_1).

Context

A pointer to a context that is provided by the display port driver.

InterfaceReference

A pointer to an interface reference function that is implemented by the display port driver.

InterfaceDereference

A pointer to an interface dereference function that is implemented by the display port driver.

TimedOperationStart

The TimedOperationStart function starts or restarts a timed operation.

The driver should preset the Size member of the DXGK_TIMED_OPERATION structure that is pointed to by the Op parameter to sizeof(DXGK_TIMED_OPERATION). Parameter descriptions for TimedOperationStart follow.

  • [out] Op is a pointer to a DXGK_TIMED_OPERATION structure that describes the timed operation to start or restart.

  • [in] Timeout is a pointer to a time-out value, in 100-nanoseconds units, that specifies the relative time that was allotted for the timed operation to complete.

  • [in] OsHandled is a Boolean value that specifies whether the operating system handles the time-out condition. A value of TRUE indicates that the driver does not have any reasonable way to handle the time-out condition and lets the operating system handle the time-out condition; FALSE indicates that the driver handles the time-out condition.

TimedOperationDelay

The TimedOperationDelay function puts the current thread into an alertable or nonalertable wait state for a given interval with regard to the given timed operation time-out. Parameter descriptions for TimedOperationDelay follow.

  • [in/out] Op is a pointer to a DXGK_TIMED_OPERATION structure that describes the timed operation to delay. This timed operation was started by a call to the TimedOperationStart function.

  • [in] WaitMode is a KPROCESSOR_MODE-typed value that specifies the processor mode the driver waits in. The value can be either KernelMode or UserMode. Lower-level drivers in a stack should specify KernelMode.

  • [in] Alertable is a Boolean value that specifies whether the wait is alertable. A value of TRUE indicates that the wait is alertable; FALSE indicates that the wait is nonalertable. Lower-level drivers in a stack should specify FALSE.

  • [in] Interval is a pointer to variable that contains the relative time, in 100-nanoseconds units, for the delay. The sign of the value is ignored.

TimedOperationWaitForSingleObject

The TimedOperationWaitForSingleObject function puts the current thread into a wait state until the given dispatcher object is set to a signaled state or optionally until the wait times out or until the time-out of the given timed operation expires. Parameter descriptions for TimedOperationWaitForSingleObject follow.

  • [in] Op is a pointer to a DXGK_TIMED_OPERATION structure that describes the timed operation to put into a wait state. This timed operation was started by a call to the TimedOperationStart function.

  • Object is a pointer to an initialized dispatcher object that the caller supplies the storage for. The dispatcher object can be an event, a mutex, a semaphore, a thread, or a timer.

  • WaitReason is a KWAIT_REASON-typed value that specifies the reason for the wait. A driver should set this value to Executive or, if the driver is doing work on behalf of a user and is running in the context of a user thread, to UserRequest.

  • WaitMode is a KPROCESSOR_MODE-typed value that specifies the processor mode the driver waits in. The value can be either KernelMode or UserMode. Lowest-level and intermediate drivers should specify KernelMode. If the object that is pointed to by the Object parameter is a mutex, the caller must specify KernelMode.

  • Alertable is a Boolean value that specifies whether the wait is alertable. A value of TRUE indicates that the wait is alertable; FALSE indicates that the wait is nonalertable.

  • Timeout is a pointer to variable that contains the relative time, in 100-nanoseconds units, for the wait to be completed. The sign of the value is ignored.

Remarks

The display miniport driver supplies the Size and Version members of this structure, and then calls DxgkCbQueryServices, which fills in the remaining members of this structure.

Requirements

Requirement Value
Minimum supported client Windows Vista
Header dispmprt.h (include Dispmprt.h)

See also

DXGK_TIMED_OPERATION

DxgkCbQueryServices