次の方法で共有


IDirectDrawSurface7::P ageLock メソッド (ddraw.h)

システム メモリとの間で直接メモリ アクセス (DMA) 転送を使用するビット ブロック転送 (bitblt) 操作が進行中である間に、システム メモリサーフェスがページアウトされないようにします。

構文

HRESULT PageLock(
  [in] DWORD unnamedParam1
);

パラメーター

[in] unnamedParam1

現在は使用されていません。0 に設定する必要があります。

戻り値

メソッドが成功した場合、戻り値はDD_OK。

失敗した場合、メソッドは次のいずれかのエラー値を返すことができます。

  • DDERR_CANTPAGELOCK
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_SURFACELOST

注釈

DMA サポートを利用するには 、PageLock を呼び出す必要があります。 そうでない場合は、ソフトウェア エミュレーションを使用してビットblt が発生します。

メモリがロックされすぎると、オペレーティング システムのパフォーマンスが悪影響を受ける可能性があります。

ロック数は各サーフェスに対して保持され、そのサーフェスに対して PageLock が呼び出されるたびにインクリメントされます。 IDirectDrawSurface7::P ageUnlock が呼び出されると、カウントがデクリメントされます。 カウントが 0 に達すると、メモリのロックが解除され、オペレーティング システムによってページングできるようになります。

PageLock は、システム メモリ サーフェスでのみ機能します。ディスプレイ メモリ サーフェスまたはエミュレートされたプライマリ サーフェスはページ ロックされません。 アプリケーションが表示メモリサーフェイスで PageLock を 呼び出す場合、メソッドはDD_OKを返す以外は何も行いません。

IDirectDrawSurface7::P ageLock、IDirectDraw インターフェイス バージョンでは実装されませんでした。

要件

要件
対象プラットフォーム Windows
ヘッダー ddraw.h
Library Ddraw.lib
[DLL] Ddraw.dll

こちらもご覧ください

IDirectDrawSurface7