Condividi tramite


Funzione KsStreamPointerClone (ks.h)

La funzione KsStreamPointerClone crea un clone di un puntatore di flusso specificato.

Sintassi

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

Parametri

[in] StreamPointer

Puntatore a una struttura KSSTREAM_POINTER che rappresenta il puntatore al flusso da clonare.

[in, optional] CancelCallback

facoltativo. Puntatore a una routine AVStrMiniCancelCallback fornita da minidriver. AVStream chiama questa routine se l'IRP associato a CloneStreamPointer viene annullato.

[in] ContextSize

Questo parametro indica il numero di byte di informazioni sul contesto del minidriver che devono essere presenti nel puntatore del flusso clone risultante. Se diverso da zero, il numero di byte richiesto viene allocato immediatamente dopo il puntatore al flusso restituito e il campo Context di CloneStreamPointer punta alla memoria allocata.

[out] CloneStreamPointer

Puntatore a un puntatore a una struttura KSSTREAM_POINTER . Al termine dell'operazione di clonazione, CloneStreamPointer contiene un puntatore all'indirizzo del puntatore del flusso clonato.

Valore restituito

KsStreamPointerClone restituisce STATUS_SUCCESS, a indicare che l'operazione di clonazione è stata completata normalmente o un codice di errore appropriato.

Commenti

Il clone risultante fa inizialmente riferimento allo stesso frame di dati del puntatore di flusso originale e si trova nello stesso stato (bloccato o sbloccato). L'aggiunta di un puntatore al flusso clone che fa riferimento a un frame di dati incrementa il conteggio dei riferimenti in tale frame specifico. Si noti che il frame in questione, e quindi l'IRP a cui appartiene il frame, non viene completato fino a quando il conteggio dei riferimenti non scende a zero.

È possibile usare il parametro ContextSize di questa chiamata per ridurre al minimo le chiamate di allocazione.

Vedere anche Stream puntatori.

Requisiti

Requisito Valore
Client minimo supportato Disponibile nei sistemi operativi Microsoft Windows XP e versioni successive e DirectX 8.0 e versioni successive di DirectX.
Piattaforma di destinazione Universale
Intestazione ks.h (include Ks.h)
Libreria Ks.lib
IRQL <=DISPATCH_LEVEL

Vedi anche

KsStreamPointerAdvance

KsStreamPointerAdvanceOffsets

KsStreamPointerAdvanceOffsetsAndUnlock

KsStreamPointerDelete

KsStreamPointerLock

KsStreamPointerUnlock