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 |