C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 19 - Подготовка к работе с поверхностью Lock / DirectDraw / Microsoft DirectX

Шаг 19 - Подготовка к работе с поверхностью Lock

Для того, чтобы произвести операции с поверхностью, например, залить черным цветом, нам нужно поверхность заблокировать. Это понятно зачем нужно, чтобы в один и тот же момент не было два, например, потока, которые работают с поверхностью. После операций с ней нужно произвести разблокирование. Итак, как выглядит общая схема.

Lock
Работа (рисуем, красим еще что то).
Unlock

Смотрим описание Lock

Visual Basic
Visual C++

Visual Basic

Описание

object.Lock(r As RECT,  desc As DDSURFACEDESC2, flags As CONST_DDLOCKFLAGS,   hnd As Long)

Парамерты
object
Объектная переменная к объекту DirectDrawSurface7.
r
RECT тип, который определяет прямоугольника который идентифицирует область блокируемой поверхности. Если RECT пустой, вся поверхность блокирована.
desc
DDSURFACEDESC2 тип, который будет заполнен подробностями относительно поверхности.
flags Одна или большее количество констант CONST_DDLOCKFLAGS которые описывают тип блокировки, которую нужно выполнить.
hnd Не используемый и должен быть установлен к 0.

Ошибки
Если вызов не успешен, то будет сгенерирована ошибка и код установлен в Err.Number. Одно из следующих значений.

DDERR_INVALIDOBJECT  
DDERR_INVALIDPARAMS  
DDERR_OUTOFMEMORY  
DDERR_SURFACEBUSY  
DDERR_SURFACELOST  
DDERR_WASSTILLDRAWING  

Visual C++

Описание

HRESULT Lock
(
	LPRECT lpDestRect,                
	LPDDSURFACEDESC2 lpDDSurfaceDesc,  
	DWORD dwFlags,                    
	HANDLE hEvent                     
);

Параметры
lpDestRect
Адрес структуры RECT, которая идентифицирует область поверхности которая блокируется. Если NULL, вся поверхность блокирована.
lpDDSurfaceDesc
Адрес структуры DDSURFACEDESC2, которая будет заполнена подробностями относительно поверхности.
dwFlags
Одна или большее количество констант DDLOCK_ которые описывают тип блокировки, которую нужно выполнить.
hEvent
Не используемый и должен быть установлен к NULL.

Возвращаемое значение
Если метод успешен, возвращаемое значение - DD_OK.
Если метод терпит неудачу, возвращается одна из следующих значений ошибки:

DDERR_INVALIDOBJECT  
DDERR_INVALIDPARAMS  
DDERR_OUTOFMEMORY  
DDERR_SURFACEBUSY  
DDERR_SURFACELOST  
DDERR_WASSTILLDRAWING  

| |
Автор Каев Артем.
[AD]