IDirect3DTexture9::LockRect メソッド
IDirect3DTexture9::LockRect メソッド
テクスチャ リソース上の矩形をロックする。
構文
HRESULT LockRect(
UINT Level,
D3DLOCKED_RECT *pLockedRect,
CONST RECT *pRect,
DWORD Flags
);
パラメータ
Level
[in] ロックするテクスチャ リソースのレベルを指定する。pLockedRect
[out] ロック済みの領域を記述する D3DLOCKED_RECT 構造体へのポインタ。pRect
[in] ロックする矩形へのポインタ。RECT 構造体へのポインタで指定される。このパラメータに NULL を指定すると、テクスチャ全体を覆うようにダーティー領域が拡大する。Flags
[in] 実行するロックの種類を記述する、0 個以上のロッキング フラグの組み合わせ。このメソッドに使用できるフラグは次のとおり。- D3DLOCK_DISCARD
- D3DLOCK_NO_DIRTY_UPDATE
- D3DLOCK_NO_SYSLOCK
- D3DLOCK_READONLY
フラグについては、「D3DLOCK」を参照すること。
戻り値
成功した場合は、D3D_OK を返す。
失敗した場合は、D3DERR_INVALIDCALL を返す。
注意
D3DPOOL_DEFAULT で作成されたテクスチャはロックできない。ビデオ メモリで作成したテクスチャは、USAGE_DYNAMIC を指定して作成した場合はロックできる。使用方法の詳細については、「D3DUSAGE」を参照すること。
パフォーマンス上の理由から、ダーティー領域はテクスチャのレベル 0 についてのみ記録する。D3DLOCK_NO_DIRTY_UPDATE または D3DLOCK_READONLY を指定せずに IDirect3DTexture9::LockRect を呼び出すと、ダーティー領域が自動的に記録される。詳細については「IDirect3DDevice9::UpdateTexture」を参照すること。
深度ステンシル テクスチャのロック可能なフォーマットは、D3DFMT_D16_LOCKABLE だけである。
ビデオ メモリ テクスチャはロックできないが、IDirect3DDevice9::UpdateSurface または IDirect3DDevice9::UpdateTexture を呼び出して修正する必要がある。Microsoft® DirectX® 9.0 が認識しない、一部のドライバ独自のピクセル フォーマットは例外である。これらはロックできる。
参照
IDirect3DTexture9::UnlockRect、IDirect3DDevice9::UpdateTexture