다음을 통해 공유


PDRIVER_IO_PORT_ULONG 콜백 함수(video.h)

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

구문

PDRIVER_IO_PORT_ULONG PdriverIoPortUlong;

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

매개 변수

Context

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

Port

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

AccessMode

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

EMULATOR_READ_ACCESS
EMULATOR_WRITE_ACCESS

Data

전송할 ULONG 데이터에 대한 포인터입니다.

반환 값

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

설명

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

SvgaHwIoPortUlongOUT DX, EAXIN EAX, DX 명령 중 하나 또는 둘 다를 실행하는 전체 화면 MS-DOS 애플리케이션에서 시도한 범위 액세스를 차단합니다.

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

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

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

SvgaHwIoPortUlong 을 페이지 가능으로 만들어야 합니다.

요구 사항

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

추가 정보

EMULATOR_ACCESS_ENTRY

SVGA 함수

SvgaHwIoPortUlongString

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts