Usar funções de instalação de dispositivo

Esta seção resume as funções de instalação do dispositivo. Usando as funções de instalação do dispositivo, o software de instalação pode executar os seguintes tipos de operações:

  • Instalar drivers

  • Gerencie os códigos DIF.

  • Gerenciar conjuntos de informações do dispositivo.

  • Gerenciar listas de drivers.

  • Gerenciar interfaces do dispositivo.

  • Gerenciar ícones e outros bitmaps.

As tabelas a seguir fornecem resumos dos seguintes tipos de funções:

Funções de instalação do driver

Funções de informação do dispositivo

Funções de informação do driver

Rotinas de instalação de dispositivo

Funções de personalização de instalação do dispositivo

Funções da classe Setup

Funções bitmap e ícone

Funções de interface do dispositivo

Funções de propriedade do dispositivo (Windows Vista e posterior)

Funções do Registro

Outras funções

Funções de instalação do driver

DiInstallDevice

Instala um pacote de driver especificado pré-instalado no repositório de drivers em um dispositivo PnP que está presente no sistema. (Windows Vista e versões posteriores do Windows)

DiUninstallDevice

Desinstala um dispositivo e remove seu nó de dispositivo (devnode) do sistema. (Windows 7 e versões posteriores do Windows)

DiInstallDriver

Pré-instala um pacote de driver no repositório de driver e instala o pacote de driver em dispositivos PnP correspondentes que estão presentes no sistema. (Windows Vista e versões posteriores do Windows)

DiUninstallDriver

Remove um pacote de driver do Repositório de Drivers. (Windows 10 versão 1703 e versões posteriores do Windows)

UpdateDriverForPlugAndPlayDevices

Atualiza o pacote de driver instalado para dispositivos PnP correspondentes que estão presentes no sistema.

DiRollbackDriver

Reverte o pacote de driver instalado em um dispositivo especificado para o pacote de driver de backup definido para o dispositivo. (Windows Vista e versões posteriores do Windows)

Funções de informação do dispositivo

Observação

SetupApi não tem suporte em todas as edições do Windows. Quando possível, você deve usar APIs de camada inferior, como as disponíveis por meio de CfgMgr32.dll. Confira a migração de SetupApi para CfgMgr32 para obter dicas.

SetupDiCreateDeviceInfoList

Cria um conjunto de informações de dispositivo vazio. Esse conjunto pode ser associado a um GUID de classe.

SetupDiCreateDeviceInfoListEx

Cria um conjunto de informações de dispositivo vazio. Esse conjunto pode ser associado a um GUID de classe e pode ser para dispositivos em um computador remoto.

SetupDiCreateDeviceInfo

Cria um novo elemento de informações do dispositivo e adiciona-o como um novo membro ao conjunto de informações do dispositivo especificado.

SetupDiOpenDeviceInfo

Recupera informações sobre uma instância de dispositivo existente e a adiciona ao conjunto de informações do dispositivo especificado.

SetupDiEnumDeviceInfo

Retorna uma estrutura de contexto para um elemento de informações do dispositivo de um conjunto de informações do dispositivo.

SetupDiGetDeviceInstanceId

Recupera a ID da instância do dispositivo associada a um elemento de informações do dispositivo.

SetupDiGetDeviceInfoListClass

Recupera o GUID de classe associado a um conjunto de informações de dispositivo se ele tiver uma classe associada.

SetupDiGetDeviceInfoListDetail

Recupera informações associadas a um conjunto de informações do dispositivo, incluindo o GUID de classe, o identificador de computador remoto e o nome do computador remoto.

SetupDiGetClassDevPropertySheets

Recupera handles para as páginas de propriedades de um elemento de informações do dispositivo especificado ou da classe de configuração do dispositivo de um conjunto de informações do dispositivo especificado.

SetupDiGetClassDevs

Retorna um conjunto de informações do dispositivo que contém todos os dispositivos de uma classe especificada.

SetupDiGetClassDevsEx

