Compartilhar via


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 uma propriedade de dispositivo Plug and Play.

[in, out] DeviceInfoData

Um ponteiro para uma estrutura de 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

Nota

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 propriedade :

  • 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.

Valor de retorno

A função retornará TRUE se for bem-sucedida. Caso contrário, ele retorna FALSE e o erro registrado pode ser recuperado com uma chamada para GetLastError.

Observações

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.

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível no Microsoft Windows 2000 e versões posteriores do Windows.
da Plataforma de Destino Área de trabalho
cabeçalho setupapi.h (inclua Setupapi.h)
biblioteca Setupapi.lib

Consulte também

SetupDiGetClassRegistryProperty

SetupDiGetDeviceRegistryProperty

SetupDiSetClassRegistryProperty