KsStreamPointerAdvanceOffsets 函式 (ks.h)

KsStreamPointerAdvanceOffsets 函式會前進 StreamPointer 的位移。

語法

KSDDKAPI NTSTATUS KsStreamPointerAdvanceOffsets(
  [in] PKSSTREAM_POINTER StreamPointer,
  [in] ULONG             InUsed,
  [in] ULONG             OutUsed,
  [in] BOOLEAN           Eject
);

參數

[in] StreamPointer

KSSTREAM_POINTER 結構的指標,代表要前進位移的數據流指標。 呼叫此函式時,StreamPointer 應處於鎖定狀態。

[in] InUsed

要前進這個數據流指標之輸入指標的位元元組數目。

(StreamPointer -> OffsetIn)

[in] OutUsed

要前進此數據流指標輸出指標的位元元組數目

(StreamPointer -> OffsetOut)

[in] Eject

此參數指出數據流指標是否應該進階至下一個數據框架 如果此參數設定為 TRUE,AVStream 會向前行動數據流指標,而不論行動位移是否會導致數據流指標指向框架的結尾。

傳回值

KsStreamPointerAdvanceOffsets 會在成功時傳回STATUS_SUCCESS。 傳回STATUS_DEVICE_NOT_READY如果 StreamPointer 在呼叫時未鎖定,或數據流指標在前進後無法鎖定。

備註

AVStream 會依要求的值來更新輸入和輸出數據指標和其他相關欄位。 如果前進位移會導致目前框架中剩餘的位元組為零,AVStream 會將數據流指標前進到下一個數據框架,然後重新鎖定它。

迷你驅動程序的責任是在呼叫 KsStreamPointerAdvanceOffsets 之前先確認 StreamPointer 已鎖定。 此外,單一進展無法進一步將數據流指標前進到佇列中下一個框架的開頭。 因此,minidrivers 不應該嘗試將位移前移的值大於 StreamPointer -> Offset*。剩餘

另請參閱 Stream指標

規格需求

需求
最低支援的用戶端 適用於 Microsoft Windows XP 和更新版本的作業系統和 DirectX 8.0 和更新版本的 DirectX 版本。
目標平台 Universal
標頭 ks.h (包含 Ks.h)
程式庫 Ks.lib
IRQL <=DISPATCH_LEVEL

另請參閱

KsStreamPointerAdvance

KsStreamPointerAdvanceOffsetsAndUnlock

KsStreamPointerLock

KsStreamPointerUnlock