Retorna um conjunto de informações do dispositivo que contém todos os dispositivos de uma classe especificada em um computador local ou remoto.

SetupDiSetSelectedDevice

Define o elemento de informações do dispositivo especificado para ser o membro selecionado no momento de um conjunto de informações do dispositivo. Essa função normalmente é usada por um assistente de instalação.

SetupDiGetSelectedDevice

Recupera o dispositivo selecionado no momento para o conjunto de informações do dispositivo especificado.

SetupDiRegisterDeviceInfo

Registra uma instância de dispositivo recém-criada com o gerenciador de Plug and Play.

SetupDiDeleteDeviceInfo

Exclui um membro do conjunto de informações do dispositivo especificado. Essa função não exclui o dispositivo físico.

SetupDiDestroyDeviceInfoList

Destrói um conjunto de informações do dispositivo e libera toda a memória associada.

Funções de informações do driver

SetupDiBuildDriverInfoList

Cria uma lista de drivers associados a uma instância de dispositivo especificada ou à lista de driver de classe global do conjunto de informações do dispositivo.

SetupDiEnumDriverInfo

Enumera os membros de uma lista de informações do driver.

SetupDiGetDriverInfoDetail

Recupera informações detalhadas de um elemento de informações de driver especificado.

SetupDiSetSelectedDriver

Define o membro especificado de uma lista de driver como o driver selecionado no momento. Ele também pode ser usado para redefinir a lista de driver para que não haja nenhum driver selecionado no momento.

SetupDiGetSelectedDriver

Recupera o membro de uma lista de driver que foi selecionado como o driver a ser instalado.

SetupDiCancelDriverInfoSearch

Cancela uma pesquisa de lista de driver que está em andamento em um thread diferente.

SetupDiDestroyDriverInfoList

Destrói uma lista de informações sobre o controlador.

Manipuladores de instalação de dispositivo

SetupDiCallClassInstaller

Chama o instalador de classe apropriado e todos os co-instaladores registrados, com a solicitação de instalação especificada.

SetupDiChangeState

O manipulador padrão da solicitação DIF_PROPERTYCHANGE. Ele pode ser usado para alterar o estado de um dispositivo instalado.

SetupDiRegisterCoDeviceInstallers

Registra os co-instaladores específicos do dispositivo listados no arquivo INF para o dispositivo especificado. Essa função é o manipulador padrão para DIF_REGISTER_COINSTALLERS.

SetupDiInstallDevice

O manipulador padrão da solicitação DIF_INSTALLDEVICE.

SetupDiInstallDriverFiles

O manipulador padrão da solicitação de DIF_INSTALLDEVICEFILES.

SetupDiInstallDeviceInterfaces

O manipulador padrão da solicitação de DIF_INSTALLINTERFACES. Ele instala as interfaces listadas em uma seção DDInstall.Interfaces de um arquivo INF do dispositivo.

SetupDiMoveDuplicateDevice

Essa função é obsoleta e não pode ser usada em nenhuma versão do Microsoft Windows.

SetupDiRemoveDevice

O manipulador padrão da solicitação de DIF_REMOVEDEVICE.

SetupDiUnremoveDevice

O manipulador padrão da solicitação de DIF_UNREMOVE.

SetupDiRegisterDeviceInfo

O manipulador padrão da solicitação de DIF_REGISTERDEVICE.

SetupDiSelectDevice

O manipulador padrão da solicitação de DIF_SELECTDEVICE.

SetupDiSelectBestCompatDrv

O manipulador padrão da solicitação de DIF_SELECTBESTCOMPATDRV.

SetupDiSelectDevice

Manipulador padrão para a solicitação de DIF_SELECTDEVICE.

Funções de personalização de instalação do dispositivo

SetupDiGetClassInstallParams

Recupera parâmetros de instalação de classe para um conjunto de informações do dispositivo ou um elemento de informações de dispositivo específico.

SetupDiSetClassInstallParams

Define ou limpa parâmetros de instalação de classe para um conjunto de informações do dispositivo ou um elemento de informações de dispositivo específico.

