Função SetupDiGetDeviceInterfacePropertyKeys (setupapi.h)

A função SetupDiGetDeviceInterfacePropertyKeys recupera uma matriz de chaves de propriedade do dispositivo que representam as propriedades do dispositivo definidas para uma interface do dispositivo.

Sintaxe

WINSETUPAPI BOOL SetupDiGetDeviceInterfacePropertyKeys(
  [in]            HDEVINFO                  DeviceInfoSet,
  [in]            PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
  [out, optional] DEVPROPKEY                *PropertyKeyArray,
  [in]            DWORD                     PropertyKeyCount,
  [out, optional] PDWORD                    RequiredPropertyKeyCount,
  [in]            DWORD                     Flags
);

Parâmetros

[in] DeviceInfoSet

Um identificador para um conjunto de informações do dispositivo. Esse conjunto de informações do dispositivo contém uma interface de dispositivo para a qual recuperar uma matriz das chaves de propriedade do dispositivo que representam as propriedades do dispositivo definidas para uma interface do dispositivo.

[in] DeviceInterfaceData

Um ponteiro para uma estrutura SP_DEVICE_INTERFACE_DATA que representa a interface do dispositivo para a qual recuperar a matriz solicitada de chaves de propriedade do dispositivo.

[out, optional] PropertyKeyArray

Um ponteiro para um buffer que recebe uma matriz de valores do tipo DEVPROPKEY, em que cada valor é uma chave de propriedade do dispositivo para uma propriedade de dispositivo definida para a interface do dispositivo. O ponteiro é opcional e pode ser NULL. Para obter mais informações, consulte a seção Comentários mais adiante neste tópico.

[in] PropertyKeyCount

O tamanho, em elementos do tipo DEVPROPKEY, do buffer PropertyKeyArray. Se PropertyKeyArray for NULL, PropertyKeyCount deverá ser definido como zero.

[out, optional] RequiredPropertyKeyCount

Um ponteiro para uma variável do tipo DWORD que recebe o número de chaves de propriedade do dispositivo solicitadas. O ponteiro é opcional e pode ser definido como NULL.

[in] Flags

Esse parâmetro deve ser definido como zero.

Retornar valor

A função retornará TRUE se for bem-sucedida. Caso contrário, ele retornará FALSE e o erro registrado poderá ser recuperado chamando GetLastError.

A tabela a seguir inclui alguns dos códigos de erro mais comuns que essa função pode registrar.

Código de retorno Descrição
ERROR_INVALID_FLAGS
O valor de Flags não é zero.
ERROR_INVALID_HANDLE
O conjunto de informações do dispositivo especificado por DevInfoSet não é válido.
ERROR_INVALID_DATA
Um valor de dados interno não é válido.
ERROR_INVALID_PARAMETER
Um parâmetro não é válido. Uma possibilidade é que a interface do dispositivo especificada por DevInterfaceData não seja válida.
ERROR_INVALID_USER_BUFFER
Um buffer de usuário não é válido. Uma possibilidade é que PropertyKeyArray seja NULL e PropertKeyCount não seja zero. .
ERROR_NO_SUCH_DEVICE_INTERFACE
A interface do dispositivo especificada por DeviceInterfaceData não existe.
ERROR_INSUFFICIENT_BUFFER
O buffer PropertyKeyArray não é grande o suficiente para manter todas as chaves de propriedade solicitadas.
ERROR_NOT_ENOUGH_MEMORY
Não havia memória suficiente do sistema disponível para concluir a operação.

Comentários

SetupDiGetDeviceInterfacePropertyKeys faz parte do modelo de propriedade do dispositivo unificado.

Se o buffer PropertyKeyArray não for grande o suficiente para manter todas as chaves de propriedade solicitadas, SetupDiGetDeviceInterfacePropertyKeys não recuperará nenhuma chave de propriedade e retornará ERROR_INSUFFICIENT_BUFFER. Se o chamador forneceu um ponteiro RequiredPropertyKeyCount, SetupDiGetDeviceInterfacePropertyKeys define o valor de *RequiredPropertyKeyCount como o tamanho necessário, em valores do tipo DEVPROPKEY, do buffer PropertyKeyArray.

Para recuperar uma propriedade de interface do dispositivo, chame SetupDiGetDeviceInterfaceProperty e, para definir uma propriedade de interface do dispositivo, chame SetupDiSetDeviceInterfaceProperty.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores do Windows.
Plataforma de Destino DesktopPara universal, chame CM_Get_Device_Interface_Property_Keys
Cabeçalho setupapi.h (inclua Setupapi.h)
Biblioteca Setupapi.lib
DLL Setupapi.dll

Confira também

SetupDiGetDeviceInterfaceProperty

SetupDiSetDeviceInterfaceProperty