Установка фильтра сегментации
Фильтр сегментации должен быть установлен вместе с драйвером WIA. Для этого необходимо добавить небольшое количество дополнений в INF-файл драйвера. В следующем примере INF показано, как изменить существующий INF-файл драйвера для включения фильтра сегментации.
[MyDriver.AddReg]
...
HKCR,CLSID\<UiClassId>\shellex\SegmentationFilter\<FilterClassId>
...
HKCR,CLSID\<FilterClassId>,,,"My Segmentation Filter"
HKCR,CLSID\<FilterClassId>\InProcServer32,,,%11%\Mysegfilter.dll
HKCR,CLSID\<FilterClassId>\InProcServer32,ThreadingModel,,"Both"
...
[MyDriver.CopyFiles]
...
Mysegfilter.dll
...
[SourceDisksFiles.x86]
...
Mysegfilter.dll=1
...
<UiClassId> — это значение, возвращаемое драйвером для свойства WIA_DIP_UI_CLSID. <FilterClassId> — это идентификатор класса реализации фильтра сегментации. Mysegfilter.dll — это библиотека DLL, содержащая реализацию фильтра сегментации.
Первая запись в директиве INF AddReg устройства регистрирует фильтр сегментации в качестве расширения для драйвера, а следующие три записи регистрируют фильтр сегментации в качестве com-компонента.
Если драйвер использует фильтр сегментации WIA, предоставленный корпорацией Майкрософт, то ни директива INF CopyFiles устройства, раздел INF SourceDisksFiles, ни последние три записи реестра не требуются. Единственное требование заключается в том, что мини-диск реализует свойство WIA_IPS_SEGMENTATION.
Com ThreadingModel должен иметь значение Both.
Дополнительные сведения о INF-файлах см. в разделе INF-файлы для устройств WIA.