Поделиться через


Метод 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

См. также раздел

IDirectDrawSurface7