Microsoft DirectX 8.1 (C++) |
DirectShow filters are registered in two places:
Filters are not required to register the additional filter information. As long as the DLL is registered as the COM server, an application can create the filter and add it to a filter graph. However, if you want your filter to be discoverable by the System Device Enumerator or the Filter Mapper, you must register the additional information.
The registry entry for the DLL has the following keys:
HKEY_CLASSES_ROOT
CLSID
Filter CLSID
REG_SZ: (Default) = Friendly name
InprocServer32
REG_SZ: (Default) = File name of the DLL
REG_SZ: ThreadingModel = Both
The registry entry for the filter information has the following keys:
HKEY_CLASSES_ROOT
CLSID
Category
Instance
Filter CLSID
REG_SZ: CLSID = Filter CLSID
REG_BINARY: Filter Data = Filter information
REG_SZ: FriendlyName = Friendly name
Category is the GUID of a filter category. (See Filter Categories.) The filter information is packed into a binary format. The IFilterMapper2 interface unpacks this data when it searches the registry for a filter.
All of the filter category GUIDs are listed in the registry under the following key:
HKEY_CLASSES_ROOT\CLSID\CLSID_ActiveMovieCategories\Instance