Partager via


structure EMULATOR_ACCESS_ENTRY (miniport.h)

La structure EMULATOR_ACCESS_ENTRY spécifie un élément dans le tableau EmulatorAccessEntries configuré dans la structure VIDEO_PORT_CONFIG_INFO par des pilotes d’adaptateurs COMPATIBLES (SVGA) sur les plateformes de système d’exploitation basées sur NT x86.

Syntaxe

typedef struct _EMULATOR_ACCESS_ENTRY {
  ULONG                     BasePort;
  ULONG                     NumConsecutivePorts;
  EMULATOR_PORT_ACCESS_TYPE AccessType;
  UCHAR                     AccessMode;
  UCHAR                     StringSupport;
  PVOID                     Routine;
} EMULATOR_ACCESS_ENTRY, *PEMULATOR_ACCESS_ENTRY;

Membres

BasePort

Spécifie l’adresse physique relative du bus du port ou des ports d’E/S à connecter par l’émulateur V86. Cette valeur et la plage de ports doivent se trouver dans une plage d’accès de ports d’E/S déjà revendiqués dans le Registre par VideoPortGetAccessRanges ou VideoPortVerifyAccessRanges.

NumConsecutivePorts

Spécifie le nombre de ports consécutifs à raccorder par l’émulateur V86, en commençant à BasePort. Cette valeur est déterminée par la largeur de chaque port d’E/S crocheté. Par exemple, si les adresses de port 0x3C0 et que 0x3C1 sont connectées comme un seul port adressable par USHORT, cette valeur doit être 1.

AccessType

Spécifie la taille des données transférées via le port d’E/S donné comme l’un des Uchar, Ulong ou Ushort .

AccessMode

Spécifie comment le port d’E/S donné est accessible sous la forme d’une ou d’une combinaison (ORed) des valeurs suivantes :

  • EMULATOR_READ_ACCESS

  • EMULATOR_WRITE_ACCESS

La plage de ports d’E/S doit être accessible dans au moins un des modes précédents.

StringSupport

Indique si la fonction svgaHwIoPortXxx fournie par le pilote prend en charge les accès de chaîne dans les cas où de nombreuses valeurs des AccessType données sont « pompées » par le biais d’un port d’E/S consécutivement. Si ce membre a la valeur TRUE, le membre routine doit spécifier le point d’entrée d’un pilote miniport fourni SvgaHwIoPortXxxString fonction.

Routine

Pointeur vers le SvgaHwIoPortXxx du pilote miniport qui gère les accès au port ou aux ports décrits dans cette structure.

Remarques

Les pilotes miniport compatibles SVGA du matériel vidéo SVGA sur des machines x86 doivent définir des plages d’accès à l’émulateur, qu’un pilote miniport compatible PNG peut configurer avec VideoPortSetTrappedEmulatorPorts à accéder directement à partir de MS-DOS applications plein écran pour accélérer les E/S. Un tel pilote doit fournir un ensemble de fonctions SvgaHwIoPortXxx pour valider toute séquence de émises par l’application DANSs, INSB/INSB/INSW/INSDs, OUTs et/ou OUTSB/OUTSW/OUTSDs pour chacune de ces plages de ports d’E/S.

Les données de chaque élément de type EMULATOR_ACCESS_ENTRY sont utilisées pour déterminer les ports d’E/S (emplacements de mémoire auxquels les registres d’adaptateurs sont accessibles) dans les plages d’accès du pilote miniport ont été prises en charge (déconnectées) par l’émulateur V86 sur les plateformes x86. Les valeurs écrites à ces emplacements par des applications MS-DOS plein écran sont interceptées et transférées au svgaHwIoPortXxx fonction correspondant du pilote miniport avant d’être écrites dans ou lues à partir de la carte vidéo. Toutefois, le pilote miniport peut permettre à l’application d’accéder directement aux plages de ports d’E/S particulières en appelant VideoPortSetTrappedEmulatorPorts pour améliorer les performances.

Exigences

Exigence Valeur
d’en-tête miniport.h (include Miniport.h)

Voir aussi

VIDEO_PORT_CONFIG_INFO

VideoPortVerifyAccessRanges

VideoPortSetTrappedEmulatorPorts

VIDEO_ACCESS_RANGE

VideoPortGetAccessRanges