Condividi tramite


PDRIVER_IO_PORT_ULONG funzione di callback (video.h)

SvgaHwIoPortUlong intercettare 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 EmulatorAccessEntriesContext membro di VIDEO_PORT_CONFIG_INFO.

Port

Specifica la porta di I/O mappata da intrappolare.

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.

Osservazioni

Solo i driver miniport delle schede SVGA compatibili con VGA hanno funzioni SvgaHwIoPortXxx. Vedere funzioni SVGA.)

SvgaHwIoPortUlong intercetta qualsiasi accesso a intervalli tentati 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 porta 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 non disabiliti l'intervallo con un'altra chiamata a VideoSetTrappedEmulatorPorts.

Se una o più istruzioni di x86 rilasciate dall'applicazione in o OUT potrebbero influire sullo stato del registro 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 deve non abilitare la porta per l'accesso diretto chiamando VideoPortSetTrappedEmulatorPorts.

SvgaHwIoPortUlong 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, SvgaHwIoPortUlong deve eliminare le istruzioni memorizzate nel buffer. In caso contrario, deve restituirli, una ULONG alla volta, alla porta di I/O specificata.

il SvgaHwIoPortUlong deve essere reso pageable.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione video.h (includere Video.h)

Vedere anche

EMULATOR_ACCESS_ENTRY

funzioni SVGA

SvgaHwIoPortUlongString

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts