Usando funções de instalação do 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

  • Manipule códigos DIF.

  • Gerenciar conjuntos de informações do dispositivo.

  • Gerenciar listas de driver.

  • Gerenciar interfaces de 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ções do dispositivo

Funções de informações do driver

Manipuladores de instalação do dispositivo

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

Funções de classe de instalação

Funções bitmap e icon

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 que é pré-instalado no repositório de driver 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 da Loja de Driver. (Windows 10 versão 1703 e versões posteriores do Windows)

UpdateDriverForPlugAndPlayDevices

Atualizações 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ções do dispositivo

Observação

Não há suporte para SetupApi em todas as edições do Windows. Quando possível, você deve usar APIs de camada inferior, como aquelas disponíveis por meio deCfgMgr32.dll. Confira Portabilidade 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 o adiciona 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 do dispositivo se ele tiver uma classe associada.

SetupDiGetDeviceInfoListDetail

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

SetupDiGetClassDevPropertySheets

Recupera identificadores para as folhas de propriedades de um elemento de informações de dispositivo especificado ou da classe de configuração do dispositivo de um conjunto de informações de 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 como o membro selecionado no momento de um conjunto de informações do dispositivo. Normalmente, essa função é 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 real.

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 drivers 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 selecionada como o driver a ser instalado.

SetupDiCancelDriverInfoSearch

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

SetupDiDestroyDriverInfoList

Destrói uma lista de informações do driver.

Manipuladores de instalação do 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 para a solicitação de 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 para a solicitação de DIF_INSTALLDEVICE.

SetupDiInstallDriverFiles

O manipulador padrão para a solicitação de DIF_INSTALLDEVICEFILES.

SetupDiInstallDeviceInterfaces

O manipulador padrão para a solicitação de DIF_INSTALLINTERFACES. Ele instala as interfaces listadas em uma DDInstall. Seção 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 para a solicitação de DIF_REMOVEDEVICE.

SetupDiUnremoveDevice

O manipulador padrão para a solicitação de DIF_UNREMOVE.

SetupDiRegisterDeviceInfo

O manipulador padrão para a solicitação de DIF_REGISTERDEVICE.

SetupDiSelectDevice

O manipulador padrão para a solicitação de DIF_SELECTDEVICE.

SetupDiSelectBestCompatDrv

O manipulador padrão para a 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 de 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 de dispositivo para um conjunto de informações do dispositivo ou um elemento de informações de dispositivo específico.

SetupDiGetDriverInstallParams

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

SetupDiSetDriverInstallParams

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

Funções de classe de instalação

SetupDiBuildClassInfoList

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

SetupDiBuildClassInfoListEx

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

SetupDiGetClassDescription

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

SetupDiGetClassDescriptionEx

Recupera a descrição de uma classe de instalaçã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 de classe especificado. Essa lista é criada com base em quais classes estão instaladas atualmente no sistema.

SetupDiClassGuidsFromNameEx

Recupera os GUIDs associados ao nome de 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 da 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 interface.

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 bitmap e icon

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 na lista de imagens de classe de uma classe especificada.

SetupDiGetClassBitmapIndex

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

SetupDiDrawMiniIcon

Desenha o minicon ícone especificado no local solicitado.

SetupDiLoadClassIcon

Carrega o ícone grande e o miniconse para a classe especificada.

SetupDiLoadDeviceIcon

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

SetupDiDestroyClassImageList

Destrói uma lista de imagens de classe.

Funções de interface do dispositivo

Observação

Não há suporte para SetupApi em todas as edições do Windows. Quando possível, você deve usar APIs de camada inferior, como aquelas disponíveis por meio deCfgMgr32.dll. Confira Portabilidade 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 do 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 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 para a solicitação de DIF_INSTALLINTERFACES. Ele instala as interfaces listadas em uma DDInstall. Seção 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 uma interface de dispositivo especificada como a interface padrão para uma classe de dispositivo.

SetupDiInstallClassEx

Instala um instalador de classe ou uma classe de interface.

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

Não há suporte para SetupApi em todas as edições do Windows. Quando possível, você deve usar APIs de camada inferior, como aquelas disponíveis por meio deCfgMgr32.dll. Confira Portabilidade 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 do dispositivo em um computador local ou remoto.

SetupDiGetClassPropertyKeys

Recupera uma matriz 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 uma matriz 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 em um computador local ou remoto.

SetupDiGetDeviceInterfaceProperty

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

SetupDiGetDeviceInterfacePropertyKeys

Recupera uma matriz 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 uma matriz 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 configuraçã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 do dispositivo em um computador local ou remoto.

SetupDiSetDeviceInterfaceProperty

Define uma propriedade de dispositivo de uma interface do dispositivo.

SetupDiSetDeviceProperty

Define uma propriedade de instância do dispositivo.

Funções do Registro

Observação

Não há suporte para SetupApi em todas as edições do Windows. Quando possível, você deve usar APIs de camada inferior, como aquelas disponíveis por meio deCfgMgr32.dll. Confira Portabilidade 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ãovolatile 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 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 Plug and Play dispositivo.

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 de classe de dispositivo especificada no registro.

Outras funções

SetupDiGetActualModelsSection

Recupera a seção modelos INF decorados apropriados a serem usados 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 uma arquitetura de processador e sistema operacional especificada.

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 filtram drivers que o dispositivo especificado.