KS プロキシ プラグインの登録
インターフェイスとプロパティ ページの両方のプラグインは、KS プロキシ拡張機能のプロバイダーとして KS プロキシに登録する必要があります。
プラグインを登録するには、COM オブジェクトを実装する DLL に DllRegisterServer と DllUnregisterServer という名前の関数をエクスポートします。 これらの関数は、Olectl.h で宣言されていますが、ユーザー定義です。
プロパティ セットの GUID をコンポーネントの CLSID として、およびコンポーネントがサポートするインターフェイスの IID として再利用できます。
DllRegisterServer の実装では、次の操作を行う必要があります。
フィルターを登録するには、 TRUE の値を指定して AMovieDllRegisterServer2 を呼び出します。
RegCreateKeyEx を呼び出して、HKLM\System\CurrentControlSet\Control\MediaInterfaces キーへのハンドルを作成して受け取ります。
RegSetValueEx を使用して、プロパティ セットをインターフェイス ハンドラーにマップする HKLM\System\CurrentControlSet\Control\MediaInterfaces キーの値を設定します。 インターフェイス ハンドラーの詳細については、「インターフェイス ハンドラー プラグイン」を参照してください。
キーは定義済みのレジストリ キーの 1 つではないため、RegCloseKey を呼び出してキーのハンドルを閉じます。
RegCreateKeyEx を呼び出します。
RegSetValueEx を使用して、プロパティ セットをプロパティ ページにマップする HKLM\System\CurrentControlSet\Control\MediaSets\ キーの値を設定します。 プロパティ ページ プラグインの詳細については、「プロパティ ページプラグイン」を参照してください。
キーは定義済みのレジストリ キーの 1 つではないため、RegCloseKey を呼び出してキーのハンドルを閉じます。
DllUnregisterServer の実装では、次の操作を行う必要があります。
AMovieDllRegisterServer2 に FALSE を指定してフィルタの登録を解除します。
RegCreateKeyEx を呼び出して、既存のキーを開きます。
RegDeleteKey を使用してサブキーを削除します。
RegCloseKey を呼び出して、キーのハンドルを閉じます。