PDRIVER_IO_PORT_ULONG_STRING 콜백 함수(video.h)

SvgaHwIoPortUlongString 은 x86 기반 컴퓨터의 전체 화면 MS-DOS 애플리케이션이 ULONG 크기 데이터의 시퀀스를 보내는 I/O 포트 범위를 트래핑합니다.

구문

PDRIVER_IO_PORT_ULONG_STRING PdriverIoPortUlongString;

VP_STATUS PdriverIoPortUlongString(
  ULONG_PTR Context,
  ULONG Port,
  UCHAR AccessMode,
  PULONG Data,
  ULONG DataLength
)
{...}

매개 변수

Context

VIDEO_PORT_CONFIG_INFO EmulatorAccessEntriesContext 멤버에 설정된 미니포트 드라이버 결정 컨텍스트 값을 지정합니다.

Port

트래핑할 매핑된 I/O 포트를 지정합니다.

AccessMode

허용되는 액세스 유형을 지정합니다. 이 형식은 다음 값 중 하나 또는 조합(ORed)일 수 있습니다.

EMULATOR_READ_ACCESS
EMULATOR_WRITE_ACCESS

Data

전송할 ULONG 데이터 문자열에 대한 포인터입니다. 문자열은 모두 사용될 때까지 한 번에 하나의 값으로 후크됩니다.

DataLength

문자열의 ULONG 값 수를 지정합니다.

반환 값

SvgaHwIoPortUlongString은 작업의 최종 상태 반환합니다.

설명

VGA 호환 SVGA 어댑터의 미니포트 드라이버에만 SvgaHwIoPortXxx 함수가 있습니다. ( SVGA 함수를 참조하세요.)

SvgaHwIoPortUlongStringREP OUTSD DX, ESI 및 REP INSD EDI, DX 명령 중 하나 또는 둘 다를 실행하는 전체 화면 MS-DOS 애플리케이션 에서 시도한 범위 액세스를 가로채습니다.

미니포트 드라이버가 VideoSetTrappedEmulatorPorts를 호출하여 직접 액세스하기 위해 포트 범위를 사용하도록 설정하는 경우 해당 SvgaHwIoPortUlongString 함수가 호출되지 않습니다. 그런 다음 미니포트 드라이버가 VideoSetTrappedEmulatorPorts에 대한 다른 호출로 포트 범위를 사용하지 않도록 설정하지 않는 한 이러한 애플리케이션은 I/O 포트 범위에 직접 액세스할 수 있습니다.

하나 이상의 애플리케이션에서 발급한 x86 INSD 또는 OUTSD 지침이 VGA 호환 어댑터 시퀀서 레지스터, 기타 출력 레지스터 또는 어댑터별 레지스터의 상태에 영향을 줄 수 있으므로 컴퓨터가 중단되면 미니포트 드라이버는 VideoPortSetTrappedEmulatorPorts를 호출하여 포트를 직접 액세스하도록 설정해서는 안 됩니다.

SvgaHwIoPortUlongString은 애플리케이션의 후속 지침을 버퍼링하고 아무도 컴퓨터를 중단할 수 없는 검사 합니다. 애플리케이션이 컴퓨터를 중단할 수 있는 명령 시퀀스를 발급하는 경우 SvgaHwIoPortUlongString 은 버퍼링된 지침을 삭제해야 합니다. 그렇지 않으면 지정된 매핑된 I/O 포트에 한 번에 ULONG을 출력해야 합니다.

SvgaHwIoPortUlongString을 페이징 가능으로 만들어야 합니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 video.h(Video.h 포함)

추가 정보

EMULATOR_ACCESS_ENTRY

SVGA 함수

SvgaHwIoPortUlong

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts