Função SetupDiEnumDriverInfoA (setupapi.h)
A função SetupDiEnumDriverInfo enumera os membros de uma lista de driver.
Sintaxe
WINSETUPAPI BOOL SetupDiEnumDriverInfoA(
[in] HDEVINFO DeviceInfoSet,
[in, optional] PSP_DEVINFO_DATA DeviceInfoData,
[in] DWORD DriverType,
[in] DWORD MemberIndex,
[out] PSP_DRVINFO_DATA_A DriverInfoData
);
Parâmetros
[in] DeviceInfoSet
Um identificador para o conjunto de informações do dispositivo que contém a lista de driver a ser enumerada.
[in, optional] DeviceInfoData
Um ponteiro para uma estrutura de SP_DEVINFO_DATA que especifica um elemento de informações do dispositivo em deviceInfoSet. Esse parâmetro é opcional e pode ser NULL. Se esse parâmetro for especificado, SetupDiEnumDriverInfo enumera uma lista de driver para o dispositivo especificado. Se esse parâmetro for NULL, SetupDiEnumDriverInfo enumera a lista de driver de classe global associada a deviceInfoSet (essa lista é do tipo SPDIT_CLASSDRIVER).
[in] DriverType
O tipo de lista de driver a ser enumerado, que deve ser um dos seguintes valores:
SPDIT_CLASSDRIVER
Enumerar uma lista de driver de classe. Esse tipo de lista de driver deve ser especificado se deviceInfoData não for especificado.
SPDIT_COMPATDRIVER
Enumera uma lista de drivers compatíveis para o dispositivo especificado. Esse tipo de lista de driver só poderá ser especificado se deviceInfoData também for especificado.
[in] MemberIndex
O índice baseado em zero do membro de informações do driver a ser recuperado.
[out] DriverInfoData
Um ponteiro para uma estrutura de SP_DRVINFO_DATA inicializada pelo chamador que recebe informações sobre o driver enumerado. O chamador deve definir DriverInfoData. cbSize para sizeof(SP_DRVINFO_DATA) antes de chamar SetupDiEnumDriverInfo. Se o membro cbSize não estiver definido corretamente, SetupDiEnumDriverInfo retornará FALSE.
Valor de retorno
A função retornará TRUE se for bem-sucedida. Caso contrário, ele retorna FALSE e o erro registrado pode ser recuperado com uma chamada para GetLastError.
Observações
Para enumerar membros do conjunto de informações do driver, um instalador deve primeiro chamar SetupDiEnumDriverInfo com o parâmetro MemberIndex definido como 0. Em seguida, ele deve incrementar MemberIndex e chamar SetupDiEnumDriverInfo até que não haja mais valores. Quando não há mais valores, a função falha e uma chamada para GetLastError retorna ERROR_NO_MORE_ITEMS.
Se você não inicializar corretamente o cbSize membro da estrutura de SP_DRVINFO_DATA fornecida pelo ponteiro DriverInfoData, a função falhará e registrará o erro ERROR_INVALID_USER_BUFFER.
Para criar uma lista de drivers associados a um dispositivo específico ou à lista de driver de classe global para um conjunto de informações do dispositivo, primeiro use SetupDiBuildDriverInfoList passar essa lista para SetupDiEnumDriverInfo.
Nota
O cabeçalho setupapi.h define SetupDiEnumDriverInfo 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 |