SetupDiGetDeviceInstallParams

Recupera parâmetros de instalação do dispositivo para um conjunto de informações do dispositivo ou um elemento de informações de dispositivo específico.

SetupDiSetDeviceInstallParams

Define parâmetros de instalação do dispositivo para um conjunto de informações do dispositivo ou um elemento de informações de dispositivo específico.

SetupDiGetDriverInstallParams

Recupera os parâmetros de instalação para o driver especificado.

SetupDiSetDriverInstallParams

Define os parâmetros de instalação para o driver especificado.

Funções da classe Setup

SetupDiBuildClassInfoList

Retorna uma lista de GUIDs de classe de instalação que inclui todas as classes instaladas no sistema.

SetupDiBuildClassInfoListEx

Retorna uma lista de GUIDs de classes de instalação que inclui todas as classes instaladas no sistema local ou em um sistema remoto.

SetupDiGetClassDescription

Recupera a descrição da classe de instalação associada ao GUID especificado.

SetupDiGetClassDescriptionEx

Recupera a descrição de uma classe de configuração instalada em um computador local ou remoto.

SetupDiGetINFClass

Recupera a classe de um arquivo INF do dispositivo especificado.

SetupDiClassGuidsFromName

Recupera os GUIDs associados ao nome da classe especificado. Esta lista é criada com base em quais classes estão instaladas no sistema no momento.

SetupDiClassGuidsFromNameEx

Recupera os GUIDs associados ao nome da classe especificado. Esta lista resultante contém as classes instaladas atualmente em um computador local ou remoto.

SetupDiClassNameFromGuid

Recupera o nome da classe associado ao GUID de classe.

SetupDiClassNameFromGuidEx

Recupera o nome da classe associado a um GUID de classe. A classe pode ser instalada em um computador local ou remoto.

SetupDiInstallClass

Instala a seção ClassInstall32 do arquivo INF especificado.

SetupDiInstallClassEx

Instala um instalador de classe ou uma classe de interfaces.

SetupDiOpenClassRegKey

Abre a chave do Registro da classe de instalação do dispositivo ou uma subchave específica da classe.

SetupDiOpenClassRegKeyEx

Abre a chave do Registro da classe de instalação do dispositivo, a chave do Registro da classe de interface do dispositivo ou uma subchave específica da classe. Essa função abre a chave especificada no computador local ou em um computador remoto.

Funções de Bitmap e Ícone

SetupDiGetClassImageList

Cria uma lista de imagens que contém bitmaps para cada classe instalada e retorna a lista em uma estrutura de dados.

SetupDiGetClassImageListEx

Cria uma lista de imagens de bitmaps para cada classe instalada em um computador local ou remoto.

SetupDiGetClassImageIndex

Recupera o índice dentro da lista de imagens da classe de uma classe especificada.

SetupDiGetClassBitmapIndex

Recupera o índice do mini-ícone fornecido para a classe especificada.

SetupDiDrawMiniIcon

Desenha o mini-ícone especificado no local solicitado.

SetupDiLoadClassIcon

Carrega o ícone grande e o mini-ícone para a classe especificada.

SetupDiLoadDeviceIcon

Carrega o ícone de um dispositivo especificado. (Windows Vista e versões posteriores do Windows)

SetupDiDestroyClassImageList

Destrói uma class image list.

Funções de interface do dispositivo

Observação

SetupApi não tem suporte em todas as edições do Windows. Quando possível, você deve usar APIs de camada inferior, como as disponíveis por meio de CfgMgr32.dll. Confira a migração de SetupApi para CfgMgr32 para obter dicas.

SetupDiCreateDeviceInterface

Registra a funcionalidade do dispositivo (uma interface do dispositivo) para um dispositivo.

SetupDiOpenDeviceInterface

Recupera informações sobre uma interface de dispositivo existente e a adiciona ao conjunto de informações do dispositivo especificado.

SetupDiGetDeviceInterfaceAlias

