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