PFND3DDDI_LOCK2CB callback function (d3dumddi.h)

The pfnLock2Cb function locks an allocation and obtains a pointer to the allocation from the display miniport driver or video memory manager.

Syntax

PFND3DDDI_LOCK2CB Pfnd3dddiLock2cb;

HRESULT Pfnd3dddiLock2cb(
  HANDLE hDevice,
  D3DDDICB_LOCK2 *unnamedParam2
)
{...}

Parameters

hDevice

A handle to the display device (graphics context).

unnamedParam2

pData [in, out]

A pointer to a D3DDDICB_LOCK2 structure that describes the allocation to lock.

Return value

If this callback function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

Remarks

With the Windows Display Driver Model (WDDM) v2 it is now the user mode driver's responsibility to handle the following tasks:

  • Support no-overwrite and discard semantics. The video memory manager no longer supports renaming so it is up to the driver to implement renaming itself.
  • Synchronization of other lock types (not no-overwrite or discard)
    • Must return WasStillDrawing if the user attempts to lock an allocation while specifying the D3D1X_MAP_FLAG_DO_NOT_WAIT flag.
    • The user mode driver must block if synchronization is required (ex. hardware is accessing the allocation). This must be implemented as a non-polling wait and make use of the new monitored fence synchronization objects.

Requirements

Requirement Value
Minimum supported client Windows 10
Minimum supported server Windows Server 2016
Target Platform Desktop
Header d3dumddi.h (include D3dumddi.h)

See also

D3DDDICB_LOCK2