Condividi tramite


Registrazione dei plug-in proxy KS

I plug-in dell'interfaccia e della pagina delle proprietà devono essere registrati presso il proxy KS in qualità di provider di estensioni proxy KS.

Per registrare il plug-in, esportare le funzioni denominate DllRegisterServer e DllUnregisterServer nella DLL che implementa l'oggetto COM. Queste funzioni vengono dichiarate in Olectl.h , ma sono definite dall'utente.

È possibile riutilizzare il GUID di un set di proprietà come CLSID del componente e l'IID dell'interfaccia supportata dal componente.

L'implementazione di DllRegisterServer deve eseguire le operazioni seguenti:

  1. Chiamare AMovieDllRegisterServer2 con un valore TRUE per registrare il filtro.

  2. Chiamare RegCreateKeyEx per creare e ricevere un handle per la chiave HKLM\System\CurrentControlSet\Control\MediaInterfaces.

  3. Usare RegSetValueEx per impostare un valore nella chiave HKLM\System\CurrentControlSet\Control\MediaInterfaces che mappa il tuo set di proprietà a un gestore dell'interfaccia. Per altre informazioni sui gestori di interfaccia, vedere Plug-in del gestore dell'interfaccia.

  4. Poiché la chiave non è una delle chiavi predefinite del Registro di sistema, chiamare RegCloseKey per chiudere l'handle della chiave.

  5. Chiamare RegCreateKeyEx.

  6. Utilizzare RegSetValueEx per impostare un valore nella chiave HKLM\System\CurrentControlSet\Control\MediaSets\ che associa il set di proprietà a una pagina delle proprietà. Per altre informazioni sui plug-in della pagina delle proprietà, vedere Plug-in della pagina delle proprietà.

  7. Poiché la chiave non è una delle chiavi predefinite del Registro di sistema, chiamare RegCloseKey per chiudere l'handle della chiave.

L'implementazione di DllUnregisterServer deve eseguire le operazioni seguenti:

  1. Chiamare AMovieDllRegisterServer2 con un valore FALSE per annullare la registrazione del filtro.

  2. Chiamare RegCreateKeyEx per aprire la chiave esistente.

  3. Usare RegDeleteKey per eliminare la sottochiave.

  4. Chiamare RegCloseKey per chiudere l'handle relativo alla chiave.