Condividi tramite


DXGK_TIMED_OPERATION_INTERFACE struttura (dispmprt.h)

La struttura DXGK_TIMED_OPERATION_INTERFACE contiene puntatori alle funzioni nell'interfaccia operazione timed, implementata dal driver della porta di visualizzazione.

Sintassi

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

Dimensione, in byte, della struttura.

Version

Numero di versione dell'interfaccia operazione temporale. Le costanti del numero di versione sono definite in Dispmprt.h (ad esempio, DXGK_TIMED_OPERATION_INTERFACE_VERSION_1).

Context

Puntatore a un contesto fornito dal driver della porta di visualizzazione.

InterfaceReference

Puntatore a una funzione di riferimento dell'interfaccia implementata dal driver della porta di visualizzazione.

InterfaceDereference

Puntatore a una funzione di dereferenza dell'interfaccia implementata dal driver della porta di visualizzazione.

TimedOperationStart

La funzione TimedOperationStart avvia o riavvia un'operazione timed.

Il driver deve impostare il membro Size della struttura DXGK_TIMED_OPERATION a cui punta il parametro Op per sizeof(DXGK_TIMED_OPERATION). Le descrizioni dei parametri per TimedOperationStart seguono.

  • [out] Op è un puntatore a una struttura DXGK_TIMED_OPERATION che descrive l'operazione temporizzato per avviare o riavviare.

  • [in] Timeout è un puntatore a un valore di timeout, in 100 nanosecondi, che specifica il tempo relativo assegnato per il completamento dell'operazione timed.

  • [in] OsHandled è un valore booleano che specifica se il sistema operativo gestisce la condizione di timeout. Un valore true indica che il driver non ha alcun modo ragionevole per gestire la condizione di timeout e consente al sistema operativo di gestire la condizione di timeout; FALSE indica che il driver gestisce la condizione di timeout.

TimedOperationDelay

La funzione TimedOperationDelay inserisce il thread corrente in uno stato di attesa attivabile o nonlerabile per un determinato intervallo rispetto al timeout specificato. Le descrizioni dei parametri per TimedOperationDelay seguono.

  • [in/out] Op è un puntatore a una struttura DXGK_TIMED_OPERATION che descrive l'operazione temporizzato per ritardare. Questa operazione ora è stata avviata da una chiamata alla funzione TimedOperationStart .

  • [in] WaitMode è un valore KPROCESSOR_MODE tipizzato che specifica la modalità processore in cui viene atteso il driver. Il valore può essere KernelMode o UserMode. I driver di livello inferiore in uno stack devono specificare KernelMode.

  • [in] L'avviso è un valore booleano che specifica se l'attesa è avvisabile. Un valore true indica che l'attesa è avvisabile; FALSE indica che l'attesa non èlerabile. I driver di livello inferiore in uno stack devono specificare FALSE.

  • [in] L'intervallo è un puntatore a una variabile che contiene il tempo relativo, in 100-nanosecondi, per il ritardo. Il segno del valore viene ignorato.

TimedOperationWaitForSingleObject

La funzione TimedOperationWaitForSingleObject inserisce il thread corrente in uno stato di attesa fino alla scadenza dell'oggetto dispatcher specificato o facoltativamente fino al timeout dell'attesa o fino alla scadenza del timeout specificato. Le descrizioni dei parametri per TimedOperationWaitForSingleObject seguono.

  • [in] Op è un puntatore a una struttura di DXGK_TIMED_OPERATION che descrive l'operazione temporale da inserire in uno stato di attesa. Questa operazione ora è stata avviata da una chiamata alla funzione TimedOperationStart .

  • L'oggetto è un puntatore a un oggetto dispatcher inizializzato per cui il chiamante fornisce l'archiviazione. L'oggetto dispatcher può essere un evento, un mutex, un semaforo, un thread o un timer.

  • WaitReason è un valore KWAIT_REASON tipizzato che specifica il motivo dell'attesa. Un driver deve impostare questo valore su Executive o, se il driver sta eseguendo per conto di un utente ed è in esecuzione nel contesto di un thread utente, su UserRequest.

  • WaitMode è un valore KPROCESSOR_MODE tipizzato che specifica la modalità processore in cui viene atteso il driver. Il valore può essere KernelMode o UserMode. I driver di livello più basso e intermedio devono specificare KernelMode. Se l'oggetto a cui punta il parametro Object è un mutex, il chiamante deve specificare KernelMode.

  • L'avviso è un valore booleano che specifica se l'attesa è avvisabile. Un valore true indica che l'attesa è avvisabile; FALSE indica che l'attesa non èlerabile.

  • Timeout è un puntatore alla variabile che contiene il tempo relativo, in 100-nanosecondi, per il completamento dell'attesa. Il segno del valore viene ignorato.

Commenti

Il driver miniport visualizzato fornisce i membri Size e Version di questa struttura e quindi chiama DxgkCbQueryServices, che riempie i membri rimanenti di questa struttura.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Intestazione dispmprt.h (include Dispmprt.h)

Vedi anche

DXGK_TIMED_OPERATION

DxgkCbQueryServices