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

Confira também

SetupDiBuildDriverInfoList