Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Você não deve enumerar dispositivos usando chaves do Registro diretamente. As chaves do Registro não contêm as informações necessárias para enumerar os dispositivos instalados no sistema. Essas informações, como se o dispositivo está realmente presente ou se é um dispositivo fantasma (que não está conectado), são mantidas pelo gerenciador Plug and Play (PnP). O gerenciador PnP também executa filtragem adicional de informações do registro.
Para enumerar os dispositivos instalados com segurança, siga estas etapas.
Usando as funções do gerenciador de configurações :
Use CM_Get_Device_ID_List para recuperar uma lista de cadeias de caracteres de identificador de instância de dispositivo (ID) exclusivo. Para recuperar informações apenas para dispositivos que estão presentes no sistema, defina CM_GETIDLIST_FILTER_PRESENT no parâmetro ulFlags .
Você pode usar o ID de instância de dispositivo exclusivo com CM_Locate_DevNode para recuperar um DEVINST que representa o dispositivo a ser usado com outras APIs do gerenciador de configurações.
Usando funções SetupAPI :
Use SetupDiGetClassDevs para recuperar informações de um conjunto de dispositivos. Para recuperar informações apenas para dispositivos que estão presentes no sistema, defina DIGCF_PRESENT no parâmetro Flags .
Use SetupDiEnumDeviceInfo para enumerar os dispositivos no conjunto.
Você pode usar o SP_DEVINFO_DATA retornado por SetupDiEnumDeviceInfo com outras APIs SetupApi ou usar SetupDiGetDeviceInstanceId para recuperar um identificador de instância de dispositivo exclusivo (ID) para o dispositivo.