Função SetupDiEnumDriverInfoW (setupapi.h)
A função SetupDiEnumDriverInfo enumera os membros de uma lista de driver.
Sintaxe
WINSETUPAPI BOOL SetupDiEnumDriverInfoW(
[in] HDEVINFO DeviceInfoSet,
[in, optional] PSP_DEVINFO_DATA DeviceInfoData,
[in] DWORD DriverType,
[in] DWORD MemberIndex,
[out] PSP_DRVINFO_DATA_W 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 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 drivers 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 drivers de classe. Esse tipo de lista de driver deve ser especificado se DeviceInfoData não for especificado.
SPDIT_COMPATDRIVER
Enumerar 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.
Retornar valor
A função retornará TRUE se for bem-sucedida. Caso contrário, ele retornará FALSE e o erro registrado poderá ser recuperado com uma chamada para GetLastError.
Comentários
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 membro cbSize da estrutura 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 com a lista de driver de classe global para um conjunto de informações de dispositivo, primeiro use SetupDiBuildDriverInfoList e, em seguida, passe essa lista para SetupDiEnumDriverInfo.
Observação
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 de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Microsoft Windows 2000 e versões posteriores do Windows. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | setupapi.h (inclua Setupapi.h) |
Biblioteca | Setupapi.lib |