IDirect3DIndexBuffer9::Lock メソッド (d3d9.h)
インデックス データの範囲をロックし、インデックス バッファー メモリへのポインターを取得します。
構文
HRESULT Lock(
[in] UINT OffsetToLock,
[in] UINT SizeToLock,
[out] void **ppbData,
[in] DWORD Flags
);
パラメーター
[in] OffsetToLock
型: UINT
ロックするインデックス データへのオフセット (バイト単位)。 SizeToLock と OffsetToLock の両方のパラメーターに 0 を指定して、インデックス バッファー全体をロックします。
[in] SizeToLock
型: UINT
ロックするインデックス データのサイズ (バイト単位)。 SizeToLock と OffsetToLock の両方のパラメーターに 0 を指定して、インデックス バッファー全体をロックします。
[out] ppbData
型: VOID**
VOID* 返されたインデックス データを含むメモリ バッファーへのポインター。
[in] Flags
型: DWORD
実行するロックの種類を記述する 0 個以上のロック フラグの組み合わせ。 このメソッドの有効なフラグは次のとおりです。
- D3DLOCK_DISCARD
- D3DLOCK_NO_DIRTY_UPDATE
- D3DLOCK_NOSYSLOCK
- D3DLOCK_READONLY
- D3DLOCK_NOOVERWRITE
戻り値
型: HRESULT
メソッドが成功した場合、戻り値はD3D_OK。 メソッドが失敗した場合は、戻り値をD3DERR_INVALIDCALLできます。
注釈
一般的な規則として、複数のフレームにわたってロックを保持しないでください。 インデックス バッファーを使用する場合は、複数のロック呼び出しを行うことができます。 ただし、ロック呼び出しの数がロック解除呼び出しの数と一致していることを確認する必要があります。 IDirect3DDevice9::D rawIndexedPrimitive 呼び出しは、現在設定されているインデックス バッファーの未処理のロックカウントでは成功しません。
D3DLOCK_DISCARDフラグとD3DLOCK_NOOVERWRITE フラグは、D3DUSAGE_DYNAMICで作成されたバッファーでのみ有効です。
D3DLOCK_DISCARDまたはD3DLOCK_NOOVERWRITEの使用については、「 プログラミングのヒント (Direct3D 9)」 を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d9.h (D3D9.h を含む) |
Library | D3D9.lib |