共用方式為


D3DLOCK

零個或多個鎖定選項的組合,描述要執行的鎖定類型。

#define 描述
D3DLOCK_DISCARD 應用程式會捨棄鎖定區域內的所有記憶體。 對於頂點和索引緩衝區,將會捨棄整個緩衝區。 只有在使用動態使用量建立資源時,此選項才有效(請參閱 D3DUSAGE)。
D3DLOCK_DONOTWAIT 如果驅動程式無法立即鎖定表面,可讓應用程式取得 CPU 週期。 如果已設定此旗標,且驅動程式無法立即鎖定表面,鎖定呼叫將會傳回D3DERR_WASSTILLDRAWING。 只有在鎖定使用 CreateOffscreenPlainSurface CreateRenderTargetCreateDepthStencilSurface建立的介面時,才能使用此旗標。 此旗標也可以與後台緩衝區搭配使用。
D3DLOCK_NO_DIRTY_UPDATE 根據預設,資源上的鎖定會將臟區域新增至該資源。 此選項可防止對資源的骯髒狀態進行任何變更。 當應用程式在鎖定作業期間有一組區域變更的其他資訊時,應該使用此選項。
D3DLOCK_NOOVERWRITE 表示在繪圖呼叫中參考的記憶體,因為最後一個鎖定沒有這個旗標的鎖定將不會在鎖定期間修改。 當應用程式將數據附加至資源時,這可啟用優化。 指定此旗標可讓驅動程式在資源正在使用時立即傳回,否則驅動程式必須先使用資源,才能從鎖定傳回。
D3DLOCK_NOSYSLOCK 視訊記憶體鎖定的預設行為是保留全系統關鍵區段,保證鎖定期間不會發生任何顯示模式變更。 此選項會使全系統關鍵區段在鎖定期間不保留。
鎖定作業很耗時,但可讓系統執行其他工作,例如移動滑鼠游標。 此選項適用於長時間鎖定,例如軟體轉譯的後端緩衝區鎖定,否則會對系統回應性造成負面影響。
D3DLOCK_READONLY 應用程式不會寫入緩衝區。 這可讓以非原生格式儲存的資源,以在解除鎖定時儲存重新壓縮步驟。

 

常數資訊

要求 價值
頁眉 d3d9types.h
最低作系統 Windows 98

 

Direct3D 常數

LockRect

鎖定

LockRect

LockRect

鎖定

LockBox

LockBox

LockIndexBuffer

LockVertexBuffer

LockVertexBuffer

LockAttributeBuffer

LockAttributeBuffer

LockIndexBuffer

LockVertexBuffer