IDirectDrawSurface7::P ageLock 方法 (ddraw.h)

防止系统内存图面在位块传输 (bitblt) 操作时分页,该操作使用直接内存访问 (DMA) 传输系统内存内存。

语法

HRESULT PageLock(
  [in] DWORD unnamedParam1
);

参数

[in] unnamedParam1

当前未使用,并且必须设置为 0。

返回值

如果方法成功,则返回值DD_OK。

如果失败,方法可能会返回以下错误值之一:

  • DDERR_CANTPAGELOCK
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_SURFACELOST

注解

必须调用 PageLock 才能使用 DMA 支持。 如果不这样做,则通过使用软件仿真来生成 bitblt。

如果锁定了太多内存,操作系统的性能可能会受到负面影响。

每个图面的锁计数都会保留,每次为该图面调用 PageLock 时,锁计数都会递增。 调用 IDirectDrawSurface7::P ageUnlock 时,计数递减。 当计数达到 0 时,内存将解锁,然后可由操作系统分页。

PageLock 仅适用于系统内存图面;它不会对显示内存图面或模拟主图面进行页面锁定。 如果应用程序在显示内存图面上调用 PageLock ,该方法除了返回DD_OK外,不执行任何操作。

IDirectDrawSurface7::P ageLock 未在 IDirectDraw 接口版本中实现。

要求

要求
目标平台 Windows
标头 ddraw.h
Library Ddraw.lib
DLL Ddraw.dll

另请参阅

IDirectDrawSurface7