Compartir a través de


Interfaz IKsInterfaceHandler (ksproxy.h)

La interfaz IKsInterfaceHandler proporciona métodos que serializa las muestras en el kernel en función de la estructura KSPIN_INTERFACE especificada para la conexión establecida. El IID de esta interfaz es IID_IKsInterfaceHandler.

Herencia

La interfaz IKsInterfaceHandler hereda de la interfaz IUnknown.

Métodos

La interfaz IKsInterfaceHandler tiene estos métodos.

 
IKsInterfaceHandler::KsCompleteIo

El método KsCompleteIo limpia los encabezados extendidos y libera muestras multimedia después de completar la entrada y salida (E/S).
IKsInterfaceHandler::KsProcessMediaSamples

El método KsProcessMediaSamples procesa ejemplos multimedia.
IKsInterfaceHandler::KsSetPin

El método KsSetPin informa al controlador de la interfaz de streaming sobre el pin con el que comunicarse al pasar datos.

Observaciones

Para mantener el proxy neutro con respecto a la interfaz utilizada para transmitir datos, los controladores de interfaz se cargan para traducir muestras de medios directShow hacia y desde un controlador de nivel de kernel. Un controlador de interfaz implementa los métodos de la interfaz IKsInterfaceHandler para realizar preprocesamiento y postprocesamiento en todos los ejemplos multimedia y para indicar la finalización de la entrada y salida (E/S).

Cada controlador de interfaz puede serializar muestras de medios mediante su propio método. El controlador de interfaz estándar que implementa el proxy KS usa IOCTL_KS_WRITE_STREAM para la operación de recepción y IOCTL_KS_READ_STREAM para la operación de envío, pero un controlador de interfaz personalizado puede usar algún otro método.

Cuando se conecta un pin, el proxy usa el GUID en el miembro Set de la estructura de KSPIN_INTERFACE para determinar qué controlador de interfaz se va a cargar. El controlador de interfaz se registra como un servidor COM en esa clase GUID. El controlador de interfaz debe controlar todas las variaciones de la interfaz dentro del conjunto de interfaces. No se espera que los pines de puente transmitan datos y los controladores de interfaz no se cargan para ellos.

En un controlador de interfaz, cree una solicitud a través de CoCreateInstance, el servidor siempre presenta una externa IUnknown con la que crear el objeto COM. Este IUnknown es una interfaz en el objeto pin que está cargando este controlador de interfaz. El puntero de interfaz IUnknown se puede usar para consultar información o interfaces, como la interfaz IKsControl, desde el pin, aunque es posible que el pin en modo kernel no se haya creado en el momento en que se cargue el controlador de interfaz. No se debe dejar ninguna referencia en el objeto externo mediante la adquisición de ninguna interfaz, ya que dará como resultado un recuento de referencias circular. El uso de las interfaces sin un recuento de referencias es aceptable, ya que el objeto externo posee el controlador y, por definición, se destruye cuando el recuento de referencias del objeto externo alcanza cero.

Requisitos

Requisito Valor
de la plataforma de destino de Windows
encabezado de ksproxy.h

Consulte también

CoCreateInstance

IKsControl

KSPIN_INTERFACE