Freigeben über


KsStreamPointerAdvanceOffsets-Funktion (ks.h)

Die Funktion KsStreamPointerAdvanceOffsets erhöht die Offsets von StreamPointer.

Syntax

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

Parameter

[in] StreamPointer

Ein Zeiger auf eine KSSTREAM_POINTER Struktur, die den Datenstromzeiger darstellt, für den die Offsets vorankommen sollen. StreamPointer sollte sich im gesperrten Zustand befinden, wenn diese Funktion aufgerufen wird.

[in] InUsed

Die Anzahl der Bytes, die den Eingabezeiger dieses Datenstromzeigers voranbringen sollen.

(StreamPointer :> OffsetIn)

[in] OutUsed

Die Anzahl der Bytes, die den Ausgabezeiger dieses Datenstromzeigers voranbringen sollen

(StreamPointer :> OffsetOut)

[in] Eject

Dieser Parameter gibt an, ob der Streamzeiger zum nächsten Datenrahmen erweitert werden soll. Wenn dieser Parameter auf TRUE festgelegt ist, wird der Streamzeiger von AVStream unabhängig davon verbessert, ob der Streamzeiger durch Das Verschieben der Offsets dazu führt, dass der Streamzeiger auf das Ende eines Frames zeigt.

Rückgabewert

KsStreamPointerAdvanceOffsets gibt bei Erfolg STATUS_SUCCESS zurück. Gibt STATUS_DEVICE_NOT_READY zurück, wenn StreamPointer zur Anrufzeit nicht gesperrt war oder der Streamzeiger nach der Weiterentwicklung nicht gesperrt werden konnte.

Hinweise

AVStream aktualisiert die ein- und ausgehenden Datenzeiger und andere verwandte Felder um die angeforderten Werte. Wenn das Verschieben der Offsets dazu führt, dass null Bytes im aktuellen Frame verbleiben, führt AVStream den Streamzeiger auf den nächsten Datenrahmen weiter und sperrt ihn erneut.

Es liegt in der Verantwortung des Minidrivers zu überprüfen, ob StreamPointer gesperrt ist, bevor KsStreamPointerAdvanceOffsets aufgerufen wird. Außerdem kann eine einzelne Weiterentwicklung einen Streamzeiger nicht weiter als den Anfang des nächsten Frames in der Warteschlange voranbringen. Daher sollten Minidriver nicht versuchen, Offsets um einen Wert höher als StreamPointer –> Offset* zu erhöhen. Rest.

Siehe auch Stream Zeiger.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Microsoft Windows XP und höheren Betriebssystemen und DirectX 8.0 und höher DirectX-Versionen.
Zielplattform Universell
Header ks.h (einschließlich Ks.h)
Bibliothek Ks.lib
IRQL <=DISPATCH_LEVEL

Weitere Informationen

KsStreamPointerAdvance

KsStreamPointerAdvanceOffsetsAndUnlock

KsStreamPointerLock

KsStreamPointerUnlock