D3DImage.Unlock Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Уменьшает количество блокировок для объекта D3DImage.
public:
void Unlock();
public void Unlock ();
member this.Unlock : unit -> unit
Public Sub Unlock ()
Примеры
В следующем примере кода показано, как вызвать Unlock метод для копирования обновленного обратного буфера в передний буфер. Дополнительные сведения см. в статье Пошаговое руководство. Размещение содержимого Direct3D9 в WPF.
d3dimg.Lock();
// Repeatedly calling SetBackBuffer with the same IntPtr is
// a no-op. There is no performance penalty.
d3dimg.SetBackBuffer(D3DResourceType.IDirect3DSurface9, pSurface);
HRESULT.Check(Render());
d3dimg.AddDirtyRect(new Int32Rect(0, 0, d3dimg.PixelWidth, d3dimg.PixelHeight));
d3dimg.Unlock();
Комментарии
Когда число блокировок для нулевого D3DImage значения достигает нуля, D3DImage полностью разблокируется. Помечается D3DImage для отрисовки, если изображение изменило области, указанные предыдущими вызовами AddDirtyRect метода.
При фиксации изменений и отрисовке дополнительных вызовов Lock блока метода до тех пор, пока поток отрисовки не скопирует содержимое заднего буфера в передний буфер. Эта синхронизация позволяет избежать отображения артефактов, таких как разрыв.
Примечание
Не обновляйте поверхность Direct3D во время D3DImage разблокировки.