共用方式為


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
程式庫 Ddraw.lib
Dll Ddraw.dll

另請參閱

IDirectDrawSurface7