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 |