Condividi tramite


PDRIVER_IO_PORT_UCHAR funzione di callback (video.h)

SvgaHwIoPortUchar trapa una porta di I/O a cui un'applicazione MS-DOS a schermo intero in un computer basato su x86 invia dati di dimensioni UCHAR.

Sintassi

PDRIVER_IO_PORT_UCHAR PdriverIoPortUchar;

VP_STATUS PdriverIoPortUchar(
  ULONG_PTR Context,
  ULONG Port,
  UCHAR AccessMode,
  PUCHAR Data
)
{...}

Parametri

Context

Specifica il valore di contesto definito 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 che deve essere intrappolato, che può essere una o una combinazione (ORed) dei valori seguenti:

EMULATOR_READ_ACCESS
EMULATOR_WRITE_ACCESS

Data

Puntatore al byte da trasferire.

Valore restituito

SvgaHwIoPortUchar restituisce lo stato finale dell'operazione.

Commenti

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

SvgaHwIoPortUchar intercetta qualsiasi accesso a byte tentato da un'applicazione MS-DOS a schermo intero che emette o entrambe le istruzioni OUT DX, AL e IN AL, DX.

Se il driver miniport abilita la porta per l'accesso diretto chiamando VideoPortSetTrappedEmulatorPorts, la relativa funzione SvgaHwIoPortUchar non verrà chiamata. Tale applicazione avrà quindi accesso diretto alla porta, a meno che il driver miniport non disabiliti la porta con un'altra chiamata a VideoPortSetTrappedEmulatorPorts.

Se una o più istruzioni X86 IN o OUT 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.

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

SvgaHwIoPortUchar deve essere reso pageable.

Requisiti

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

Vedi anche

EMULATOR_ACCESS_ENTRY

Funzioni SVGA

SvgaHwIoPortUcharString

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts