PDRIVER_IO_PORT_ULONG funzione di callback (video.h)
SvgaHwIoPortUlong trapa un intervallo di porte I/O a cui un'applicazione MS-DOS a schermo intero in un computer basato su x86 invia una sequenza di dati di dimensioni ULONG.
Sintassi
PDRIVER_IO_PORT_ULONG PdriverIoPortUlong;
VP_STATUS PdriverIoPortUlong(
ULONG_PTR Context,
ULONG Port,
UCHAR AccessMode,
PULONG Data
)
{...}
Parametri
Context
Specifica il valore di contesto determinato dal driver miniport impostato nel membro EmulatorAccessEntriesContext di VIDEO_PORT_CONFIG_INFO.
Port
Specifica la porta di I/O mappata da troncarsi.
AccessMode
Specifica il tipo di accesso consentito, che può essere una o una combinazione (ORed) dei valori seguenti:
- EMULATOR_READ_ACCESS
- EMULATOR_WRITE_ACCESS
Data
Puntatore ai dati ULONG da trasferire.
Valore restituito
SvgaHwIoPortUlong restituisce lo stato finale dell'operazione.
Commenti
Solo i driver miniport delle schede SVGA compatibili con VGA hanno funzioni SvgaHwIoPortXxx . Vedere Funzioni SVGA.
SvgaHwIoPortUlong intercetta qualsiasi accesso all'intervallo tentato da un'applicazione MS-DOS a schermo intero che emette o entrambe le istruzioni OUT DX, EAX e IN EAX, DX.
Se il driver miniport abilita l'intervallo di porte per l'accesso diretto chiamando VideoSetTrappedEmulatorPorts, la funzione SvgaHwIoPortUlong non verrà chiamata. Tale applicazione avrà quindi accesso diretto all'intervallo di porte di I/O, a meno che il driver miniport disabilita l'intervallo con un'altra chiamata a VideoSetTrappedEmulatorPorts.
Se una o più istruzioni x86 IN o OUT rilasciate da un'applicazione potrebbero influire sullo stato del registro della sequenza di adattatori compatibili con VGA, del registro di output varie o di qualsiasi registro specifico dell'adattatore e, di conseguenza, il driver miniport non deve abilitare la porta per l'accesso diretto chiamando VideoPortSetTrappedEmulatorPorts.
SvgaHwIoPortUlong deve eseguire il buffer delle istruzioni successive dall'applicazione e verificare che nessuno possa bloccarsi il computer. Se l'applicazione genera una sequenza di istruzioni che potrebbero essere bloccate dal computer, SvgaHwIoPortUlong deve ignorare le istruzioni memorizzate nel buffer. In caso contrario, deve essere restituito, un ULONG alla volta, alla porta di I/O specificata.
SvgaHwIoPortUlong deve essere resa paginabile.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | video.h (includere Video.h) |