Compartilhar via


DIF_REGISTERDEVICE

A solicitação DIF_REGISTERDEVICE permite que um instalador participe do registro de uma instância de dispositivo recém-criada com o gerenciador PnP. O Windows envia essa solicitação DIF para dispositivos não PnP.

Quando enviado

Quando um instalador relata um dispositivo anteriormente desconhecido em resposta a uma solicitação de DIF_DETECT . O Windows envia essa solicitação DIF na fase de análise do Assistente para Adicionar Hardware antes de instalar o dispositivo. O Windows também envia essa solicitação durante a detecção não PnP.

Quem manipula

Co-instalador de classe

Pode manipular

Co-instalador de dispositivo

Não manipula

Instalador de Classe

Pode manipular

Entrada do instalador

DeviceInfoSet
Fornece um identificador para o conjunto de informações do dispositivo que contém o dispositivo.

DeviceInfoData
Fornece um ponteiro para uma estrutura SP_DEVINFO_DATA que identifica o dispositivo no conjunto de informações do dispositivo.

Parâmetros de instalação do dispositivo
Há parâmetros de instalação do dispositivo (SP_DEVINSTALL_PARAMS) associados ao DeviceInfoData.

Parâmetros de instalação de classe
Nenhum

Saída do instalador

Nenhum

Valor retornado do instalador

Um co-instalador pode retornar NO_ERROR ou um código de erro Win32. Um co-instalador não deve retornar ERROR_DI_POSTPROCESSING_REQUIRED para essa solicitação DIF.

Se um instalador determinar que o dispositivo é uma duplicata, ele retornará ERROR_DUPLICATE_FOUND.

Se um instalador de classe manipular com êxito essa solicitação e SetupDiCallClassInstaller precisar chamar posteriormente o manipulador padrão, o instalador de classe retornará ERROR_DI_DO_DEFAULT.

Se o instalador de classe manipular com êxito essa solicitação, incluindo chamar diretamente o manipulador padrão, o instalador de classe deverá retornar NO_ERROR e SetupDiCallClassInstaller não chamará o manipulador padrão novamente.

Nota O instalador de classe pode chamar diretamente o manipulador padrão, mas o instalador de classe nunca deve tentar substituir as operações do manipulador padrão.

Para obter mais informações sobre como chamar o manipulador padrão, consulte Chamando manipuladores de código DIF padrão.

Se o instalador de classe encontrar um erro, o instalador deverá retornar um código de erro Win32 apropriado e SetupDiCallClassInstaller não chamará posteriormente o manipulador padrão.

Se o instalador determinar que o dispositivo é duplicado, o instalador retornará ERROR_DUPLICATE_FOUND.

Manipulador de código DIF padrão

SetupDiRegisterDeviceInfo

Operação do instalador

Um aplicativo de instalação de dispositivo normalmente envia essa solicitação DIF para registrar um dispositivo não PnP com o gerenciador PnP. A partir do Microsoft Windows 2000, os dispositivos não PnP devem ser registrados antes de serem instalados.

Um instalador normalmente manipula essa solicitação DIF para fazer a detecção de duplicatas. Esse instalador normalmente chama o manipulador padrão (SetupDiRegisterDeviceInfo) e especifica sua rotina de detecção. Se o registro for bem-sucedido e o instalador determinar que o dispositivo não é uma duplicata, o instalador retornará NO_ERROR.

Um co-instalador deve executar todas as operações para lidar com essa solicitação DIF em sua passagem de pré-processamento. Quando o co-instalador é chamado para pós-processamento, a instância do dispositivo já foi registrada pelo instalador de classe ou pelo manipulador padrão.

Se um instalador retornar um erro para esse código DIF, normalmente ERROR_DUPLICATE_FOUND, o Windows excluirá o dispositivo do conjunto de informações do dispositivo.

Para obter mais informações sobre códigos DIF, consulte Manipulando códigos DIF.

Requisitos

Versão

Com suporte no Microsoft Windows 2000 e versões posteriores do Windows.

parâmetro

Setupapi.h (inclua Setupapi.h)

Confira também

DIF_DETECT

SetupDiRegisterDeviceInfo

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS