共用方式為


處理多個鎖定

使用 Direct3D 執行時間,您可以允許頂點和索引緩衝區有多個未完成鎖定。 使用者模式顯示驅動程式必須以與 Windows 2000 顯示驅動程式模型中執行時間相同的方式處理多個鎖定。

使用者模式顯示驅動程式不能針對已鎖定的資源,失敗呼叫其 LockAsync 函式。 也就是說,驅動程式無法在第一次呼叫 LockAsync 函式時成功鎖定該資源之後,對特定資源的 LockAsync 函式進行任何呼叫失敗。 同樣地,驅動程式無法在鎖定該資源的第一次呼叫成功之後,針對特定資源的 Lock 函式失敗對其Lock函式的任何呼叫。 執行時間會比對驅動程式 LockAsync 函式進行的每個呼叫,並呼叫驅動程式的 UnlockAsync 函式。 執行時間也會比對驅動程式 的 Lock 函式進行的每個呼叫,並呼叫驅動程式的 Unlock 函式。

除非先前呼叫驅動程式的LockAsync函式未實際鎖定D3DDDIARG_UNLOCKASYNC結構所描述的資源,否則使用者模式顯示驅動程式無法呼叫其UnlockAsync函式。 同樣地,除非先前呼叫驅動程式的Lock函式未實際鎖定D3DDDIARG_UNLOCK結構所描述的資源,否則驅動程式無法呼叫其Unlock函式。 在先前未鎖定資源的情況下, UnlockAsyncUnlock 會傳回E_INVALIDARG。