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 drivers 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 drivers 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 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 à lista de drivers de classe global para um conjunto de informações do dispositivo, primeiro use SetupDiBuildDriverInfoList e 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

   
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