Microsoft DirectX 8.0 (C++)

IDirect3DCubeTexture8::LockRect

キューブ テクスチャ リソース上の矩形をロックする。

HRESULT LockRect(
  D3DCUBEMAP_FACES FaceType,
  UINT Level,
  D3DLOCKED_RECT* pLockedRect,
  CONST RECT* pRect,
  DWORD Flags
);

パラメータ

FaceType
[in] キューブ マップ サーフェスを識別する D3DCUBEMAP_FACES 列挙型のメンバ。
Level
[in] ミップマップ キューブ テクスチャのレベルを指定する。
pLockedRect
[out] ロックする領域を記述する D3DLOCKED_RECT 構造体へのポインタ。
pRect
[in] ロックする矩形へのポインタ。RECT 構造体へのポインタによって指定される。このパラメータに NULL を指定すると、キューブ テクスチャ全体を覆うようにダーティー領域が拡大する。
Flags
[in] 実行するロックのタイプを記述する、0 個以上のロッキング フラグの組み合わせ。
D3DLOCK_NO_DIRTY_UPDATE
デフォルトでは、リソースのロックはダーティー領域をそのリソースに追加する。このフラグは、リソースのダーティー状態への変更を防ぐ。ロック処理の間に変更される実際の領域群についての追加情報をアプリーションが持っていて、その情報を IDirect3DCubeTexture8::AddDirtyRect に渡すことができる場合は、アプリケーションでこのフラグを使用しなければならない。
D3DLOCK_NOSYSLOCK
ビデオ メモリ ロックのデフォルトの動作では、システム全体のクリティカル セクションが確保されて、ロックの期間中はディスプレイ モードが変化しないことが保証される。このフラグは、システムワイドなクリティカル セクションがロックの間保持されないようにする。

ロック処理で使用されるメモリは若干増えるが、システムは、マウス カーソルの移動といったほかの動作を実行できる。このフラグは、ソフトウェア レンダリングのバックバッファのロックのように、ロックが長時間に及び、システムの応答性に悪影響を与えてしまうようなロックに対して有効である。

D3DLOCK_READONLY
アプリケーションはバッファに書き込みを行わない。これによって、ネイティブでないフォーマットで格納されたリソースが、アンロック時に再圧縮手順を保存できる。

戻り値

成功した場合は、D3D_OK を返す。

引数の 1 つ以上が無効な場合は、D3DERR_INVALIDCALL を返す。

注意

POOL_DEFAULT を指定して作成されたキューブ テクスチャはロックできない。

深度ステンシル サーフェスのロック可能なフォーマットは、D3DFMT_D16_LOCKABLE だけである。

マルチサンプル バック バッファはロックできない。

パフォーマンスの理由によって、ダーティーな範囲はテクスチャのレベルゼロに対して記録されるのみである。D3DLOCK_NO_DIRTY_UPDATE または D3DLOCK_READONLY なしで LockRectLockBox が呼び出されたとき、ダーティーな範囲は自動的に記録される。詳細については、「IDirect3DDevice8::UpdateTexture」を参照すること。

動作環境

  ヘッダー : d3d8.h で宣言。
  インポート ライブラリ : D3d8.lib を使用。

参照

IDirect3DCubeTexture8::AddDirtyRectIDirect3DCubeTexture8::GetLevelDescIDirect3DCubeTexture8::UnlockRect