Condividi tramite


Funzione SetupDiGetClassPropertyExW (setupapi.h)

La funzione SetupDiGetClassPropertyEx recupera una proprietà di classe per una classe di installazione del dispositivo o una classe di interfaccia del dispositivo in un computer locale o remoto.

Sintassi

WINSETUPAPI BOOL SetupDiGetClassPropertyExW(
  [in]            const GUID       *ClassGuid,
  [in]            const DEVPROPKEY *PropertyKey,
  [out]           DEVPROPTYPE      *PropertyType,
  [out, optional] PBYTE            PropertyBuffer,
  [in]            DWORD            PropertyBufferSize,
  [out, optional] PDWORD           RequiredSize,
  [in]            DWORD            Flags,
  [in, optional]  PCWSTR           MachineName,
                  PVOID            Reserved
);

Parametri

[in] ClassGuid

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

[in] PropertyKey

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

[out] PropertyType

Puntatore a una variabile tipizzata DEVPROPTYPE che riceve l'identificatore property-data-type della proprietà della classe di dispositivo richiesta, in cui l'identificatore di tipo property-data è l'identificatore OR bit per bit tra un identificatore di tipo di dati di base e, se il tipo di dati di base viene modificato, un modificatore di tipo property-data.

[out, optional] PropertyBuffer

Puntatore a un buffer che riceve la proprietà della classe di dispositivo richiesta. SetupDiGetClassPropertyEx recupera il valore della proprietà richiesto solo se il buffer è abbastanza grande per contenere tutti i dati del valore della proprietà. Il puntatore può essere NULL. Se il puntatore è impostato su NULL e RequiredSize viene fornito, SetupDiGetClassPropertyEx restituisce le dimensioni della proprietà della classe di dispositivo, in byte, in *RequiredSize.

[in] PropertyBufferSize

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

[out, optional] RequiredSize

Puntatore a una variabile tipizzata DWORD che riceve le dimensioni, in byte, della proprietà della classe di dispositivo se la proprietà viene recuperata o la dimensione del buffer necessaria se il buffer non è sufficiente. Questo puntatore può essere impostato su NULL.

[in] Flags

Uno dei valori seguenti, che specifica se la classe è una classe di installazione del dispositivo o una classe di 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.

[in, optional] MachineName

Puntatore a una stringa con terminazione NULL contenente il nome UNC, incluso il prefisso "\" di un computer. Il puntatore può essere impostato su NULL. Se MachineName è NULL, SetupDiGetClassPropertyEx recupera la proprietà della classe di dispositivo richiesta dal computer locale.

Attenzione

L'uso di questa funzione per accedere ai computer remoti non è supportato a partire da Windows 8 e Windows Server 2012, perché questa funzionalità è stata rimossa.

Reserved

Questo parametro deve essere impostato su NULL.

Valore restituito

SetupDiGetClassPropertyEx 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 è zero.
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_PARAMETER
Non è valido un parametro non specificato.
ERROR_INVALID_REG_PROPERTY
La chiave di proprietà fornita da PropertyKey non è valida.
ERROR_INVALID_REFERENCE_STRING
La stringa di riferimento dell'interfaccia del dispositivo non è valida. Questo errore può essere restituito se viene specificato il flag DICLASSPROP_INTERFACE.
ERROR_INVALID_DATA
Non è stato valido un valore dati interno non specificato.
ERROR_INVALID_USER_BUFFER
Un buffer utente non è valido. Una possibilità è che PropertyBuffer è NULL e PropertyBufferSize non è zero.
ERROR_INVALID_MACHINENAME
Il nome del computer specificato da MachineName non è valido.
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 dati interno passato a una chiamata di sistema è troppo piccolo.
ERROR_NOT_ENOUGH_MEMORY
Memoria di sistema insufficiente per completare l'operazione.
ERROR_NOT_FOUND
La proprietà del dispositivo richiesta non esiste.
ERROR_ACCESS_DENIED
Il chiamante non dispone dei privilegi di amministratore.

Commenti

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

SetupAPI supporta solo una versione Unicode di SetupDiGetClassPropertyEx.

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

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

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

Per impostare una proprietà della classe di dispositivo in un computer locale, chiamare SetupDiSetClassPropertye 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_Get_Class_Property_ExW
Intestazione setupapi.h (includere Setupapi.h)
Libreria Setupapi.lib

Vedi anche

SetupDiGetClassProperty

SetupDiGetClassPropertyKeysEx

SetupDiSetClassProperty

SetupDiSetClassPropertyEx