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 |