Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
SvgaHwIoPortUshort intercepte une plage de ports d’E/S à laquelle une application MS-DOS plein écran dans une machine x86 envoie une séquence de données de taille USHORT.
Syntaxe
PDRIVER_IO_PORT_USHORT PdriverIoPortUshort;
VP_STATUS PdriverIoPortUshort(
ULONG_PTR Context,
ULONG Port,
UCHAR AccessMode,
PUSHORT Data
)
{...}
Paramètres
Context
Spécifie la valeur de contexte déterminée par le pilote miniport qui a été définie dans le EmulatorAccessEntriesContext membre de VIDEO_PORT_CONFIG_INFO.
Port
Spécifie le port d’E/S mappé à intercepter.
AccessMode
Spécifie le type d’accès autorisé, qui peut être une ou une combinaison (ORed) des valeurs suivantes :
- EMULATOR_READ_ACCESS
- EMULATOR_WRITE_ACCESS
Data
Pointeur vers les données USHORT à transférer.
Valeur de retour
SvgaHwIoPortUshort retourne l’état final de l’opération.
Remarques
Seuls les pilotes miniports des adaptateurs SVGA compatibles AVEC SVGA ont fonctions SvgaHwIoPortXxx. (Voir fonctions SVGA.)
SvgaHwIoPortUshort intercepte tout accès à la plage tenté par une application MS-DOS en plein écran qui émet des instructions OUT DX, AX et IN AX, DX.
Si le pilote miniport active la plage de port de pour l’accès direct en appelant VideoSetTrappedEmulatorPorts, sa fonction SvgaHwIoPortUshort ne sera pas appelée. Une telle application aura alors un accès direct à la plage de ports d’E/S, sauf si le pilote miniport désactive la plage port avec un autre appel à VideoSetTrappedEmulatorPorts.
Si une ou plusieurs instructions x86 émises par l’application IN ou OUT instructions peuvent affecter l’état du registre de séquenceurs compatibles AVEC L’application, le registre de sortie divers ou tout registre spécifique à l’adaptateur et, par conséquent, provoquer le blocage de la machine, le pilote miniport doit pas activer le port pour l’accès direct en appelant VideoPortSetTrappedEmulatorPorts.
SvgaHwIoPortUshort devez mettre en mémoire tampon les instructions suivantes de l’application et vérifier qu’aucune ne peut bloquer la machine. Si l’application émet une séquence d’instructions qui peut bloquer la machine, SvgaHwIoPortUshort devez ignorer les instructions mises en mémoire tampon. Sinon, il doit les générer, un USHORT à la fois, sur le port d’E/S mappé spécifié.
SvgaHwIoPortUshort doit être rendu paginable.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | video.h (include Video.h) |