PAGP_COMMIT_VIRTUAL 콜백 함수(videoagp.h)

AgpCommitVirtual 함수는 예약된 가상 메모리를 연결된 AGP 디코딩 가능한 실제 주소 범위에 매핑합니다.

구문

PAGP_COMMIT_VIRTUAL PagpCommitVirtual;

PVOID PagpCommitVirtual(
  [in] IN PVOID HwDeviceExtension,
  [in] IN PVOID VirtualReserveContext,
  [in] IN ULONG Pages,
  [in] IN ULONG Offset
)
{...}

매개 변수

[in] HwDeviceExtension

미니포트 드라이버의 디바이스 확장에 대한 포인터입니다.

[in] VirtualReserveContext

예약된 가상 주소 범위를 식별합니다. 컨텍스트 핸들은 AgpReserveVirtual에서 가져옵니다.

[in] Pages

매핑할 가상 메모리의 페이지 수를 지정합니다.

[in] Offset

페이지를 커밋할 페이지 오프셋을 지정합니다. 오프셋은 VirtualReserveContext로 식별되는 예약된 가상 주소 범위에 적용됩니다.

반환 값

AgpCommitVirtual 은 매핑이 성공하면 커밋된 페이지의 기본에 대한 가상 주소를 반환합니다. 그렇지 않으면 NULL을 반환합니다.

설명

AgpCommitVirtual을 호출하여 다양한 가상 페이지를 커밋하기 전에 다음을 수행해야 합니다.

  • AgpReservePhysical을 호출하여 GPU에서 사용할 실제 주소 범위를 예약합니다.
  • AgpCommitPhysical을 호출하여 예약된 실제 주소의 일부(또는 전체)를 시스템 메모리의 잠긴 페이지에 매핑합니다.
  • AgpReserveVirtual을 호출하여 AgpReservePhysical에서 예약한 실제 주소 범위와 연결된 가상 주소 범위를 예약합니다.
이러한 항목이 완료되면 AgpCommitVirtual 을 호출하여 예약된 가상 페이지의 일부를 AgpCommitPhysical에 의해 이미 매핑되고 잠긴 페이지에 매핑할 수 있습니다. 실제 주소의 해당 페이지가 아직 매핑되지 않은 경우 가상 주소 페이지를 매핑하려고 시도해서는 안 됩니다.

Microsoft Windows 2000에서 실행되는 비디오 미니포트 드라이버는 항상 크기가 64KB의 배수인 가상 범위를 커밋해야 합니다. AgpCommitVirtual을 호출하여 64KB의 배수가 아닌 가상 범위를 커밋하는 경우 잘못된 가상 주소를 반환할 수 있습니다.

Windows XP 이상에서 AgpCommitVirtual 은 커밋된 범위를 자동으로 확장하여 64KB의 배수가 됩니다.

미니포트 드라이버가 AgpCommitVirtual을 호출하면 VirtualReserveContext 로 식별되는 가상 주소 범위의 일부가 실제 주소에 매핑됩니다. 매핑된 부분은 VirtualReserveContext로 식별되는 가상 주소 범위로 오프 페이지를 시작합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 videoagp.h(Video.h 포함)
IRQL PASSIVE_LEVEL

추가 정보

AgpFreeVirtual

AgpReservePhysical

AgpReserveVirtual