Microsoft DirectX 2

         

DDLOCK_WRITEONLY


Указывает, что блокируемая поверхность будет только для записи.            

hEvent

Программа обработки  события системы, которое вызывается, когда поверхность готова быть блокированной.

Как только получен указатель, к  поверхностной памяти можно обращаться вашей прикладной программой, пока не вызывается соответствующий метод IDirectDrawSurface:: Unlock. Как только это происходит, указатель на поверхностную память больше не имеет силу.

Запрещенно блиттинг из блокированной области поверхности. Если блиттинг предпринят на блокированной поверхности, он возвратит значение ошибки DDERR_SURFACEBUSY или DDERR_LOCKEDSURFACES.

IDirectDrawSurface:: Lock возвращается немедленно с ошибкой, когда не может быть получена блокировка. Может быть установлен флажок DDLOCK_WAIT , чтобы продолжить пробовать получать блокировку.

Чтобы предотвращать потерю в течение доступа к поверхности в  VRAM, DirectDraw производит блокировку Win16 между операциями IDirectDrawSurface:: Lock и IDirectDrawSurface:: Unlock. Блокировка Win16 - критический раздел, который преобразовывает в последовательную форму доступ к GDI и USER. Хотя эта методика позволяет прямой доступ к отображению в память и предотвращает другие прикладные программы от изменения режима в течение этого доступа, он останавливает управление Windows , так что IDirectDrawSurface:: Lock /IDirectDrawSurface:: Unlock и IDirectDrawSurface:: GetDC/IDirectDrawSurface:: ReleaseDC  должны вызываться на короткий период. К сожалению, так как Windows остановлен, GUI отладчики не могут использоваться между IDirectDrawSurface:: Lock /IDirectDrawSurface:Unlock и IDirectDrawSurface:: GetDC/IDirectDrawSurface:: ReleaseDC.

См. также IDirectDrawSurface:: Unlock, IDirectDrawSurface:: GetDC, IDirectDrawSurface:: ReleaseDC



Содержание раздела