Função SetupDiSetDeviceRegistryPropertyA (setupapi.h)

A função SetupDiSetDeviceRegistryProperty define uma propriedade de dispositivo Plug and Play para um dispositivo.

Sintaxe

WINSETUPAPI BOOL SetupDiSetDeviceRegistryPropertyA(
  [in]           HDEVINFO         DeviceInfoSet,
  [in, out]      PSP_DEVINFO_DATA DeviceInfoData,
  [in]           DWORD            Property,
  [in, optional] const BYTE       *PropertyBuffer,
  [in]           DWORD            PropertyBufferSize
);

Parâmetros

[in] DeviceInfoSet

Um identificador para o conjunto de informações do dispositivo que contém um elemento de informações do dispositivo que representa o dispositivo para o qual definir um Plug and Play propriedade do dispositivo.

[in, out] DeviceInfoData

Um ponteiro para uma estrutura SP_DEVINFO_DATA que especifica o elemento de informações do dispositivo em DeviceInfoSet. Se a propriedade ClassGuid estiver definida, DeviceInfoData.ClassGuid é definido no retorno à nova classe para o dispositivo.

[in] Property

Um dos valores a seguir, que identifica a propriedade a ser definida. Para obter descrições desses valores, consulte SetupDiGetDeviceRegistryProperty.

  • SPDRP_CONFIGFLAGS
  • SPDRP_EXCLUSIVE
  • SPDRP_FRIENDLYNAME
  • SPDRP_LOCATION_INFORMATION
  • SPDRP_LOWERFILTERS
  • SPDRP_REMOVAL_POLICY_OVERRIDE
  • SPDRP_SECURITY
  • SPDRP_SECURITY_SDS
  • SPDRP_UI_NUMBER_DESC_FORMAT
  • SPDRP_UPPERFILTERS

Observação

SPDRP_HARDWAREID ou SPDRP_COMPATIBLEIDS só podem ser usados quando DeviceInfoData representa um dispositivo enumerado raiz. Para outros dispositivos, o motorista do barramento relata hardware e IDs compatíveis ao enumerar um dispositivo filho após receber IRP_MN_QUERY_ID.

Os seguintes valores são reservados para uso pelo sistema operacional e não podem ser usados no parâmetro Property :

  • SPDRP_ADDRESS
  • SPDRP_BUSNUMBER
  • SPDRP_BUSTYPEGUID
  • SPDRP_CHARACTERISTICS
  • SPDRP_CAPABILITIES
  • SPDRP_CLASS
  • SPDRP_CLASSGUID
  • SPDRP_DEVICE_POWER_DATA
  • SPDRP_DEVICEDESC
  • SPDRP_DEVTYPE
  • SPDRP_DRIVER
  • SPDRP_ENUMERATOR_NAME
  • SPDRP_INSTALL_STATE
  • SPDRP_LEGACYBUSTYPE
  • SPDRP_LOCATION_PATHS
  • SPDRP_MFG
  • SPDRP_PHYSICAL_DEVICE_OBJECT_NAME
  • SPDRP_REMOVAL_POLICY
  • SPDRP_REMOVAL_POLICY_HW_DEFAULT
  • SPDRP_SERVICE
  • SPDRP_UI_NUMBER

[in, optional] PropertyBuffer

Um ponteiro para um buffer que contém os novos dados da propriedade . Se a propriedade estiver sendo desmarcada, esse ponteiro deverá ser NULL e PropertyBufferSize deverá ser zero.

[in] PropertyBufferSize

O tamanho, em bytes, de PropertyBuffer. Se PropertyBuffer for NULL, esse campo deverá ser 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 com uma chamada para GetLastError.

Comentários

O chamador dessa função deve ser um membro do grupo Administradores.

A propriedade de nome de classe não pode ser definida porque se baseia no GUID de classe correspondente e é atualizada automaticamente quando essa propriedade é alterada. Quando a propriedade ClassGUID é alterada, SetupDiSetDeviceRegistryProperty limpa automaticamente todas as chaves de software associadas ao dispositivo.

Observação

O cabeçalho setupapi.h define SetupDiSetDeviceRegistryProperty 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

SetupDiGetClassRegistryProperty

SetupDiGetDeviceRegistryProperty

SetupDiSetClassRegistryProperty