Share via


Surface.LockRectangle(Rectangle,LockFlags) Method (Microsoft.DirectX.Direct3D)

Locks a rectangle on a surface.

Definition

Visual Basic Public Function LockRectangle( _
    ByVal rect As RectangleLeave Site, _
    ByVal flags As LockFlags _
) As GraphicsStream
C# public GraphicsStream LockRectangle(
    RectangleLeave Site rect,
    LockFlags flags
);
C++ public:
GraphicsStreamLockRectangle(
    RectangleLeave Site rect,
    LockFlags flags
);
JScript public function LockRectangle(
    rect : RectangleLeave Site,
    flags : LockFlags
) : GraphicsStream;

Parameters

rect System.Drawing.Rectangle
A RectangleLeave Site object that represents the rectangle to lock.
flags Microsoft.DirectX.Direct3D.LockFlags
A LockFlags object that specifies the type of lock to apply.

Return Value

Microsoft.DirectX.GraphicsStream
A GraphicsStream object that describes the locked region.

Remarks

If LockFlags.DoNotWait is specified and the driver cannot lock the surface immediately, Surface.LockRectangle throws WasStillDrawingException so that an application can use the CPU cycles while waiting for the driver to lock the surface.

The only lockable format for a depth-stencil surface is Format.D16Lockable.

For performance reasons, dirty regions are recorded only for level zero of a texture. Dirty regions are automatically recorded when Surface.LockRectangle is called without LockFlags.NoDirtyUpdate or LockFlags.ReadOnly. For more information, see Device.UpdateTexture.

A multisample back buffer cannot be locked.

Exceptions

InvalidCallException

The method call is invalid. For example, a method's parameter might contain an invalid value.

See Also