Función KsStreamPointerClone (ks.h)

La función KsStreamPointerClone crea un clon de un puntero de flujo determinado.

Sintaxis

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

Parámetros

[in] StreamPointer

Puntero a una estructura KSSTREAM_POINTER que representa el puntero de secuencia que se va a clonar.

[in, optional] CancelCallback

Opcional. Puntero a una rutina AVStrMiniCancelCallback proporcionada por minidriver. AVStream llama a esta rutina si se cancela el IRP asociado a CloneStreamPointer .

[in] ContextSize

Este parámetro indica cuántos bytes de información de contexto de minidriver debe tener el puntero de secuencia clonado resultante. Si no es cero, el número solicitado de bytes se asigna inmediatamente después del puntero de secuencia devuelto y el campo Context de CloneStreamPointer apunta a la memoria asignada.

[out] CloneStreamPointer

Puntero a un puntero a una estructura de KSSTREAM_POINTER . Una vez completada correctamente la operación de clonación, CloneStreamPointer contiene un puntero a la dirección del puntero de secuencia clonado.

Valor devuelto

KsStreamPointerClone devuelve STATUS_SUCCESS, lo que indica que la operación de clonación se completó normalmente o un código de error adecuado.

Comentarios

El clon resultante hace referencia inicialmente a la misma trama de datos que el puntero de secuencia original y está en el mismo estado (bloqueado o desbloqueado). Al agregar un puntero de secuencia clonado que hace referencia a una trama de datos, se incrementa el recuento de referencias en ese fotograma concreto. Tenga en cuenta que el marco en cuestión y, por lo tanto, el IRP al que pertenece el marco, no se completa hasta que el recuento de referencias cae a cero.

Puede usar el parámetro ContextSize de esta llamada para minimizar las llamadas de asignación.

Consulte también Stream punteros.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Microsoft Windows XP y en sistemas operativos posteriores y DirectX 8.0 y versiones posteriores de DirectX.
Plataforma de destino Universal
Encabezado ks.h (incluye Ks.h)
Library Ks.lib
IRQL <=DISPATCH_LEVEL

Consulte también

KsStreamPointerAdvance

KsStreamPointerAdvanceOffsets

KsStreamPointerAdvanceOffsetsAndUnlock

KsStreamPointerDelete

KsStreamPointerLock

KsStreamPointerUnlock