EMULATOR_ACCESS_ENTRY 구조체(dispmprt.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 호환 미니포트 드라이버는 빠른 I/O를 위해 전체 화면 MS-DOS 애플리케이션에서 직접 액세스하도록 VideoPortSetTrappedEmulatorPorts를 사용하여 VGA 호환 미니포트 드라이버를 설정할 수 있는 에뮬레이터 액세스 범위를 정의해야 합니다. 이러한 드라이버는 애플리케이션에서 발급한 INs, INSB/INSW/INSD s, OUT s 및/또는 OUTSB/OUTSW/OUTSD의 시퀀스를 각 I/O 포트 범위에 유효성을 검사하기 위해 SvgaHwIoPortXxx 함수 집합을 제공해야 합니다.

각 EMULATOR_ACCESS_ENTRY 형식 요소의 데이터는 x86 기반 플랫폼의 V86 에뮬레이터에 의해 미니포트 드라이버의 액세스 범위에서 인수된 I/O 포트(어댑터 레지스터에 액세스할 수 있는 메모리 위치)를 결정하는 데 사용됩니다. 전체 화면 MS-DOS 애플리케이션에서 이러한 위치에 기록된 값은 비디오 어댑터에 기록되거나 비디오 어댑터에서 읽기 전에 유효성 검사를 위해 미니포트 드라이버의 해당 SvgaHwIoPortXxx 함수에 트래핑되고 전달됩니다. 그러나 미니포트 드라이버는 성능을 향상시키기 위해 VideoPortSetTrappedEmulatorPorts 를 호출하여 애플리케이션이 특정 I/O 포트 범위에 직접 액세스할 수 있도록 할 수 있습니다.

요구 사항

요구 사항
헤더 dispmprt.h(Dispmprt.h 포함)

추가 정보

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetAccessRanges

VideoPortSetTrappedEmulatorPorts

VideoPortVerifyAccessRanges