### IDirectDrawSurface3::PageUnlock

The IDirectDrawSurface3::PageUnlock method unlocks a system-memory surface, allowing it to be paged out.

HRESULT PageUnlock(

DWORD dwFlags

);

##### Parameters

dwFlags
  This parameter is currently not used and must be set to 0.

##### Return Values

If the method succeeds, the return value is DD_OK.

If the method fails, the return value may be one of the following error values:

DDERR_CANTPAGEUNLOCK
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_NOTPAGELOCKED
DDERR_SURFACELOST

##### Remarks

A lock count is maintained for each surface and is incremented each time IDirectDrawSurface3::PageLock is called for that surface. The count is decremented when IDirectDrawSurface3::PageUnlock is called. When the count reaches 0, the memory is unlocked and can then be paged by the operating system.

This method works only on system-memory surfaces; it will not page unlock a display-memory surface or an emulated primary surface. If an application calls this method on a display-memory surface, this method will do nothing except return DD_OK.

This method was not implemented in the IDirectDraw interface.

##### See Also

IDirectDrawSurface3::PageLock