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
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) |