Funzione SetupDiSetClassPropertyW (setupapi.h)

La funzione SetupDiSetClassProperty imposta una proprietà di classe per una classe di installazione del dispositivo o una classe dell'interfaccia del dispositivo.

Sintassi

WINSETUPAPI BOOL SetupDiSetClassPropertyW(
  [in]           const GUID       *ClassGuid,
  [in]           const DEVPROPKEY *PropertyKey,
  [in]           DEVPROPTYPE      PropertyType,
  [in, optional] const PBYTE      PropertyBuffer,
  [in]           DWORD            PropertyBufferSize,
  [in]           DWORD            Flags
);

Parametri

[in] ClassGuid

Puntatore a un GUID che identifica la classe di configurazione del dispositivo o la classe dell'interfaccia del dispositivo per cui impostare una proprietà del dispositivo. Per informazioni su come specificare il tipo di classe, vedere il parametro Flags .

[in] PropertyKey

Puntatore a una struttura DEVPROPKEY che rappresenta la chiave della proprietà della classe del dispositivo da impostare.

[in] PropertyType

Valore tipizzato DEVPROPTYPE che rappresenta l'identificatore property-data-type per la proprietà della classe del dispositivo. Per altre informazioni sull'identificatore property-data-type, vedere la sezione Osservazioni più avanti in questo argomento.

[in, optional] PropertyBuffer

Puntatore a un buffer contenente il valore della proprietà della classe device. Se la proprietà o i dati vengono eliminati, questo puntatore deve essere impostato su NULL e PropertyBufferSize deve essere impostato su zero. Per altre informazioni sui dati delle proprietà, vedere la sezione Osservazioni più avanti in questo argomento.

[in] PropertyBufferSize

Dimensione, in byte, del buffer PropertyBuffer . Se PropertyBuffer è impostato su NULL, PropertyBufferSize deve essere impostato su zero.

[in] Flags

Uno dei valori seguenti, che specifica se la classe è una classe di installazione del dispositivo o una classe dell'interfaccia del dispositivo:

DICLASSPROP_INSTALLER

ClassGuid specifica una classe di installazione del dispositivo. Questo flag non può essere usato con DICLASSPROP_INTERFACE.

DICLASSPROP_INTERFACE

ClassGuid specifica una classe di interfaccia del dispositivo. Questo flag non può essere usato con DICLASSPROP_INSTALLER.

Valore restituito

SetupDiSetClassProperty restituisce TRUE se ha esito positivo. In caso contrario, restituisce FALSE e l'errore registrato può essere recuperato chiamando GetLastError.

La tabella seguente include alcuni dei codici di errore più comuni che questa funzione potrebbe registrare.

Codice restituito Descrizione
ERROR_INVALID_FLAGS
Il valore di Flags non è valido.
ERROR_INVALID_CLASS
La classe di installazione del dispositivo specificata da ClassGuid non è valida. Questo errore può verificarsi solo se viene specificato il flag DICLASSPROP_INSTALLER.
ERROR_INVALID_REFERENCE_STRING
La stringa di riferimento dell'interfaccia del dispositivo non è valida. Questo errore può verificarsi solo se viene specificato il flag di DICLASSPROP_INTERFACE.
ERROR_INVALID_REG_PROPERTY
La chiave della proprietà fornita da PropertyKey non è valida.
ERROR_INVALID_DATA
Valore dati interno non specificato non valido. Questo errore può essere registrato se il valore ClassGuid non è un GUID valido o il valore della proprietà non è coerente con il tipo di proprietà specificato da PropertyType.
ERROR_INVALID_USER_BUFFER
Un buffer utente non è valido. Una possibilità è che PropertyBuffer è NULL e PropertyBufferSize non è zero.
ERROR_NO_SUCH_INTERFACE_CLASS
La classe dell'interfaccia del dispositivo specificata da ClassGuid non esiste. Questo errore può verificarsi solo se viene specificato il flag di DICLASSPROP_INTERFACE.
ERROR_INSUFFICIENT_BUFFER
Un buffer di dati interno passato a una chiamata di sistema era troppo piccolo.
ERROR_NOT_ENOUGH_MEMORY
Memoria di sistema insufficiente per completare l'operazione.
ERROR_NOT_FOUND
Non è stato trovato un elemento non specificato. Una possibilità è che la proprietà da eliminare non esista.
ERROR_ACCESS_DENIED
Il chiamante non dispone dei privilegi di amministratore.

Commenti

SetupDiSetClassProperty fa parte del modello di proprietà del dispositivo unificato.

SetupAPI supporta solo una versione Unicode di SetupDiSetClassProperty.

Un chiamante di SetupDiSetClassProperty deve essere membro del gruppo Administrators per impostare una proprietà dell'interfaccia del dispositivo.

SetupDiSetClassProperty applica i requisiti per l'identificatore property-data-type e il valore della proprietà.

Per ottenere le chiavi delle proprietà del dispositivo che rappresentano le proprietà del dispositivo impostate per una classe di dispositivo in un computer locale, chiamare SetupDiGetClassPropertyKeys.

Per recuperare una proprietà della classe di dispositivo in un computer locale, chiamare SetupDiGetClassProperty e per recuperare una proprietà della classe di dispositivo in un computer remoto, chiamare SetupDiGetClassPropertyEx.

Per impostare una proprietà della classe di dispositivo in un computer remoto, chiamare SetupDiSetClassPropertyEx.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive di Windows.
Piattaforma di destinazione DesktopFor universal, chiamare CM_Set_Class_Property
Intestazione setupapi.h (include Setupapi.h)
Libreria Setupapi.lib

Vedi anche

SetupDiGetClassProperty

SetupDiGetClassPropertyEx

SetupDiGetClassPropertyKeys

SetupDiSetClassPropertyEx