Função SetupDiGetClassPropertyKeys (setupapi.h)
A função SetupDiGetClassPropertyKeys recupera uma matriz das chaves de propriedade do dispositivo que representam as propriedades do dispositivo definidas para uma classe de configuração de dispositivo ou uma classe de interface do dispositivo.
Sintaxe
WINSETUPAPI BOOL SetupDiGetClassPropertyKeys(
[in] const GUID *ClassGuid,
[out, optional] DEVPROPKEY *PropertyKeyArray,
[in] DWORD PropertyKeyCount,
[out, optional] PDWORD RequiredPropertyKeyCount,
[in] DWORD Flags
);
Parâmetros
[in] ClassGuid
Um ponteiro para um GUID que representa uma classe de configuração de dispositivo ou uma classe de interface do dispositivo. SetupDiGetClassPropertyKeys recupera uma matriz das chaves de propriedade do dispositivo que representam as propriedades do dispositivo definidas para a classe especificada. Para obter informações sobre como especificar o tipo de classe, consulte o parâmetro Flags .
[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 que representa uma propriedade de dispositivo definida para a classe de 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 valores do tipo DEVPROPKEY, do buffer PropertyKeyArray . Se PropertyKeyArray estiver definido como 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 solicitadas. O parâmetro é opcional e pode ser definido como NULL.
[in] Flags
Um dos seguintes valores, que especifica se as chaves de propriedade devem ser recuperadas para uma classe de configuração de dispositivo ou para uma classe de interface do dispositivo:
DICLASSPROP_INSTALLER
ClassGuid especifica uma classe de configuração de dispositivo. Esse sinalizador não pode ser usado com DICLASSPROP_INTERFACE.
DICLASSPROP_INTERFACE
ClassGuid especifica uma classe de interface do dispositivo. Esse sinalizador não pode ser usado com DICLASSPROP_INSTALLER.
Valor retornado
SetupDiGetClassPropertyKeys retornará TRUE se for bem-sucedido. 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 |
---|---|
|
O valor de Flags não é válido. |
|
Se o sinalizador DICLASSPROP_INSTALLER for especificado, esse código de erro indicará que a classe de instalação do dispositivo especificada por ClassGuid não existe. |
|
A cadeia de caracteres de referência para a interface do dispositivo especificada por ClassGuild não é válida. Esse erro poderá ser retornado se o sinalizador DICLASSPROP_INTERFACE for especificado. |
|
Um valor de dados não especificado não é válido. Uma possibilidade é que o valor ClassGuid não seja válido. |
|
Um parâmetro não especificado não é válido. |
|
Um buffer de usuário não é válido. Uma possibilidade é que PropertyKeyArray seja NULL e PropertKeyCount não seja zero. |
|
Se o sinalizador DICLASSPROP_INTERFACE for especificado, esse código de erro indicará que a classe de interface do dispositivo especificada por ClassGuid não existe. |
|
O buffer PropertyKeyArray não é grande o suficiente para manter todas as chaves de propriedade ou um buffer de dados interno que foi passado para uma chamada do sistema era muito pequeno. |
|
Não havia memória do sistema suficiente disponível para concluir a operação. |
|
O chamador não tem privilégios de Administrador. |
Comentários
SetupDiGetClassPropertyKeys faz parte do modelo de propriedade do dispositivo unificado.
Um chamador de SetupDiGetClassPropertyKeys deve ser membro do grupo Administradores para recuperar chaves de propriedade do dispositivo para uma classe de dispositivo.
Se o buffer PropertyKeyArray não for grande o suficiente para manter todas as chaves de propriedade solicitadas, SetupDiGetClassPropertyKeys não recuperará nenhuma chave de propriedade e retornará ERROR_INSUFFICIENT_BUFFER. Se o chamador forneceu um ponteiro RequiredPropertyKeyCount, SetupDiGetClassPropertyKeys define o valor de *RequiredPropertyKeyCount como o tamanho necessário, em valores do tipo DEVPROPKEY, do buffer PropertyKeyArray.
Para recuperar uma propriedade de classe de dispositivo em um computador local, chame SetupDiGetClassProperty. Para definir uma propriedade de classe de dispositivo em um computador local, chame SetupDiSetClassProperty.
Para recuperar as chaves de propriedade de uma classe de instalação de dispositivo ou classe de interface de dispositivo em um computador remoto, chame SetupDiGetClassPropertyKeysEx.
Requisitos
Cliente mínimo com suporte | Disponível no Windows Vista e versões posteriores do Windows. |
Plataforma de Destino | DesktopPara universal, chame CM_Get_Class_Property_Keys |
Cabeçalho | setupapi.h (inclua Setupapi.h) |
Biblioteca | Setupapi.lib |
DLL | Setupapi.dll |