Retorna um alias da interface de dispositivo especificada.

SetupDiGetClassDevs

Retorna um conjunto de informações do dispositivo que contém todos os dispositivos de uma classe especificada.

SetupDiGetClassDevsEx

Retorna um conjunto de informações do dispositivo que contém todos os dispositivos de uma classe especificada em um computador local ou remoto.

SetupDiEnumDeviceInterfaces

Retorna uma estrutura de contexto para um elemento de interface do dispositivo de um conjunto de informações do dispositivo. Cada chamada retorna informações sobre uma interface de dispositivo.

A função pode ser chamada repetidamente para obter informações sobre várias interfaces expostas por um ou mais dispositivos.

SetupDiGetDeviceInterfaceDetail

Retorna detalhes sobre uma interface de dispositivo específica.

SetupDiCreateDeviceInterfaceRegKey

Cria uma subchave do Registro para armazenar informações sobre uma instância de interface do dispositivo e retorna um identificador para a chave.

SetupDiOpenDeviceInterfaceRegKey

Abre a subchave do Registro que é usada por aplicativos e drivers para armazenar informações específicas de uma instância de interface do dispositivo e retorna um identificador para a chave.

SetupDiDeleteDeviceInterfaceRegKey

Exclui a subchave do Registro que foi usada por aplicativos e drivers para armazenar informações específicas de uma instância de interface do dispositivo.

SetupDiInstallDeviceInterfaces

É o manipulador padrão da solicitação DIF_INSTALLINTERFACES. Ele instala as interfaces listadas em uma seção DDInstall.Interfaces de um arquivo INF do dispositivo.

SetupDiRemoveDeviceInterface

Remove uma interface de dispositivo registrada do sistema.

SetupDiDeleteDeviceInterfaceData

Exclui uma interface do dispositivo de um conjunto de informações do dispositivo.

SetupDiSetDeviceInterfaceDefault

Define a interface de dispositivo especificada como a interface padrão de uma classe de dispositivo.

SetupDiInstallClassEx

Instala um instalador de classe ou uma classe de interfaces.

SetupDiOpenClassRegKeyEx

Abre a chave do Registro da classe de instalação do dispositivo , a chave do Registro da classe de interface do dispositivo ou uma subchave específica da classe. Essa função abre a chave especificada no computador local ou em um computador remoto.

Funções de propriedade do dispositivo (Windows Vista e posterior)

Observação

SetupApi não tem suporte em todas as edições do Windows. Quando possível, você deve usar APIs de camada inferior, como as disponíveis por meio de CfgMgr32.dll. Confira a migração de SetupApi para CfgMgr32 para obter dicas.

SetupDiGetClassProperty

Recupera uma propriedade de dispositivo definida para uma classe de configuração de dispositivo ou uma classe de interface do dispositivo.

SetupDiGetClassPropertyEx

Recupera uma propriedade de classe para uma classe de configuração de dispositivo ou uma classe de interface de dispositivo em um computador local ou remoto.

SetupDiGetClassPropertyKeys

Recupera um array das chaves de propriedade do dispositivo que representam as propriedades do dispositivo definidas para uma classe de configuração de dispositivo ou uma classe de interface do dispositivo.

SetupDiGetClassPropertyKeysEx

Recupera um array de chaves de propriedade do dispositivo que representam as propriedades do dispositivo definidas para uma classe de configuração de dispositivo ou uma classe de interface do dispositivo em um computador local ou remoto.

SetupDiGetDeviceInterfaceProperty

Recupera uma propriedade de dispositivo definida para uma interface do dispositivo.

SetupDiGetDeviceInterfacePropertyKeys

Recupera um array de chaves de propriedade do dispositivo que representam as propriedades do dispositivo definidas para uma interface do dispositivo.

SetupDiGetDeviceProperty

Recupera uma propriedade de instância do dispositivo.

SetupDiGetDevicePropertyKeys

