Interfaz IKsInterfaceHandler (ksproxy.h)

La interfaz IKsInterfaceHandler proporciona métodos que serializa los ejemplos 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 de medios una vez completada 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.

Comentarios

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 de DirectShow hacia y desde un controlador de nivel de kernel. Un controlador de interfaz implementa los métodos de la interfaz IKsInterfaceHandler para realizar el preprocesamiento y el postprocesamiento en todas las muestras 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 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 interfaz. 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 un IUnknown externo con el que crear el objeto COM. Este IUnknown es una interfaz en el objeto pin que carga este controlador de interfaz. El puntero de interfaz IUnknown se puede usar para consultar información o interfaces, como la interfaz IKsControl , desde la patilla, aunque es posible que el pin del 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 circulares. 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 Value
Plataforma de destino Windows
Encabezado ksproxy.h

Consulte también

Cocreateinstance

IKsControl

KSPIN_INTERFACE