Freigeben über


KsStreamPointerAdvanceOffsets-Funktion (ks.h)

Die KsStreamPointerAdvanceOffsets--Funktion wechselt 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 voranschreiten. StreamPointer- sollte sich im gesperrten Zustand befinden, wenn diese Funktion aufgerufen wird.

[in] InUsed

Die Anzahl der Bytes, mit der der Eingabezeiger dieses Datenstromzeigers voranschreiten soll.

(StreamPointer -> OffsetIn)

[in] OutUsed

Die Anzahl der Bytes, mit der der Ausgabezeiger dieses Datenstromzeigers voranschreiten soll

(StreamPointer -> OffsetOut)

[in] Eject

Dieser Parameter gibt an, ob der Datenstromzeiger zum nächsten Datenrahmen erweitert werden soll. Wenn dieser Parameter auf TRUE-festgelegt ist, wird der Datenstromzeiger von AVStream fortgesetzt, unabhängig davon, ob das Voranschreiten der Offsets bewirkt, dass der Datenstromzeiger auf das Ende eines Frames zeigt.

Rückgabewert

KsStreamPointerAdvanceOffsets gibt STATUS_SUCCESS zurück. Gibt STATUS_DEVICE_NOT_READY zurück, wenn StreamPointer- zur Anrufzeit nicht gesperrt wurde oder der Datenstromzeiger nach der Weiterentwicklung nicht gesperrt werden konnte.

Bemerkungen

AVStream aktualisiert die In- und Out-Datenzeiger und andere verwandte Felder durch die angeforderten Werte. Wenn beim Voranstellen der Offsets null Bytes im aktuellen Frame verbleiben, wechselt AVStream den Datenstromzeiger zum nächsten Datenframe und sperrt ihn erneut.

Es liegt in der Verantwortung des Minidrivers, zu überprüfen, ob StreamPointer- gesperrt ist, bevor KsStreamPointerAdvanceOffsetsaufgerufen wird. Außerdem kann eine einzelne Weiterentwicklung einen Datenstromzeiger nicht weiter als den Anfang des nächsten Frames in der Warteschlange voranbringen. Daher sollten Minidriver nicht versuchen, Offsets um einen Wert größer als StreamPointer -> Offset*- voranzuschreiten. Verbleibende.

Siehe auch stream pointers.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Microsoft Windows XP und höheren Betriebssystemen und DirectX 8.0 und höher directX-Versionen.
Zielplattform- Universal
Header- ks.h (enthalten Ks.h)
Library Ks.lib
IRQL- <=DISPATCH_LEVEL

Siehe auch

KsStreamPointerAdvance-

KsStreamPointerAdvanceOffsetsAndUnlock

KsStreamPointerLock-

KsStreamPointerUnlock-