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) |