Funzione VideoPortSynchronizeExecution (video.h)
La funzione VideoPortSynchronizeExecution sincronizza l'esecuzione di un driver miniport fornito HwVidSynchronizeExecutionCallback con la funzione HwVidInterrupt del driver miniport, se presente. In caso contrario, esegue HwVidSynchronizeExecutionCallback con una priorità generata.
Sintassi
VIDEOPORT_DEPRECATED BOOLEAN VIDEOPORT_API VideoPortSynchronizeExecution(
PVOID HwDeviceExtension,
VIDEO_SYNCHRONIZE_PRIORITY Priority,
PMINIPORT_SYNCHRONIZE_ROUTINE SynchronizeRoutine,
PVOID Context
);
Parametri
HwDeviceExtension
Puntatore all'estensione del dispositivo del driver miniport.
Priority
Specifica il tipo di priorità in corrispondenza del quale deve essere eseguita l'oggetto SynchronizeRoutine specificato, come segue:
- Se Priority è impostato su VpLowPriority, il thread corrente viene generato alla priorità di maschera noninterrupt più alta. Di conseguenza, il thread corrente può essere interrotto solo da un ISR se un dispositivo interrompe.
- Se Priority è impostato su VpMediumPriority e il driver miniport ha un ISR associato alla relativa scheda video, la chiamata a SynchronizeRoutine specificata viene sincronizzata con la funzione HwVidInterrupt del driver miniport. In caso contrario, la sincronizzazione viene eseguita a livello di VpLowPriority .
- VpHighPriority ha lo stesso effetto di VpMediumPriority.
SynchronizeRoutine
Puntatore alla funzione HwVidSynchronizeExecutionCallback del driver miniport.
Context
Puntatore a un contesto fornito dal chiamante da passare alla funzione HwVidSynchronizeExecutionCallback del driver miniport. Questo puntatore può essere NULL.
Valore restituito
Se l'operazione ha esito positivo, VideoPortSynchronizeExecution restituisce TRUE.
Commenti
I driver Miniport chiamano raramente questa routine a meno che non siano presenti una delle condizioni seguenti:
- La funzione HwVidInterrupt del driver miniport condivide la memoria con altre funzioni del driver miniport. Per accedere alla memoria condivisa in modo sicuro multiprocessore, tali funzioni del driver miniport devono chiamare VideoPortSynchronizeExecution con HwVidSynchronizeExecutionCallback. Questa funzione driver miniport può accedere in modo sicuro alla memoria condivisa perché il driver della porta video impedisce alla funzione HwVidInterrupt di accedere contemporaneamente alla stessa memoria.
- L'adattatore deve essere programmato con una sequenza di comandi senza essere soggetto a un cambio di contesto. Ad esempio, la funzione SvgaHwIoPortXxx di un driver miniport che ha memorizzato nel buffer una sequenza di istruzioni di I/O e convalidato la sequenza potrebbe chiamare VideoPortSynchronizeExecution con HwVidSynchronizeExecutionCallback. Questa funzione driver miniport può trasferire il flusso di I/O memorizzato nel buffer e convalidato all'adattatore molto rapidamente.
I chiamanti di VideoPortSynchronizeExecution devono essere in esecuzione in IRQL
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows 2000 e versioni successive dei sistemi operativi Windows. |
Piattaforma di destinazione | Desktop |
Intestazione | video.h (include Video.h) |
Libreria | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | <= DIRQL |