Recupera um array das chaves de propriedade do dispositivo que representam as propriedades do dispositivo definidas para uma instância de dispositivo.

SetupDiSetClassProperty

Define uma propriedade de classe para uma classe de instalação de dispositivo ou uma classe de interface do dispositivo.

SetupDiSetClassPropertyEx

Define uma propriedade de dispositivo para uma classe de configuração de dispositivo ou uma classe de interface de dispositivo em um computador local ou remoto.

SetupDiSetDeviceInterfaceProperty

Define uma propriedade de dispositivo de uma interface de dispositivo.

SetupDiSetDeviceProperty

Define uma propriedade de instância do dispositivo.

Funções de Registro

Observação

SetupApi não tem suporte em todas as edições do Windows. Quando possível, você deve usar APIs de camada inferior, como as disponíveis por meio de CfgMgr32.dll. Confira a migração de SetupApi para CfgMgr32 para obter dicas.

SetupDiCreateDevRegKey

Cria uma chave de armazenamento do Registro para informações de configuração específicas do dispositivo e retorna um identificador para a chave.

SetupDiOpenDevRegKey

Abre uma chave de armazenamento do Registro para informações de configuração específicas do dispositivo e retorna um identificador para a chave.

SetupDiDeleteDevRegKey

Exclui as chaves do Registro acessível pelo usuário especificadas associadas a um elemento de informações do dispositivo.

SetupDiOpenClassRegKey

Abre a chave do Registro da classe de instalação ou uma subchave específica da classe.

SetupDiOpenClassRegKeyEx

Abre a chave do Registro da classe de instalação do dispositivo, a chave do Registro da classe de interface do dispositivo ou uma subchave específica da classe.

Essa função abre a chave especificada no computador local ou em um computador remoto.

SetupDiCreateDeviceInterfaceRegKey

Cria uma subchave do Registro não volátil para armazenar informações sobre uma instância de interface do dispositivo e retorna um identificador para a chave.

SetupDiOpenDeviceInterfaceRegKey

Abre a subchave do Registro que é usada por aplicativos e drivers para armazenar informações específicas de uma instância de interface do dispositivo e retorna um identificador para a chave.

SetupDiDeleteDeviceInterfaceRegKey

Exclui a subchave do Registro que foi usada por aplicativos e drivers para armazenar informações específicas de uma instância de interface do dispositivo.

SetupDiSetDeviceRegistryProperty

Define a propriedade especificada do dispositivo Plug and Play.

SetupDiGetDeviceRegistryProperty

Recupera a propriedade de dispositivo Plug and Play especificada.

SetupDiGetClassRegistryProperty

Recupera uma propriedade de classe de dispositivo especificada do registro.

SetupDiSetClassRegistryProperty

Define uma propriedade especificada da classe de dispositivo no registro.

Outras funções

SetupDiGetActualModelsSection

Recupera a seção de modelos INF decorada apropriada a ser usada ao instalar um dispositivo de um arquivo INF do dispositivo.

SetupDiGetActualSectionToInstall

Recupera a seção DDInstall apropriada a ser usada ao instalar um dispositivo de um arquivo INF do dispositivo.

SetupDiGetActualSectionToInstallEx

Recupera o nome da seção INF DDInstall que instala um dispositivo para um sistema operacional e uma arquitetura de processador especificados.

SetupDiGetHwProfileFriendlyName

Recupera o nome amigável associado a uma ID de perfil de hardware.

SetupDiGetHwProfileFriendlyNameEx

Recupera o nome amigável associado a uma ID de perfil de hardware em um computador local ou remoto.

SetupDiGetHwProfileList

Recupera uma lista de todas as IDs de perfil de hardware definidas no momento.

SetupDiGetHwProfileListEx

Recupera uma lista de todas as IDs de perfil de hardware definidas no momento em um computador local ou remoto.

SetupDiRestartDevices

Reinicia um dispositivo especificado ou, se necessário, inicia todos os dispositivos que são operados pela mesma função e pelos mesmos drivers de filtro que o dispositivo especificado.