Condividi tramite


PDRIVER_IO_PORT_USHORT_STRING funzione di callback (video.h)

SvgaHwIoPortUshortString 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 USHORT.

Sintassi

PDRIVER_IO_PORT_USHORT_STRING PdriverIoPortUshortString;

VP_STATUS PdriverIoPortUshortString(
  ULONG_PTR Context,
  ULONG Port,
  UCHAR AccessMode,
  PUSHORT Data,
  ULONG DataLength
)
{...}

Parametri

Context

Specifica il valore di contesto determinato dal driver miniport impostato in 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 dei valori di dati USHORT da trasferire. A questa stringa viene eseguito l'accesso a un valore alla volta fino a quando tutti i valori non sono stati agganciati.

DataLength

Specifica il numero di valori USHORT nella stringa.

Valore restituito

SvgaHwIoPortUshortString restituisce lo stato finale dell'operazione.

Commenti

Solo i driver miniport di adattatori SVGA compatibili con VGA hanno funzioni SvgaHwIoPortXxx . Vedere Funzioni SVGA.

SvgaHwIoPortUshortString intercetta qualsiasi intervallo di accesso tentato da un'applicazione MS-DOS a schermo intero che emette o entrambe le istruzioni REP OUTSW DX, ESI e REP INSW EDI, DX.

Se il driver miniport abilita l'intervallo di porte per l'accesso diretto chiamando VideoSetTrappedEmulatorPorts, la relativa funzione SvgaHwIoPortUshortString 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 INSW o OUTSW 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.

SvgaHwIoPortUshortString deve memorizzare nel buffer le istruzioni successive dell'applicazione e verificare che nessuno possa bloccarsi. Se l'applicazione emette una sequenza di istruzioni che potrebbero bloccarsi nel computer, SvgaHwIoPortUshortString deve rimuovere le istruzioni memorizzate nel buffer. In caso contrario, dovrebbe restituirli, un USHORT alla volta, alla porta di I/O specificata.

SvgaHwIoPortUshortString deve essere reso pageable.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione video.h (include Video.h)

Vedi anche

EMULATOR_ACCESS_ENTRY

Funzioni SVGA

SvgaHwIoPortUshort

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts