Função SetupDiOpenDeviceInfoA (setupapi.h)
A função SetupDiOpenDeviceInfo adiciona um elemento de informações de dispositivo para uma instância de dispositivo a um conjunto de informações do dispositivo, se ainda não existir no conjunto de informações do dispositivo e recupera informações que identificam o elemento de informações do dispositivo para a instância do dispositivo no conjunto de informações do dispositivo.
Sintaxe
WINSETUPAPI BOOL SetupDiOpenDeviceInfoA(
[in] HDEVINFO DeviceInfoSet,
[in] PCSTR DeviceInstanceId,
[in, optional] HWND hwndParent,
[in] DWORD OpenFlags,
[out, optional] PSP_DEVINFO_DATA DeviceInfoData
);
Parâmetros
[in] DeviceInfoSet
Um identificador para o conjunto de informações do dispositivo ao qual SetupDiOpenDeviceInfo adiciona um elemento de informações do dispositivo, se ainda não existir, para a instância do dispositivo especificada por DeviceInstanceId.
[in] DeviceInstanceId
Um ponteiro para uma cadeia de caracteres terminada em NULL que fornece o identificador da instância do dispositivo de um dispositivo (por exemplo, "Root*PNP0500\0000"). Se DeviceInstanceId for NULL ou fizer referência a uma cadeia de caracteres de comprimento zero, SetupDiOpenDeviceInfo adicionará um elemento de informações do dispositivo ao conjunto de informações do dispositivo fornecido, se ainda não existir, para o dispositivo raiz na árvore do dispositivo.
[in, optional] hwndParent
O identificador para a janela de nível superior a ser usado para qualquer interface do usuário relacionada à instalação do dispositivo.
[in] OpenFlags
Uma variável do tipo DWORD que controla como o elemento de informações do dispositivo é aberto. O valor desse parâmetro pode ser um ou mais dos seguintes:
DIOD_CANCEL_REMOVE
Se esse sinalizador for especificado e o dispositivo tiver sido marcado para remoção pendente, o sistema operacional cancelará a remoção pendente.
DIOD_INHERIT_CLASSDRVS
Se esse sinalizador for especificado, o elemento de informações do dispositivo resultante herdará a lista de driver de classe, se houver, associada ao conjunto de informações do dispositivo. Além disso, se houver um driver selecionado para o conjunto de informações do dispositivo, esse mesmo driver será selecionado para o novo elemento de informações do dispositivo.
Se o elemento de informações do dispositivo já estiver presente, sua lista de driver de classe, se houver, será substituída pela lista herdada.
[out, optional] DeviceInfoData
Um ponteiro para uma estrutura de SP_DEVINFO_DATA fornecida pelo chamador que recebe informações sobre o elemento de informações do dispositivo para a instância do dispositivo especificada por DeviceInstanceId. O chamador deve definir cbSize como sizeof(SP_DEVINFO_DATA). Esse parâmetro é opcional e pode ser NULL.
Valor de retorno
SetupDiOpenDeviceInfo retornará verdadeiro se for bem-sucedido. Caso contrário, a função retorna FALSE e o erro registrado pode ser recuperado com uma chamada para GetLastError.
Observações
Se essa instância do dispositivo estiver sendo adicionada a um conjunto que tenha uma classe associada, a classe de dispositivo deverá ser a mesma ou a chamada falhará. Nesse caso, uma chamada para GetLastError retorna ERROR_CLASS_MISMATCH.
Se o novo elemento de informações do dispositivo for aberto com êxito, mas o buffer DeviceInfoData fornecido pelo chamador for inválido, essa função retornará false. Nesse caso, uma chamada para GetLastError retorna ERROR_INVALID_USER_BUFFER. No entanto, o elemento de informações do dispositivo é adicionado como um novo membro do conjunto de qualquer maneira.
Nota
O cabeçalho setupapi.h define SetupDiOpenDeviceInfo como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Microsoft Windows 2000 e versões posteriores do Windows. |
da Plataforma de Destino |
Área de trabalho |
cabeçalho | setupapi.h (inclua Setupapi.h) |
biblioteca | Setupapi.lib |
Consulte também
setupDiDeleteDeviceInfo