IDirectDrawSurface7::P ageLock 메서드(ddraw.h)
시스템 메모리에 대한 직접 메모리 액세스(DMA) 전송을 사용하는 비트 블록 전송(비트blt) 작업이 진행되는 동안 시스템 메모리 표면이 페이징되지 않도록 합니다.
구문
HRESULT PageLock(
[in] DWORD unnamedParam1
);
매개 변수
[in] unnamedParam1
현재 사용되지 않으며 0으로 설정해야 합니다.
반환 값
메서드가 성공하면 반환 값이 DD_OK.
실패하면 메서드는 다음 오류 값 중 하나를 반환할 수 있습니다.
- DDERR_CANTPAGELOCK
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_SURFACELOST
설명
DMA 지원을 사용하려면 PageLock 을 호출해야 합니다. 그렇지 않은 경우 비트blt는 소프트웨어 에뮬레이션을 사용하여 발생합니다.
메모리가 너무 많이 잠겨 있으면 운영 체제의 성능에 부정적인 영향을 받을 수 있습니다.
잠금 수는 각 표면에 대해 유지 관리되며 해당 표면에 대해 PageLock 이 호출될 때마다 증가합니다. IDirectDrawSurface7::P ageUnlock이 호출되면 개수가 감소합니다. 개수가 0에 도달하면 메모리가 잠금 해제된 다음 운영 체제에서 페이징할 수 있습니다.
PageLock은 시스템 메모리 화면에서만 작동합니다. 디스플레이 메모리 표면 또는 에뮬레이트된 기본 표면을 페이지 잠금하지 않습니다. 애플리케이션이 디스플레이 메모리 화면에서 PageLock 을 호출하는 경우 메서드는 DD_OK 반환 외에는 아무 작업도 수행하지 않습니다.
IDirectDrawSurface7::P ageLock 이 IDirectDraw 인터페이스 버전에서 구현되지 않았습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | ddraw.h |
라이브러리 | Ddraw.lib |
DLL | Ddraw.dll |