PDRIVER_IO_PORT_ULONG_STRING funzione di callback (video.h)
SvgaHwIoPortUlongString trapa un intervallo di porte di 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_STRING PdriverIoPortUlongString;
VP_STATUS PdriverIoPortUlongString(
ULONG_PTR Context,
ULONG Port,
UCHAR AccessMode,
PULONG Data,
ULONG DataLength
)
{...}
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 intercesso.
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 alla stringa di dati ULONG da trasferire. La stringa viene collegato un valore alla volta fino a quando non viene usato tutto.
DataLength
Specifica il numero di valori ULONG nella stringa.
Valore restituito
SvgaHwIoPortUlongString restituisce lo stato finale dell'operazione.
Commenti
Solo i driver miniport di adattatori SVGA compatibili con VGA hanno funzioni SvgaHwIoPortXxx . Vedere Funzioni SVGA.
SvgaHwIoPortUlongString intercetta qualsiasi intervallo di accesso tentato da un'applicazione MS-DOS a schermo intero che emette o entrambe le istruzioni REP OUTSD DX, ESI e REP INSD EDI, DX.
Se il driver miniport abilita l'intervallo di porte per l'accesso diretto chiamando VideoSetTrappedEmulatorPorts, la relativa funzione SvgaHwIoPortUlongString non verrà chiamata. Tale applicazione avrà quindi accesso diretto all'intervallo di porte di I/O, a meno che il driver miniport non disabiliti l'intervallo di porte con un'altra chiamata a VideoSetTrappedEmulatorPorts.
Se una o più istruzioni X86 INSD o OUTSD rilasciate dall'applicazione potrebbero influire sullo stato del registro del sequencer compatibile con VGA, del registro di output varie o di qualsiasi registro specifico dell'adattatore e, di conseguenza, causare il blocco del computer, il driver miniport non deve abilitare la porta per l'accesso diretto chiamando VideoPortSetTrappedEmulatorPorts.
SvgaHwIoPortUlongString deve memorizzare nel buffer le istruzioni successive dall'applicazione e verificare che nessuno possa bloccarsi. Se l'applicazione emette una sequenza di istruzioni che potrebbero bloccarsi nel computer, SvgaHwIoPortUlongString deve rimuovere le istruzioni memorizzate nel buffer. In caso contrario, dovrebbe restituirle, una ULONG alla volta, alla porta di I/O specificata.
SvgaHwIoPortUlongString deve essere reso pageable.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | video.h (include Video.h) |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per