Funzione SetupDiSetDeviceRegistryPropertyA (setupapi.h)

La funzione SetupDiSetDeviceRegistryProperty imposta una proprietà del dispositivo Plug and Play per un dispositivo.

Sintassi

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

Parametri

[in] DeviceInfoSet

Handle per il set di informazioni sul dispositivo contenente un elemento informativo del dispositivo che rappresenta il dispositivo per cui impostare una proprietà del dispositivo Plug and Play.

[in, out] DeviceInfoData

Puntatore a una struttura SP_DEVINFO_DATA che specifica l'elemento informazioni sul dispositivo in DeviceInfoSet. Se la proprietà ClassGuid è impostata , DeviceInfoData.ClassGuid viene impostato al ritorno alla nuova classe per il dispositivo.

[in] Property

Uno dei valori seguenti, che identifica la proprietà da impostare. Per le descrizioni di questi valori, vedere 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 o SPDRP_COMPATIBLEIDS possono essere usati solo quando DeviceInfoData rappresenta un dispositivo enumerato radice. Per altri dispositivi, il driver del bus segnala id hardware e compatibili durante l'enumerazione di un dispositivo figlio dopo aver ricevuto IRP_MN_QUERY_ID.

I valori seguenti sono riservati per l'uso dal sistema operativo e non possono essere usati nel parametro 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

Puntatore a un buffer contenente i nuovi dati per la proprietà. Se la proprietà viene cancellata, questo puntatore deve essere NULL e PropertyBufferSize deve essere zero.

[in] PropertyBufferSize

Dimensioni, in byte, di PropertyBuffer. Se PropertyBuffer è NULL, questo campo deve essere zero.

Valore restituito

La funzione restituisce TRUE se ha esito positivo. In caso contrario, restituisce FALSE e l'errore registrato può essere recuperato con una chiamata a GetLastError.

Commenti

Il chiamante di questa funzione deve essere membro del gruppo Administrators.

Impossibile impostare la proprietà del nome della classe perché è basata sul GUID della classe corrispondente e viene aggiornata automaticamente quando tale proprietà viene modificata. Quando la proprietà ClassGUID cambia, SetupDiSetDeviceRegistryProperty pulisce automaticamente le chiavi software associate al dispositivo.

Nota

L'intestazione setupapi.h definisce SetupDiSetDeviceRegistryProperty come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Microsoft Windows 2000 e versioni successive di Windows.
Piattaforma di destinazione Desktop
Intestazione setupapi.h (includere Setupapi.h)
Libreria Setupapi.lib

Vedi anche

SetupDiGetClassRegistryProperty

SetupDiGetDeviceRegistryProperty

SetupDiSetClassRegistryProperty