KsStreamPointerClone-Funktion (ks.h)

Die KsStreamPointerClone-Funktion erstellt einen Klon eines bestimmten Streamzeigers.

Syntax

KSDDKAPI NTSTATUS KsStreamPointerClone(
  [in]           PKSSTREAM_POINTER  StreamPointer,
  [in, optional] PFNKSSTREAMPOINTER CancelCallback,
  [in]           ULONG              ContextSize,
  [out]          PKSSTREAM_POINTER  *CloneStreamPointer
);

Parameter

[in] StreamPointer

Ein Zeiger auf eine KSSTREAM_POINTER Struktur, die den zu klonenden Streamzeiger darstellt.

[in, optional] CancelCallback

Optional. Ein Zeiger auf eine minidriver-bereitgestellte AVStrMiniCancelCallback-Routine . AVStream ruft diese Routine auf, wenn die mit CloneStreamPointer verknüpfte IRP abgebrochen wird.

[in] ContextSize

Dieser Parameter gibt an, wie viele Bytes an Minidriverkontextinformationen der resultierende Klonstreamzeiger enthalten soll. Bei nichtzero wird die angeforderte Anzahl von Bytes unmittelbar nach dem zurückgegebenen Streamzeiger zugeordnet, und das Feld Kontext von CloneStreamPointer verweist auf den zugewiesenen Arbeitsspeicher.

[out] CloneStreamPointer

Ein Zeiger auf einen Zeiger auf eine KSSTREAM_POINTER-Struktur . Nach erfolgreichem Abschluss des Klonvorgangs enthält CloneStreamPointer einen Zeiger auf die Adresse des geklonten Streamzeigers.

Rückgabewert

KsStreamPointerClone gibt entweder STATUS_SUCCESS zurück, was angibt, dass der Klonvorgang normal abgeschlossen wurde, oder einen entsprechenden Fehlercode.

Hinweise

Der resultierende Klon bezieht sich zunächst auf denselben Datenrahmen wie der ursprüngliche Datenstromzeiger und befindet sich im gleichen Zustand (gesperrt oder entsperrt). Das Hinzufügen eines Klonstreamzeigers, der auf einen Datenrahmen verweist, erhöht die Verweisanzahl für diesen bestimmten Frame. Beachten Sie, dass der betreffende Frame und damit die IRP, zu der der Frame gehört, erst abgeschlossen ist, wenn die Verweisanzahl auf 0 sinkt.

Sie können den ContextSize-Parameter dieses Aufrufs verwenden, um Zuordnungsaufrufe zu minimieren.

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

KsStreamPointerAdvanceOffsets

KsStreamPointerAdvanceOffsetsAndUnlock

KsStreamPointerDelete

KsStreamPointerLock

KsStreamPointerUnlock