Метод IDirectDrawSurface7::P ageLock (ddraw.h)
Предотвращает выгружаемость поверхности системной памяти во время операции передачи битовых блоков (bitblt), использующего прямой доступ к памяти (DMA), в системную память или из нее.
Синтаксис
HRESULT PageLock(
[in] DWORD unnamedParam1
);
Параметры
[in] unnamedParam1
В настоящее время не используется и должен иметь значение 0.
Возвращаемое значение
Если метод выполнен успешно, возвращаемое значение будет DD_OK.
В случае сбоя метод может вернуть одно из следующих значений ошибки:
- DDERR_CANTPAGELOCK
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_SURFACELOST
Комментарии
Чтобы использовать поддержку DMA, необходимо вызвать PageLock . В противном случае bitblt выполняется с помощью эмуляции программного обеспечения.
Производительность операционной системы может негативно повлиять на слишком большой объем памяти.
Количество блокировок поддерживается для каждой поверхности и увеличивается при каждом вызове PageLock для этой поверхности. Количество уменьшается при вызове метода IDirectDrawSurface7::P ageUnlock . Когда число достигает 0, память разблокируется, и операционная система может ее разостранить.
PageLock работает только на поверхностях системной памяти; он не блокирует страницы для поверхности памяти дисплея или эмулированной основной поверхности. Если приложение вызывает PageLock на поверхности памяти дисплея, метод не выполняет никаких действий, кроме возврата DD_OK.
IDirectDrawSurface7::P ageLock не реализован в версии интерфейса IDirectDraw .
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | ddraw.h |
Библиотека | Ddraw.lib |
DLL | Ddraw.dll |