Entradas do Registro de Extensão da Interface do Usuário
Você deve fornecer a ID da classe de servidor COM para cada extensão. Observe que a ID de classe do servidor COM para cada extensão é listada como uma chave do Registro (não um valor) em CLSID\{WIA_DIP_UI_CLSID}\shellex, em que WIA_DIP_UI_CLSID é o GUID real retornado quando o aplicativo solicita essa propriedade. O aplicativo o usa como parte da chave de pesquisa no Registro. Cada interface de extensibilidade pode se referir a uma ID de classe diferente. Não há nenhum requisito de que o mesmo objeto implemente todos eles. Liste apenas as extensões implementadas. Não é necessário listar todos os quatro.
Como o GUID da ID de classe identifica qual driver usar, se todos os modelos do dispositivo usarem o mesmo driver, todos eles poderão ter o mesmo GUID de ID de classe. Se modelos diferentes usarem drivers diferentes, eles deverão ter GUIDs diferentes.
CLSID\{WIA_DIP_UI_CLSID}\shellex\ContextMenuHandlers\<CLSID do servidor em processo COM>
DLL COM fornecida pelo fornecedor que implementa extensões de interface do usuário do menu de contexto.
CLSID\{WIA_DIP_UI_CLSID}\shellex\PropertySheetHandlers\<CLSID do servidor em processo COM>
DLL COM fornecida pelo fornecedor que implementa extensões de interface do usuário da folha de propriedades.
CLSID\{WIA_DIP_UI_CLSID}\shellex\WiaDialogExtensionHandlers\<CLSID do servidor em processo COM>
DLL COM fornecida pelo fornecedor que implementa extensões de interface do usuário da caixa de diálogo do aplicativo.
CLSID\<CLSID do servidor> em processo COM\InProcServer32\Default Value
REG_SZ tipo que contém o nome do servidor COM fornecido pelo fornecedor implementando as interfaces de extensibilidade.
CLSID\<CLSID do servidor> em processo COM\InProcServer32\ThreadingModel
REG_SZ tipo que contém o nome do modelo de threading do servidor COM fornecido pelo fornecedor. Defina essa chave como Apartment.