Freigeben über


DXGK_TIMED_OPERATION_INTERFACE-Struktur (dispmprt.h)

Die DXGK_TIMED_OPERATION_INTERFACE-Struktur enthält Zeiger auf Funktionen in der Timed Operation Interface, die vom Anzeigeporttreiber implementiert wird.

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;

Member

Size

Die Größe (in Bytes) dieser Struktur.

Version

Die Versionsnummer der Timed Operation Interface. Versionsnummernkonstanten werden in Dispmprt.h definiert (z. B. DXGK_TIMED_OPERATION_INTERFACE_VERSION_1).

Context

Ein Zeiger auf einen Kontext, der vom Anzeigeporttreiber bereitgestellt wird.

InterfaceReference

Ein Zeiger auf eine Schnittstellenverweisfunktion, die vom Anzeigeporttreiber implementiert wird.

InterfaceDereference

Ein Zeiger auf eine Schnittstellendereferenzierungsfunktion, die vom Anzeigeporttreiber implementiert wird.

TimedOperationStart

Die TimedOperationStart-Funktion startet oder startet einen zeitlimitierten Vorgang neu.

Der Treiber sollte den Size-Member der DXGK_TIMED_OPERATION Struktur, auf die der Op-Parameter verweist, auf sizeof(DXGK_TIMED_OPERATION) voreinstellen. Parameterbeschreibungen für TimedOperationStart folgen.

  • [out] Op ist ein Zeiger auf eine DXGK_TIMED_OPERATION Struktur, die den zeitlimitierten Vorgang beschreibt, der gestartet oder neu gestartet werden soll.

  • [in] Timeout ist ein Zeiger auf einen Timeoutwert in 100 Nanosekundeneinheiten, der die relative Zeit angibt, die für den Abschluss des Zeitlimits zugewiesen wurde.

  • [in] OsHandled ist ein boolescher Wert, der angibt, ob das Betriebssystem die Timeoutbedingung verarbeitet. Der Wert TRUE gibt an, dass der Treiber keine vernünftige Möglichkeit hat, die Timeoutbedingung zu verarbeiten, und dass das Betriebssystem die Timeoutbedingung verarbeiten kann. FALSE gibt an, dass der Treiber die Timeoutbedingung verarbeitet.

TimedOperationDelay

Die TimedOperationDelay-Funktion versetzt den aktuellen Thread in einen warnbaren oder nicht verwertbaren Wartezustand für ein bestimmtes Intervall in Bezug auf das angegebene Timeout des zeitgesteuerten Vorgangs. Parameterbeschreibungen für TimedOperationDelay folgen.

  • [in/out] Op ist ein Zeiger auf eine DXGK_TIMED_OPERATION Struktur, die den zeitverzögerten Vorgang beschreibt. Dieser zeitlimitierte Vorgang wurde durch einen Aufruf der TimedOperationStart-Funktion gestartet.

  • [in] WaitMode ist ein KPROCESSOR_MODE typisierter Wert, der den Prozessormodus angibt, in dem der Treiber wartet. Der Wert kann entweder KernelMode oder UserMode sein. Treiber auf niedrigerer Ebene in einem Stapel sollten KernelMode angeben.

  • [in] Warnungsfähig ist ein boolescher Wert, der angibt, ob die Wartezeit warnbar ist. Der Wert TRUE gibt an, dass die Wartezeit warnbar ist. FALSE gibt an, dass die Wartezeit nicht veralerbar ist. Treiber auf niedrigerer Ebene in einem Stapel sollten FALSE angeben.

  • [in] Interval ist ein Zeiger auf eine Variable, die die relative Zeit in 100 Nanosekundeneinheiten für die Verzögerung enthält. Das Vorzeichen des Werts wird ignoriert.

TimedOperationWaitForSingleObject

Die TimedOperationWaitForSingleObject-Funktion versetzt den aktuellen Thread in einen Wartezustand, bis das angegebene Dispatcherobjekt auf einen signalierten Zustand festgelegt ist oder optional bis das Timeout des angegebenen zeitgesteuerten Vorgangs abläuft. Parameterbeschreibungen für TimedOperationWaitForSingleObject folgen.

  • [in] Op ist ein Zeiger auf eine DXGK_TIMED_OPERATION-Struktur , die den zeitlimitierten Vorgang beschreibt, der in einen Wartezustand versetzt werden soll. Dieser zeitlimitierte Vorgang wurde durch einen Aufruf der TimedOperationStart-Funktion gestartet.

  • Object ist ein Zeiger auf ein initialisiertes Dispatcherobjekt, für das der Aufrufer den Speicher bereitstellt. Das Dispatcherobjekt kann ein Ereignis, ein Mutex, ein Semaphor, ein Thread oder ein Timer sein.

  • WaitReason ist ein KWAIT_REASON typisierter Wert, der den Grund für die Wartezeit angibt. Ein Treiber sollte diesen Wert auf Executive oder, wenn der Treiber im Namen eines Benutzers arbeitet und im Kontext eines Benutzerthreads ausgeführt wird, auf UserRequest festlegen.

  • WaitMode ist ein KPROCESSOR_MODE typisierter Wert, der den Prozessormodus angibt, in dem der Treiber wartet. Der Wert kann entweder KernelMode oder UserMode sein. Treiber der niedrigsten und mittleren Ebene sollten KernelMode angeben. Wenn das Objekt, auf das vom Object-Parameter verwiesen wird, ein Mutex ist, muss der Aufrufer KernelMode angeben.

  • Warnungsfähig ist ein boolescher Wert, der angibt, ob die Wartezeit warnbar ist. Der Wert TRUE gibt an, dass die Wartezeit warnbar ist. FALSE gibt an, dass die Wartezeit nicht veralerbar ist.

  • Timeout ist ein Zeiger auf eine Variable, die die relative Zeit in 100 Nanosekundeneinheiten enthält, bis die Wartezeit abgeschlossen ist. Das Vorzeichen des Werts wird ignoriert.

Hinweise

Der Anzeige-Miniporttreiber stellt die Member Size und Version dieser Struktur bereit und ruft dann DxgkCbQueryServices auf, das die verbleibenden Member dieser Struktur ausfüllt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Kopfzeile dispmprt.h (include Dispmprt.h)

Weitere Informationen

DXGK_TIMED_OPERATION

DxgkCbQueryServices