PAGP_RESERVE_VIRTUAL 콜백 함수(videoagp.h)

AgpReserveVirtual 함수는 AGP에 대한 다양한 가상 주소를 예약합니다.

구문

PAGP_RESERVE_VIRTUAL PagpReserveVirtual;

PVOID PagpReserveVirtual(
  [in]  IN PVOID HwDeviceExtension,
  [in]  IN HANDLE ProcessHandle,
  [in]  IN PVOID PhysicalReserveContext,
  [out] OUT PVOID *VirtualReserveContext
)
{...}

매개 변수

[in] HwDeviceExtension

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

[in] ProcessHandle

가상 주소 범위를 예약할 프로세스의 핸들입니다. ProcessHandle이 0이면 가상 주소 범위가 시스템 공간에 할당됩니다.

[in] PhysicalReserveContext

가상 메모리 예약을 연결할 예약된 실제 주소 범위를 식별하는 컨텍스트 핸들입니다. 이 컨텍스트는 AgpReservePhysical에서 가져옵니다.

[out] VirtualReserveContext

비디오 포트 드라이버가 예약된 가상 메모리를 식별하는 컨텍스트 핸들을 작성하는 위치입니다.

반환 값

AgpReserveVirtual 은 성공하면 예약된 가상 주소 범위의 기본 주소를 반환합니다. 그렇지 않으면 NULL을 반환합니다.

설명

ProcessHandle이 0이 아닌 경우 AgpReserveVirtual은 사용자 모드 프로세스의 주소 공간에 있는 가상 주소 범위를 예약하지만 커밋하지는 않습니다. 이 경우 AgpCommitVirtual 을 호출하여 예약된(사용자 모드) 가상 주소를 실제 주소에 매핑해야 합니다.

ProcessHandle이 0이면 AgpReserveVirtual은 시스템 공간에서 다양한 가상 주소를 할당하고 전체 가상 주소 범위를 실제 주소에 자동으로 매핑(커밋)합니다. AgpReserveVirtual이 전체 가상 범위를 커밋하더라도 코드가 가상 범위에 액세스하기 전에 AgpCommitVirtual을 호출해야 합니다.

AgpReserveVirtual을 호출하여 시스템 공간에서 가상 주소 범위를 할당하는 경우(즉, ProcessHandle을 0으로 설정하는 경우) PhysicalReserveContext로 식별된 전체 물리적 주소 범위는 AgpCommitPhysical에 대한 이전 호출을 통해 물리적 메모리의 잠긴 페이지에 커밋되어야 합니다.

미니포트 드라이버는 AgpReleaseVirtual 을 여러 번 호출하여 하나의 큰 범위가 아닌 더 작은 주소 범위를 여러 번 예약할 수 있습니다.

미니포트 드라이버는 더 이상 필요하지 않은 경우 예약된 가상 주소 범위를 해제하기 위해 AgpReleaseVirtual 을 호출해야 합니다.

요구 사항

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

추가 정보

AgpCommitPhysical

AgpCommitVirtual

AgpReleaseVirtual

AgpReservePhysical