Freigeben über


Registrieren von KS-Proxy-Plug-Ins

Sowohl Schnittstellen- als auch Eigenschaftenseiten-Plug-Ins müssen sich beim KS-Proxy als Anbieter von KS-Proxyerweiterungen registrieren.

Um Ihr Plug-In zu registrieren, exportieren Sie die Funktionen DllRegisterServer und DllUnregisterServer in der DLL, die das COM-Objekt implementiert. Diese Funktionen werden in Olectl.h deklariert, sind aber benutzerdefinierte Funktionen.

Sie können die GUID eines Eigenschaftssatzes als CLSID der Komponente und als IID der Schnittstelle wiederverwenden, die von der Komponente unterstützt wird.

Ihre DllRegisterServer-Implementierung sollte die folgenden Aktionen ausführen:

  1. Rufen Sie AMovieDllRegisterServer2 mit dem Wert TRUE auf, um den Filter zu registrieren.

  2. Rufen Sie RegCreateKeyEx auf, um ein Handle für den Schlüssel HKLM\System\CurrentControlSet\Control\MediaInterfaces zu erstellen und zu empfangen.

  3. Verwenden Sie RegSetValueEx , um einen Wert unter dem Schlüssel HKLM\System\CurrentControlSet\Control\MediaInterfaces festzulegen, der den Eigenschaftensatz einem Schnittstellenhandler zuordnet. Weitere Informationen zu Schnittstellenhandlern finden Sie unter Schnittstellenhandler-Plug-In.

  4. Da der Schlüssel keiner der vordefinierten Registrierungsschlüssel ist, rufen Sie RegCloseKey auf, um das Handle für den Schlüssel zu schließen.

  5. Rufen Sie RegCreateKeyEx auf.

  6. Verwenden Sie RegSetValueEx , um einen Wert unter dem Schlüssel HKLM\System\CurrentControlSet\Control\MediaSets\ festzulegen, der den Eigenschaftensatz einer Eigenschaftenseite zuordnet. Weitere Informationen zu Eigenschaftenseiten-Plug-Ins finden Sie unter Eigenschaftenseiten-Plug-In.

  7. Da der Schlüssel keiner der vordefinierten Registrierungsschlüssel ist, rufen Sie RegCloseKey auf, um das Handle für den Schlüssel zu schließen.

Ihre Implementierung von DllUnregisterServer sollte die folgenden Aktionen ausführen:

  1. Rufen Sie AMovieDllRegisterServer2 mit dem Wert FALSE auf, um die Registrierung des Filters aufzuheben.

  2. Rufen Sie RegCreateKeyEx auf, um den vorhandenen Schlüssel zu öffnen.

  3. Verwenden Sie RegDeleteKey , um den Unterschlüssel zu löschen.

  4. Rufen Sie RegCloseKey auf, um das Handle für den Schlüssel zu schließen.