EMULATOR_ACCESS_ENTRY 구조체(miniport.h)
EMULATOR_ACCESS_ENTRY 구조체는 x86 기반 NT 기반 운영 체제 플랫폼의 VGA 호환(SVGA) 어댑터 드라이버에 의해 VIDEO_PORT_CONFIG_INFO 구조에 설정된 EmulatorAccessEntries 배열의 요소를 지정합니다.
통사론
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;
회원
BasePort
V86 에뮬레이터에서 연결할 I/O 포트 또는 포트의 버스 상대 물리적 주소를 지정합니다. 이 값과 포트 범위는 VideoPortGetAccessRanges 또는 VideoPortVerifyAccessRanges 레지스트리에서 이미 클레임된 I/O 포트의 액세스 범위 내에 있어야 합니다.
NumConsecutivePorts
BasePort시작하여 V86 에뮬레이터에서 후크할 연속 포트 수를 지정합니다. 이 값은 후크된 각 I/O 포트의 너비에 따라 결정됩니다. 예를 들어 포트 주소 0x3C0 및 0x3C1 단일 USHORT 주소 지정 가능 포트로 후크되는 경우 이 값은 1이어야 합니다.
AccessType
지정된 I/O 포트를 통해 전송되는 데이터의 크기를 Uchar, Ulong또는 Ushort중 하나로 지정합니다.
AccessMode
지정된 I/O 포트를 다음 값의 하나 또는 조합(ORed)으로 액세스하는 방법을 지정합니다.
EMULATOR_READ_ACCESS
EMULATOR_WRITE_ACCESS
I/O 포트 범위는 이전 모드 중 하나 이상에서 액세스할 수 있어야 합니다.
StringSupport
드라이버 제공 SvgaHwIoPortXxx 함수가 지정된 AccessType 값이 I/O 포트를 통해 연속적으로 "펌핑"되는 경우 문자열 액세스를 지원하는지 여부를 나타냅니다. 이 멤버가 TRUE 설정된 경우 루틴 멤버는 미니포트 드라이버 제공 SvgaHwIoPortXxxString 함수의 진입점을 지정해야 합니다.
Routine
이 구조에 설명된 포트 또는 포트에 대한 액세스를 처리하는 미니포트 드라이버의 SvgaHwIoPortXxx 대한 포인터입니다.
발언
x86 기반 컴퓨터에서 SVGA 비디오 하드웨어의 VGA 호환 미니포트 드라이버는 에뮬레이터 액세스 범위를 정의해야 하며, VGA 호환 미니포트 드라이버는 빠른 I/O를 위해 전체 화면 MS-DOS 애플리케이션에서 직접 액세스할 수 VideoPortSetTrappedEmulatorPorts로 설정할 수 있습니다. 이러한 드라이버는 애플리케이션에서 발급한 IN시퀀스의 유효성을 검사하기 위해 SvgaHwIoPortXxx 함수 집합을 제공해야 합니다. INSB/INSW/INSD OUT 및/또는 OUTSB/OUTSW/OUTSD 각 I/O 포트 범위에.
각 EMULATOR_ACCESS_ENTRY 형식 요소의 데이터는 x86 기반 플랫폼의 V86 에뮬레이터에 의해 미니포트 드라이버의 액세스 범위에서 인수된 I/O 포트(어댑터 레지스터에 액세스할 수 있는 메모리 위치)를 결정하는 데 사용됩니다. 전체 화면 MS-DOS 애플리케이션에서 이러한 위치에 기록된 값은 비디오 어댑터에 기록되거나 비디오 어댑터에서 읽기 전에 유효성 검사를 위해 미니포트 드라이버의 해당 SvgaHwIoPortXxx 함수에 트래핑되고 전달됩니다. 그러나 미니포트 드라이버는 성능을 향상시키기 위해 VideoPortSetTrappedEmulatorPorts 호출하여 애플리케이션이 특정 I/O 포트 범위에 직접 액세스할 수 있도록 할 수 있습니다.
요구 사항
요구 | 값 |
---|---|
헤더 | miniport.h(Miniport.h 포함) |