Compartir a través de


Creación de un proveedor de servicios

Un proveedor de servicios es un componente que actúa como intermediario entre una aplicación y un dispositivo. Windows Media Administrador de dispositivos enruta las solicitudes de la aplicación al proveedor de servicios, que luego es responsable de comunicarse con el dispositivo o realizar la acción solicitada. Normalmente, un proveedor de servicios se comunica con un controlador para habilitar la comunicación con el dispositivo. Un proveedor de servicios es un componente COM que implementa las interfaces llamadas por Windows Media Administrador de dispositivos. La interfaz raíz del objeto de proveedor de servicios es IMDServiceProvider. Después de obtener esta interfaz, Windows Media Administrador de dispositivos puede obtener otras interfaces a través de la implementación del proveedor de servicios de varios métodos. Las interfaces que un proveedor de servicios debe implementar se enumeran en Interfaces obligatorias y opcionales. La jerarquía de interfaces se muestra en Interfaces para proveedores de servicios.

Nota

No debe intentar crear un proveedor de servicios MTP; en su lugar, debe usar el proveedor de servicios MTP y los controladores proporcionados por Microsoft.

 

Antes de intentar crear un proveedor de servicios, debe comprender exhaustivamente qué llamadas realizará una aplicación en un proveedor de servicios. Lea Creating a Windows Media Administrador de dispositivos Application (Crear una aplicación de Windows Media Administrador de dispositivos) para hacerse una idea de las tareas básicas y las llamadas que realizará una aplicación en un proveedor de servicios cuando intente comunicarse con un dispositivo.

En la lista siguiente se muestran los pasos clave para desarrollar un proveedor de servicios:

  1. Incluya (y, opcionalmente, compile) los archivos de encabezado y biblioteca necesarios para el proyecto. Consulte Bibliotecas y encabezados necesarios para un proveedor de servicios para obtener la lista de archivos necesarios.
  2. Implemente todas las demás interfaces de proveedor de servicios obligatorias o opcionales (consulte Interfaces obligatorias y opcionales). Normalmente, se llamará a las interfaces en este orden:
  3. Asegúrese de que el proveedor de servicios o el dispositivo instala las claves del Registro adecuadas durante la instalación. Estas claves especifican parámetros de dispositivo, registran el proveedor de servicios como complemento y habilitan Plug and Play notificaciones para la llegada y eliminación de dispositivos. Consulte Parámetros de dispositivo, Registro del proveedor de servicios y Habilitación de PnP para dispositivos.
  4. Al crear instancias de la clase, autentique el proveedor de servicios en el constructor. Para ello, cree una clase CSecureChannelServer y establezca el certificado. Implemente la interfaz IComponentAuthenticate y llame a los métodos de la clase CSecureChannelServer creada anteriormente. Consulte Autenticación del proveedor de servicios para obtener información sobre cómo crear instancias de la clase CSecureChannelServer e implementar los métodos IComponentAuthenticate.
  5. Windows Media Administrador de dispositivos consultará al proveedor de servicios una lista de dispositivos conectados llamando a IMDServiceProvider2::CreateDevice o IMDServiceProvider::EnumDevices, en función de si el proveedor de servicios controla Plug and Play dispositivos. El proveedor de servicios debe devolver una lista de objetos IMDSPDevice que representan dispositivos conectados. Consulte Enumerar dispositivos para obtener más detalles.
  6. Antes de controlar cualquier llamada, compruebe que se ha establecido un canal seguro. Llame a CSecureChannelServer::fIsAuthenticated antes de realizar cualquier acción. Si se produce un error en esta llamada, devuelva WMDM_E_NOTCERTIFIED.
  7. Necesitará un par de certificados y claves emitido por Microsoft para poder controlar el material protegido por DRM. Consulte Control de contenido protegido en el proveedor de servicios para obtener más información.
  8. Para permitir que el dispositivo se sincronice automáticamente con Reproductor multimedia de Windows, debe cumplir los requisitos indicados en Habilitación de la sincronización con Reproductor multimedia de Windows.
  9. Para permitir que el dispositivo aparezca en el Explorador de Windows, debe realizar algunos pasos especiales, que se detallan en Requisitos para reproductores de audio portátiles que aparecen en el Explorador de Windows.

Guía de programación