Freigeben über


KsStreamPointerClone-Funktion (ks.h)

Die KsStreamPointerClone--Funktion erstellt einen Klon eines bestimmten Datenstromzeigers.

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 Streamzeiger darstellt, der geklont werden soll.

[in, optional] CancelCallback

Wahlfrei. Ein Zeiger auf einen minidriver-bereitgestellten AVStrMiniCancelCallback Routine. AVStream ruft diese Routine auf, wenn das mit CloneStreamPointer- verknüpfte IRP abgebrochen wird.

[in] ContextSize

Dieser Parameter gibt an, wie viele Bytes von Minidriver-Kontextinformationen der resultierende Klonstreamzeiger aufweisen soll. Wenn kein Wert ungleich Null ist, werden die angeforderte Anzahl von Bytes unmittelbar nach dem zurückgegebenen Datenstromzeiger zugewiesen, und das Context- Feld von CloneStreamPointer auf den zugewiesenen Speicher verweist.

[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 Datenstromzeigers.

Rückgabewert

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

Bemerkungen

Der resultierende Klon bezieht sich zunächst auf denselben Datenrahmen wie der ursprüngliche Datenstromzeiger und befindet sich im gleichen Zustand (gesperrt oder entsperrt). Durch Hinzufügen eines Klondatenstromzeigers, der auf einen Datenrahmen verweist, wird die Referenzanzahl für diesen bestimmten Frame erhöht. Beachten Sie, dass der fragliche Frame und daher der IRP, zu dem der Frame gehört, erst abgeschlossen wird, wenn die Bezugsanzahl auf Null fällt.

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

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-

KsStreamPointerAdvanceOffsets-

KsStreamPointerAdvanceOffsetsAndUnlock

KsStreamPointerDelete-

KsStreamPointerLock-

KsStreamPointerUnlock-