Записи реестра расширений пользовательского интерфейса
Необходимо указать идентификатор класса 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.