DWORD (APIENTRY *PDD_SURFCB_LOCK)(
PDD_LOCKDATA lpLock
);
Lock provides a valid pointer to a block of memory associated with a surface.
Lock returns a DDHAL_DRIVER_Xxx callback code that indicates how the driver handled the call. These return codes are defined in ddrawint.h.
A driver should ensure that a blt or flip is not in progress before obtaining the memory pointer.
A lock does not provide exclusive access to the requested memory block; that is, multiple threads can lock the same surface at the same time. It is the application’s responsibility to synchronize access to the memory block whose pointer is being obtained.