共用方式為


鎖定和解除鎖定資料流程指標

每個資料流程指標都會維護鎖定狀態:鎖定或解除鎖定。

鎖定的資料流程指標保證會參考佇列中的資料。 無法取消鎖定資料流程指標所指向的資料框架。 因此,迷你驅動程式應該將他們花費在保留鎖定資料流程指標的時間降到最低。

未鎖定的資料流程指標不保證會參考佇列中的資料框架。 藉由按住解除鎖定的資料流程指標,迷你驅動程式可以保留資料指標,但仍允許取消框架。

可以存取解除鎖定資料流程指標所指向的資料。 如果您在KsStreamPointerClone中提供的CancelCallback常式呼叫KsStreamPointerDelete,您應該同步處理 CancelCallback及其執行的任何資料存取。 迷你驅動程式必須確保取消回呼常式不會在另一個執行緒使用它時刪除資料流程指標。

如果取消回呼常式未呼叫 KsStreamPointerDelete,可能不需要同步處理。

若要鎖定資料流程指標,請呼叫 KsStreamPointerLock。 若要解除鎖定資料流程指標,請呼叫 KsStreamPointerUnlock

取消 IRP 時,AVStream 會針對指向 IRP 內框架的所有未鎖定資料流程指標呼叫取消回呼。

只有在不在使用中時,才解除鎖定前置和尾端邊緣資料流程指標。