struttura DXGK_TIMED_OPERATION_INTERFACE (dispmprt.h)
La struttura DXGK_TIMED_OPERATION_INTERFACE contiene puntatori alle funzioni nell'interfaccia dell'operazione temporale, 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;
Membri
Size
Dimensione, in byte, di questa struttura.
Version
Numero di versione dell'interfaccia dell'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 dereferenziazione dell'interfaccia implementata dal driver della porta di visualizzazione.
TimedOperationStart
La funzione TimedOperationStart avvia o riavvia un'operazione programmata.
Il driver deve impostare il membro size della struttura DXGK_TIMED_OPERATION a cui punta il parametro op per sizeof(DXGK_TIMED_OPERATION). Descrizioni dei parametri per TimedOperationStart seguire.
[out] op è un puntatore a una struttura DXGK_TIMED_OPERATION che descrive l'operazione programmata per l'avvio o il riavvio.
[in] timeout è un puntatore a un valore di timeout, espresso in unità da 100 nanosecondi, che specifica il tempo relativo assegnato per il completamento dell'operazione con timeout.
[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 avvisabile o non tolleranzabile per un determinato intervallo per quanto riguarda il timeout dell'operazione timeout specificato. Descrizioni dei parametri per TimedOperationDelay seguire.
[in/out] op è un puntatore a una struttura DXGK_TIMED_OPERATION che descrive l'operazione temporizzato da ritardare. Questa operazione ora è stata avviata da una chiamata alla funzione TimedOperationStart.
[in] WaitMode è un valore tipizzato KPROCESSOR_MODE che specifica la modalità processore in cui il driver attende. Il valore può essere KernelMode o UserMode. I driver di livello inferiore in uno stack devono specificare KernelMode.
[in] avviso è un valore booleano che specifica se l'attesa è avvisabile. Un valore TRUE indica che l'attesa è avvisabile; FALSE indica che l'attesa non è tolleranza. I driver di livello inferiore in uno stack devono specificare FALSE.
[in] Interval è un puntatore a variabile che contiene il tempo relativo, in unità di 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 a quando l'oggetto dispatcher specificato non viene impostato su uno stato segnalato o facoltativamente fino al timeout o fino alla scadenza del timeout dell'operazione specificata. Le descrizioni dei parametri per TimedOperationWaitForSingleObject seguire.
[in] op è un puntatore a una struttura DXGK_TIMED_OPERATION che descrive l'operazione programmata da inserire in uno stato di attesa. Questa operazione ora è stata avviata da una chiamata alla funzione TimedOperationStart.
Object è un puntatore a un oggetto dispatcher inizializzato per cui il chiamante fornisce lo spazio di archiviazione. L'oggetto dispatcher può essere un evento, un mutex, un semaforo, un thread o un timer.
waitReason è un valore tipizzato KWAIT_REASON 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, per UserRequest.
WaitMode è un valore tipizzato di KPROCESSOR_MODE che specifica la modalità processore in cui il driver attende. 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.
avviso è un valore booleano che specifica se l'attesa è avvisabile. Un valore TRUE indica che l'attesa è avvisabile; FALSE indica che l'attesa non è tolleranza.
timeout è un puntatore a una variabile che contiene il tempo relativo, in unità di 100 nanosecondi, affinché l'attesa venga completata. Il segno del valore viene ignorato.
Osservazioni
Il driver miniport di visualizzazione fornisce i membri Size e Version di questa struttura e quindi chiama DxgkCbQueryServices, che riempie i membri rimanenti di questa struttura.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista |
intestazione | dispmprt.h (include Dispmprt.h) |