EndAccess

Called by the DCI client after each access to the surface specified by the lpSurface parameter. It is provided for the DCI provider in order to perform any tasks which may be required after access to the surface.

DCIRVAL CALLBACK _loadds EndAccess(lpSurface)

LPVOID

lpSurface;


INPUT PARAMETERS

lpSurface

Specifies a far pointer to a DCISURFACEINFO structure that was previously obtained via a DCIDCREATEPRIMARYSURFACE, DCICREATEOFFSCREENSURFACE, or DCICREATEOVERLAYSURFACE escape.


RETURNS

Returns DCI_OK on success, or an error code on failure. DCI error codes are listed in Chapter 2 of the DCI Specification.

COMMENTS

BeginAccess and EndAccess are called as a framework around every set of accesses to the display buffer. The DCI Client must not access surface memory before a BeginAccess or after an EndAccess.

The DCI Client is encouraged to minimize processing time between BeginAccess/EndAccess. Similarly the DCI Provider is encouraged to optimize the speed of these calls so that the DCI Client does not incur a stiff penalty on each direct access of a surface. It is valid to return NULL pointers if no action need be taken by the DCI Provider.

Note It is valid to return NULL pointers if no action need be taken by the DCI Provider.

The DCI Provider must manage the mouse cursor during surface accesses. The DCI Client will provide the bounding rectangle of the area that will be accessed. The DCI Provider must exclude the cursor at BeginAccess, if the mouse cursor is within this area. At EndAccess, the DCI Provider must turn the mouse back on, if it was previously excluded.