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 |