Записи реестра расширений пользовательского интерфейса

Необходимо указать идентификатор класса COM-сервера для каждого расширения. Обратите внимание, что идентификатор класса COM-сервера для каждого расширения указан в качестве раздела реестра (а не значения) в разделе CLSID\{WIA_DIP_UI_CLSID}\shellex, где WIA_DIP_UI_CLSID является фактическим GUID, возвращаемым при запросе этого свойства приложением. Приложение использует его как часть раздела поиска в реестре. Каждый интерфейс расширяемости может ссылаться на другой идентификатор класса. Не требуется, чтобы один и тот же объект реализовал их все. Список только тех расширений, которые реализованы. Для перечисления всех четырех не требуется.

Так как GUID идентификатора класса определяет, какой драйвер следует использовать, если все модели устройства используют один и тот же драйвер, они могут иметь один и тот же guid идентификатора класса. Если разные модели используют разные драйверы, они должны иметь разные идентификаторы GUID.

CLSID\{WIA_DIP_UI_CLSID}\shellex\ContextMenuHandlers\<CLSID сервера внутрипроцессного сервера COM>
Предоставленная поставщиком БИБЛИОТЕКА COM, реализующая расширения пользовательского интерфейса контекстного меню.

CLSID\{WIA_DIP_UI_CLSID}\shellex\PropertySheetHandlers\<CLSID сервера в процессе COM>
Предоставленная поставщиком БИБЛИОТЕКА COM, реализующая расширения пользовательского интерфейса листа свойств.

CLSID\{WIA_DIP_UI_CLSID}\shellex\WiaDialogExtensionHandlers\<CLSID внутреннего сервера COM>
Предоставленная поставщиком БИБЛИОТЕКА COM, реализующая расширения пользовательского интерфейса диалогового интерфейса приложения.

CLSID\<CLSID внутреннего сервера> COM\InProcServer32\Значение по умолчанию
REG_SZ тип, содержащий имя предоставленного поставщиком COM-сервера, реализующего интерфейсы расширяемости.

CLSID\<CLSID внутреннего сервера> COM\InProcServer32\ThreadingModel
REG_SZ тип, содержащий имя модели потоков сервера COM, предоставленного поставщиком. Задайте для этого ключа значение Apartment.