Erstellen eines Dienstanbieters

Ein Dienstanbieter ist eine Komponente, die als Middleman zwischen einer Anwendung und einem Gerät dient. Windows Media Geräte-Manager leitet Anforderungen von der Anwendung an den Dienstanbieter weiter, der dann für die Kommunikation mit dem Gerät oder die Durchführung der angeforderten Aktion zuständig ist. Ein Dienstanbieter kommuniziert in der Regel mit einem Treiber, um die Kommunikation mit dem Gerät zu ermöglichen. Ein Dienstanbieter ist eine COM-Komponente, die die schnittstellen implementiert, die von Windows Media Geräte-Manager aufgerufen werden. Die Stammschnittstelle des Dienstanbieterobjekts ist IMDServiceProvider. Nach dem Abrufen dieser Schnittstelle können Windows Media Geräte-Manager andere Schnittstellen über die Implementierung verschiedener Methoden des Dienstanbieters abrufen. Die Schnittstellen, die ein Dienstanbieter implementieren muss, sind unter Obligatorische und optionale Schnittstellenaufgeführt. Die Hierarchie der Schnittstellen wird unter Schnittstellen für Dienstanbieterangezeigt.

Hinweis

Sie sollten nicht versuchen, einen MTP-Dienstanbieter zu erstellen. Stattdessen sollten Sie den MTP-Dienstanbieter und die von Microsoft bereitgestellten Treiber verwenden.

Bevor Sie versuchen, einen Dienstanbieter zu erstellen, sollten Sie gründlich verstehen, welche Aufrufe eine Anwendung für einen Dienstanbieter vor sich hat. Lesen Sie Erstellen einer Windows Media Geräte-Manager-Anwendung, um sich einen Überblick über die grundlegenden Aufgaben und Aufrufe zu verschaffen, die eine Anwendung bei einem Dienstanbieter vorstellt, wenn sie versucht, mit einem Gerät zu kommunizieren.

Die folgende Liste zeigt die wichtigsten Schritte bei der Entwicklung eines Dienstanbieters:

  1. Fügen Sie die erforderlichen Header- und Bibliotheksdateien für Ihr Projekt ein (und kompilieren Sie sie optional). Eine Liste der erforderlichen Dateien finden Sie unter Erforderliche Bibliotheken und Header für einen Dienstanbieter.
  2. Implementieren Sie alle anderen erforderlichen oder optionalen Dienstanbieterschnittstellen (siehe Obligatorische und optionale Schnittstellen). Schnittstellen werden in der Regel in dieser Reihenfolge aufgerufen:
  3. Stellen Sie sicher, dass Ihr Dienstanbieter oder Gerät während der Installation die richtigen Registrierungsschlüssel installiert. Diese Schlüssel geben Geräteparameter an, registrieren den Dienstanbieter als Plug-In und aktivieren Plug & Play Benachrichtigungen für die Geräteankunft und -entfernung. Weitere Informationen finden Sie unter Geräteparameter, Registrieren des Dienstanbietersund Aktivieren von PnP für Geräte.
  4. Authentifizieren Sie bei der Instanziierung Ihrer Klasse den Dienstanbieter im Konstruktor. Erstellen Sie hierzu eine CSecureChannelServer-Klasse, und legen Sie das Zertifikat fest. Implementieren Sie die IComponentAuthenticate-Schnittstelle, und rufen Sie die Methoden der zuvor instanziierten CSecureChannelServer-Klasse auf. Unter Authentifizieren des Dienstanbieters erfahren Sie, wie Sie die CSecureChannelServer-Klasse instanziieren und die IComponentAuthenticate-Methoden implementieren.
  5. Windows Media Device Manager will query your service provider for a list of connected devices by calling IMDServiceProvider2::CreateDevice or IMDServiceProvider::EnumDevices, depending on whether the service provider handles Plug and Play devices. Der Dienstanbieter muss eine Liste von IMDSPDevice-Objekten zurückgeben, die verbundene Geräte darstellen. Weitere Informationen finden Sie unter Aufzählen von Geräten.
  6. Überprüfen Sie vor der Verarbeitung eines Aufrufs, ob ein sicherer Kanal eingerichtet wurde. Rufen Sie CSecureChannelServer::fIsAuthenticated auf, bevor Sie Aktionen ausführen. Wenn dieser Aufruf fehlschlägt, geben Sie WMDM _ E _ NOTCERTIFIED zurück.
  7. Sie benötigen ein von Microsoft ausgestelltes Zertifikat-/Schlüsselpaar, um DRM-geschütztes Material verarbeiten zu können. Weitere Informationen finden Sie unter Behandeln von geschützten Inhalten im Dienstanbieter.
  8. Damit Ihr Gerät automatisch mit Windows Media Player synchronisiert werden kann, muss es die unter Aktivieren der Synchronisierung mit Windows Media Playeraufgeführten Anforderungen erfüllen.
  9. Damit Ihr Gerät in Windows Explorer angezeigt werden kann, müssen Sie einige spezielle Schritte ausführen, die unter Anforderungen für portable Audioplayer in Windows Explorer beschrieben sind.

Programmierhandbuch