Função SetupDiSetDevicePropertyW (setupapi.h)

A função SetupDiSetDeviceProperty define uma propriedade de instância do dispositivo.

Sintaxe

WINSETUPAPI BOOL SetupDiSetDevicePropertyW(
  [in]           HDEVINFO         DeviceInfoSet,
  [in]           PSP_DEVINFO_DATA DeviceInfoData,
  [in]           const DEVPROPKEY *PropertyKey,
  [in]           DEVPROPTYPE      PropertyType,
  [in, optional] const PBYTE      PropertyBuffer,
  [in]           DWORD            PropertyBufferSize,
  [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 um elemento de informações do dispositivo que representa a instância do dispositivo para a qual definir uma propriedade de instância de dispositivo.

[in] DeviceInfoData

Um ponteiro para a estrutura SP_DEVINFO_DATA que identifica a instância do dispositivo para a qual definir uma propriedade de instância de dispositivo.

[in] PropertyKey

Um ponteiro para uma estrutura DEVPROPKEY que representa a chave de propriedade do dispositivo da propriedade da instância do dispositivo a ser definida.

[in] PropertyType

Um valor do tipo DEVPROPTYPE que representa o identificador de tipo de dados de propriedade para a propriedade da instância do dispositivo. Para obter mais informações, consulte a seção Comentários mais adiante neste tópico.

[in, optional] PropertyBuffer

Um ponteiro para um buffer que contém o valor da propriedade da instância do dispositivo. Se a propriedade estiver sendo excluída ou definida como um valor NULL , esse ponteiro deverá ser NULL e PropertyBufferSize deverá ser definido como zero.

[in] PropertyBufferSize

O tamanho, em bytes, do buffer PropertyBuffer . Se PropertyBuffer for NULL, PropertyBufferSize deverá ser definido como zero.

[in] Flags

Esse parâmetro deve ser definido como zero.

Valor retornado

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_PARAMETER
Um parâmetro fornecido não é válido. Uma possibilidade é que o elemento de informações do dispositivo não seja válido.
ERROR_INVALID_REG_PROPERTY
A chave de propriedade fornecida por PropertyKey não é válida ou a propriedade não é gravável.
ERROR_INVALID_DATA
O identificador property-data-type fornecido por PropertyType ou o valor da propriedade fornecido pelo PropertyBuffer não é válido.
ERROR_INVALID_USER_BUFFER
Um buffer de usuário não é válido. Uma possibilidade é que PropertyBuffer seja NULL e PropertyBufferSize não seja zero.
ERROR_NO_SUCH_DEVINST
A instância do dispositivo especificada por DevInfoData não existe.
ERROR_INSUFFICIENT_BUFFER
Um buffer de dados interno que foi passado para uma chamada do sistema era muito pequeno.
ERROR_NOT_ENOUGH_MEMORY
Não havia memória suficiente do sistema disponível para concluir a operação.
ERROR_NOT_FOUND
Um elemento interno não especificado não foi encontrado. Uma possibilidade é que a propriedade a ser excluída não exista.
ERROR_ACCESS_DENIED
O chamador não tem privilégios de Administrador.

Comentários

SetupDiSetDeviceProperty faz parte do modelo de propriedade do dispositivo unificado.

SetupAPI dá suporte apenas a uma versão Unicode de SetupDiSetDeviceProperty.

Um chamador de SetupDiSetDeviceProperty deve ser membro do grupo Administradores para definir uma propriedade de instância de dispositivo.

SetupDiSetDeviceProperty impõe requisitos no identificador de tipo de dados de propriedade e no valor da propriedade.

Para obter as chaves de propriedade do dispositivo para as propriedades do dispositivo de instância definidas para um dispositivo, chame SetupDiGetDevicePropertyKeys.

Para recuperar uma propriedade de instância de dispositivo, chame SetupDiGetDeviceProperty.

Requisitos

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

Confira também

SetupDiGetDeviceProperty

SetupDiGetDevicePropertyKeys