Qualificatori standard

Tutte le implementazioni conformi a CIM devono gestire un set standard di qualificatori. Per qualsiasi oggetto specifico non sono elencati tutti i qualificatori. In genere, le classi di estensione forniscono qualificatori aggiuntivi per facilitare il provisioning di istanze di classe e altre operazioni sulla classe .

È responsabilità del provider applicare i qualificatori. WMI non applica qualificatori, ma li usa solo per informare l'utente del modo in cui viene utilizzata la proprietà.

Nota

WMI è conforme alla specifica CIM 2.5.

I qualificatori presentano le limitazioni seguenti:

  • Non tutti i qualificatori standard possono essere usati insieme.
  • Non tutti i qualificatori possono essere applicati a tutti i costrutti, ad esempio l'associazione o il riferimento. Queste limitazioni sono identificate nell'elenco Si applica a .
  • Per un particolare costrutto, ad esempio l'associazione o il riferimento, l'uso dei qualificatori legali può essere ulteriormente vincolato perché alcuni qualificatori si escludono a vicenda, l'uso di un qualificatore può implicare alcune restrizioni sul valore di un altro e così via. Queste regole di utilizzo sono documentate.
  • I qualificatori legali vengono ereditati da entità come proprietà, metodi, istanze o sottoclassi solo, non da associazioni o riferimenti. Ad esempio, il qualificatore MaxLen applicabile alle proprietà non viene ereditato dai riferimenti.

Di seguito sono elencati i qualificatori standard WMI.

Contenuto

Tipo di dati: booleano

Si applica a: classi, associazioni, indicazioni

Indica se la classe è astratta e funge solo da base per le nuove classi. Il valore predefinito è FAL edizione Standard. Non è possibile creare istanze di classi astratte. L'assenza di questo qualificatore indica che la classe non è astratta; pertanto, questo qualificatore è necessario per tutte le classi astratte.

Aggregazione

Tipo di dati: booleano

Si applica a: riferimenti

Indica se il riferimento è il componente padre di un'associazione di aggregazione. Il valore predefinito è FAL edizione Standard.

Utilizzo: i qualificatori aggregazione e aggregazione vengono usati insieme Aggregazione qualifica l'associazione e Aggregate specifica il riferimento padre.

Aggregazione

Tipo di dati: booleano

Si applica a: associazioni

Indica se l'associazione è un'aggregazione. Il valore predefinito è FAL edizione Standard. Usato con Aggregate. Questo qualificatore è obbligatorio per tutte le associazioni di aggregazione.

Alias

Tipo di dati: string

Si applica a: proprietà, riferimenti, metodi

Nome alternativo per una proprietà o un metodo nello schema. Il valore predefinito è NULL.

ArrayType

Tipo di dati: string

Si applica a: proprietà, parametri

Tipo della matrice qualificata.

Valori validi:

  • borsa (impostazione predefinita)
  • Indicizzato
  • ordered

Utilizzo: applicare questo tipo di qualificatore solo alle proprietà e ai parametri che sono matrici (definite usando la sintassi tra parentesi quadre).

Bitmap

Tipo di dati: matrice di stringhe

Si applica a: proprietà, metodi, parametri

Mappa di posizioni di bit significative in cui ogni posizione significativa può essere "on" o "off". Ogni bit "on" esegue il mapping a un valore corrispondente nella matrice BitValues . Se sono presenti più bit "on", sono indicati più valori simultanei nella matrice BitValues . Il valore predefinito è NULL.

Per altre informazioni, vedere BitMap e BitValues.

BitValues

Tipo di dati: matrice di stringhe

Si applica a: proprietà, metodi, parametri

Conversione di un valore di posizione di bit in una stringa associata. Il valore predefinito è NULL.

Per altre informazioni, vedere BitMap e BitValues.

Costruttore

Tipo di dati: booleano

Si applica a: metodi

Indica se il metodo crea istanze. Questi metodi non sono vincolati a agire su una singola istanza o su una singola classe. Ad esempio, un costruttore può creare istanze di associazione e istanze della classe che definisce il costruttore.

Il qualificatore del costruttore è destinato solo alle informazioni e non è previsto che venga usato dal gestore oggetti. Il gestore oggetti non deve chiamare i metodi del costruttore quando viene creato un oggetto . Inoltre, quando viene chiamato un costruttore, il gestore oggetti non deve richiamare metodi del costruttore definiti per qualsiasi classe padre della classe originale. Il valore predefinito è FAL edizione Standard.

CreateBy

Tipo di dati: string

Si applica a: classi

Nome del metodo in base al quale vengono create le istanze di questa classe. Il valore è "PutInstance" o il nome di un altro metodo che crea le istanze. Il valore predefinito è NULL.

Utilizzo: questo qualificatore può essere usato solo se è presente il qualificatore SupportsCreate .

DeleteBy

Tipo di dati: string

Si applica a: classi

Nome del metodo in base al quale vengono eliminate le istanze di questa classe. Il valore è "DeleteInstance" o il nome di un altro metodo che elimina le istanze. Il valore predefinito è NULL.

Utilizzo: questo qualificatore può essere usato solo se è presente il qualificatore SupportsDelete .

Descrizione

Tipo di dati: string

Si applica a: qualsiasi

Descrizione di un elemento denominato. Il valore predefinito è NULL.

Distruttore

Tipo di dati: booleano

Si applica a: metodi

Indica se il metodo elimina le istanze. I metodi che usano il qualificatore distruttore eliminano le istanze a cui viene applicato il distruttore e non sono vincolati a agire su una singola istanza o classe. Ad esempio, un distruttore può eliminare istanze di associazione e istanze della classe che definisce il distruttore.

Il qualificatore distruttore è destinato solo alle informazioni e non è previsto che venga eseguito dal gestore oggetti. Non è necessario che il gestore oggetti chiami un metodo con qualificatore distruttore quando un'istanza viene eliminata. Inoltre, quando viene chiamato un distruttore, il gestore oggetti non deve richiamare metodi distruttori definiti per qualsiasi classe padre della classe originale. Il valore predefinito è FAL edizione Standard.

DisplayName

Tipo di dati: string

Si applica a: qualsiasi

Nome visualizzato nell'interfaccia utente anziché il nome effettivo dell'elemento. Il valore predefinito è NULL.

EmbeddedInstance

Tipo di dati: string

Si applica a: qualsiasi

L'elemento di tipo stringa qualificato contiene un'istanza incorporata. Il valore del qualificatore specifica il nome di una classe CIM nello stesso spazio dei nomi della classe proprietaria dell'elemento qualificato. L'istanza incorporata è un'istanza della classe specificata, incluse le istanze delle relative sottoclassi. Il valore predefinito è NULL.

Misuratore

Tipo di dati: booleano

Si applica a: qualsiasi

Indica se la proprietà rappresenta un numero intero non negativo, che può aumentare o diminuire, ma non superare mai un valore massimo. Il valore predefinito è FAL edizione Standard.

Il valore massimo della proprietà non può essere maggiore di 2^n - 1. N può essere 8, 16, 32 o 64 a seconda del tipo di dati della proprietà a cui viene applicato questo qualificatore. Il valore di un misuratore ha il valore massimo ogni volta che le informazioni modellate sono maggiori o uguali a tale valore massimo. Se le informazioni modellate successivamente diminuiscono al di sotto del valore massimo, anche il misuratore diminuisce. Questo qualificatore è applicabile solo alle proprietà con un tipo di dati integer senza segno.

In

Tipo di dati: booleano

Si applica a: parametri

Indica se il parametro viene utilizzato per passare valori a un metodo. Il valore predefinito è TRUE.

In uscita

Tipo di dati: booleano

Si applica a: parametri

Indica se il parametro è sia un parametro di input che di output.

Chiave

Tipo di dati: booleano

Si applica a: proprietà, riferimenti

Indica se la proprietà fa parte dell'handle dello spazio dei nomi. Se più di una proprietà ha il qualificatore Key , tutte queste proprietà formano collettivamente la chiave (una chiave composta). Se insieme, le proprietà chiave devono fornire un riferimento univoco per ogni istanza di classe. Se questo qualificatore viene inserito in una proprietà, è consentito solo il valore TRUE .

Differita

Si applica a: proprietà

Indica che la proprietà è a elevato utilizzo di risorse da restituire e richiede molto tempo del processore e memoria. WMI migliora le prestazioni delle query non tentando di restituire le proprietà contrassegnate con il qualificatore Differita .

MappingStrings

Tipo di dati: matrice di stringhe

Si applica a: classi, proprietà, associazioni, indicazioni, riferimenti

Set di valori che indicano un percorso a una posizione in cui è possibile trovare altre informazioni sull'origine di una proprietà, una classe, un'associazione, un'indicazione o un riferimento. La stringa di mapping può essere un percorso di directory, un URL, una chiave del Registro di sistema, un file di inclusione, un riferimento a una classe CIM o un altro formato. Il valore predefinito è NULL.

Max

Tipo di dati: int

Si applica a: riferimenti

Il numero massimo di valori che un riferimento specificato può avere per ogni set di altri valori di riferimento nell'associazione. Il valore predefinito è NULL. Ad esempio, se un'associazione correla istanze A a istanze B e deve essere presente al massimo un'istanza A per ogni istanza B, il riferimento a A deve avere un massimo di un qualificatore.

MaxLen

Tipo di dati: int

Si applica a: proprietà, metodi, parametri

Lunghezza massima (in caratteri) di un elemento di dati stringa e indica il supporto di matrici a lunghezza fissa.

Se viene rilevata una matrice a lunghezza fissa, il qualificatore MaxLen contiene la lunghezza fissa trovata durante l'analisi. Se viene rilevata una matrice a lunghezza variabile, questo qualificatore non viene usato. MaxLen viene usato per suggerire il numero massimo di elementi che devono essere archiviati in una matrice. Quando si esegue l'override del valore predefinito, è possibile specificare qualsiasi valore intero senza segno (uint32). Un valore NULL (impostazione predefinita) implica una lunghezza illimitata.

Maxvalue

Tipo di dati: int

Si applica a: proprietà, metodi, parametri

Valore massimo dell'oggetto. Il valore predefinito è NULL.

Min

Tipo di dati: int

Si applica a: riferimenti

Cardinalità minima del riferimento (il numero minimo di valori che un riferimento specificato può avere per ogni set di altri valori di riferimento nell'associazione). Il valore predefinito è 0.

Ad esempio, se un'associazione correla istanze A a istanze B e deve essere presente almeno un'istanza A per ogni istanza B, il riferimento a A deve avere almeno un qualificatore.

Minvalue

Tipo di dati: int

Si applica a: proprietà, metodi, parametri

Indica il valore minimo dell'oggetto. Il valore predefinito è NULL.

ModelCorrespondence

Tipo di dati: matrice di stringhe

Si applica a: proprietà

Set di valori che indicano la corrispondenza tra la proprietà di un oggetto e altre proprietà nello schema CIM. Il valore predefinito è NULL.

Le proprietà dell'oggetto vengono identificate usando la sintassi seguente.

<nome> schema "_" <classe o nome> associazione "." <nome proprietà>

Non locale

Tipo di dati: string

Si applica a: riferimenti

Posizione di un'istanza, il cui valore è <namespacetype>://<namespacehandle> Il valore predefinito è NULL.

Utilizzo: questo qualificatore non può essere usato con il qualificatore NonlocalType .

NonlocalType

Tipo di dati: string

Si applica a: riferimenti

Tipo di posizione di un'istanza. Il valore è <namespacetype>. Il valore predefinito è NULL.

Utilizzo: questo qualificatore non può essere usato con il qualificatore non locale .

Nullvalue

Tipo di dati: string

Si applica a: proprietà

Valore che indica che la proprietà associata è NULL (la proprietà non ha un valore valido o significativo). Il valore predefinito è NULL.

Le convenzioni e le restrizioni usate per la definizione dei valori NULL sono uguali a quelle applicabili al qualificatore ValueMap . Si noti che questo qualificatore non può essere sottoposto a override. Non è possibile consentire a una sottoclasse di restituire un valore NULL diverso da quello della classe padre.

Verso l'esterno

Tipo di dati: booleano

Si applica a: parametri

Indica se il parametro restituisce valori da un metodo. Il valore predefinito è FAL edizione Standard.

Override

Tipo di dati: string

Si applica a: proprietà, metodi, riferimenti

Classe padre o costrutto subordinato (proprietà, metodo o riferimento) sottoposto a override dalla proprietà, dal metodo o dal riferimento dello stesso nome nella classe derivata. Il valore predefinito è NULL.

Il formato è:

[<classe>.]<costrutto subordinato>

Se il nome della classe viene omesso, l'override si applica al costrutto subordinato nella classe padre nella gerarchia di classi.

Utilizzo: il qualificatore override può fare riferimento a costrutti basati solo sullo stesso modello meta. Non è consentito modificare un nome di costrutto o una firma durante un'operazione di override.

OverrideValue

Si applica a: classi

Indica se il valore della proprietà in una sottoclasse esegue l'override del valore in una classe padre. L'implicazione funzionale è che, se si esegue una query sulla classe padre e se la clausola WHERE include questa proprietà, l'elemento padre deve restituire un'istanza con il valore sottoposto a override. Di conseguenza, Gestione Windows regola la clausola WHERE della query inviata alla classe padre per escludere i riferimenti a questa proprietà.

Propagate

Tipo di dati: string

Si applica a: proprietà

Nome della chiave propagata. Il valore predefinito è NULL.

L'uso di questo qualificatore presuppone l'esistenza di un solo qualificatore debole su un riferimento con la classe contenitore come destinazione. La proprietà associata deve avere lo stesso valore della proprietà denominata dal qualificatore nella classe dall'altra parte dell'associazione debole. Il formato è:

[<classe>.]<costrutto subordinato>

Utilizzo: quando viene usato il qualificatore Propagated , il qualificatore chiave deve essere specificato con un valore TRUE.

Lettura

Tipo di dati: booleano

Si applica a: proprietà

Indica se la proprietà è leggibile. Il valore predefinito è TRUE.

Obbligatorio

Tipo di dati: booleano

Si applica a: proprietà

Indica se per la proprietà è necessario un valore non Null. Il valore predefinito è FAL edizione Standard.

Revisione

Tipo di dati: string

Si applica a: classi, associazioni, indicazioni, schemi

Numero di revisione secondario dell'oggetto schema. Il valore predefinito è NULL.

Utilizzo: il qualificatore di versione deve essere presente per specificare il numero di versione principale quando viene usato il qualificatore revisione .

Schema

Tipo di dati: string

Si applica a: proprietà, metodi

Nome dello schema in cui è definita la funzionalità. Il valore predefinito è NULL.

Origine

Tipo di dati: string

Si applica a: classi, associazioni, indicazioni, riferimenti

Posizione di un'istanza. Il valore predefinito è NULL.

Il valore del qualificatore è <namespacetype>://<namespacehandle>.

Utilizzo: il qualificatore di origine non può essere usato con il qualificatore SourceType .

SourceType

Tipo di dati: string

Si applica a: classi, associazioni, indicazioni, riferimenti

Tipo di posizione di un'istanza. Il valore di questo qualificatore è <namespacetype>. Il valore predefinito è NULL.

Utilizzo: il qualificatore SourceType non può essere usato con il qualificatore Source .

SupportsCreate

Tipo di dati: booleano

Si applica a: classi

Indica se la classe supporta la creazione di istanze. Il valore predefinito è FAL edizione Standard.

SupportsDelete

Tipo di dati: booleano

Si applica a: classi

Indica se la classe supporta l'eliminazione di istanze. Il valore predefinito è FAL edizione Standard.

SupportsUpdate

Tipo di dati: booleano

Si applica a: classi

Indica se la classe supporta la modifica (aggiornamento) delle istanze. Il valore predefinito è FAL edizione Standard.

Terminale

Tipo di dati: booleano

Si applica a: classi

Indica se la classe può avere sottoclassi. Il valore predefinito è FAL edizione Standard.

Se viene dichiarata una sottoclasse, il compilatore genera un errore.

Utilizzo: questo qualificatore non può coesistere con il qualificatore Abstract . Se vengono specificati entrambi i qualificatori Terminal e Abstract , il compilatore genera un errore.

Unità

Tipo di dati: string

Si applica a: proprietà, metodi, parametri

Tipo di unità in cui viene espresso l'elemento di dati associato. Il valore predefinito è NULL.

Ad esempio, un elemento di dati delle dimensioni potrebbe avere un valore "byte" per unità.

ValueMap

Tipo di dati: matrice di stringhe

Si applica a: proprietà, metodi, parametri

Set di valori consentiti per una proprietà, un tipo restituito del metodo o un parametro del metodo. Il valore predefinito è NULL.

Utilizzo: questo qualificatore può essere usato da solo o in combinazione con il qualificatore Valori . Se usato in combinazione con il qualificatore Values , la posizione del valore nella matrice ValueMap fornisce la posizione della voce corrispondente nella matrice Values . Usare il qualificatore ValueMap solo con valori stringa e integer. La sintassi per rappresentare un valore intero nella matrice della mappa dei valori è [+|=]digit[*digit]. Il contenuto, il numero massimo di cifre e il valore rappresentato sono vincolati dal tipo della proprietà associata. Ad esempio, uint8 potrebbe non essere firmato, deve essere minore di quattro cifre e deve rappresentare un valore minore di 256.

Valori

Tipo di dati: matrice di stringhe

Si applica a: proprietà, metodi, parametri

Set di valori che converte un valore intero in una stringa associata. Il valore predefinito è NULL.

Questa proprietà specifica anche una matrice di valori stringa di cui eseguire il mapping a una proprietà di enumerazione. Questo qualificatore può essere applicato a una proprietà integer o a una proprietà stringa e il mapping può essere implicito o esplicito. Se il mapping è implicito, i valori delle proprietà integer o stringa rappresentano le posizioni ordinali nella matrice Values . Se il mapping è esplicito, la proprietà deve essere un numero intero e i valori validi della proprietà sono elencati nella matrice definita dal qualificatore ValueMap . Per altre informazioni, vedere Mappa valori.

Se non è presente un qualificatore ValueMap , la matrice Values viene indicizzata (relativa zero) usando il valore nella proprietà associata, il tipo restituito del metodo o il parametro del metodo. Se è presente un qualificatore ValueMap , l'indice dei valori viene definito dalla posizione del valore della proprietà nella mappa dei valori.

Versione

Tipo di dati: string

Si applica a: classi, schemi, associazioni, indicazioni

Numero di versione principale dell'oggetto schema. Il valore predefinito è NULL. Il numero di versione viene incrementato quando vengono apportate modifiche allo schema che modificano l'interfaccia.

Debole

Tipo di dati: booleano

Si applica a: riferimenti

Indica se le chiavi della classe a cui viene fatto riferimento includono le chiavi degli altri partecipanti all'associazione. Il valore predefinito è FAL edizione Standard.

Questo qualificatore viene usato quando l'identità della classe a cui si fa riferimento dipende dall'identità degli altri partecipanti dell'associazione. Nessun riferimento a una determinata classe può essere debole. Le altre classi nell'associazione devono definire una chiave. Le chiavi delle altre classi nell'associazione vengono ripetute nella classe a cui si fa riferimento e vengono contrassegnate con un qualificatore Propagated .

Scrittura

Tipo di dati: booleano

Si applica a: proprietà

Indica che le applicazioni o gli script possono modificare il valore della proprietà. L'account che esegue l'applicazione deve avere accesso allo spazio dei nomi che contiene istanze della classe . L'implementazione del provider può anche limitare l'accesso ai dati del provider. Un valore TRUE indica che la proprietà è leggibile e scrivibile dai consumer a cui è consentito l'accesso da WMI e dal provider. Il valore predefinito è FAL edizione Standard.

Una proprietà che non dispone del qualificatore di scrittura può comunque essere scrivibile. L'implementazione del provider può consentire la modifica di qualsiasi proprietà nelle classi del provider, indipendentemente dal fatto che sia presente il qualificatore di scrittura .

WriteAtCreate

Tipo di dati: booleano

Si applica a: proprietà

Indica se la proprietà è scrivibile durante la creazione dell'istanza. Questo qualificatore può essere usato insieme al qualificatore WriteAtCreate . Il valore predefinito è FAL edizione Standard.

WriteAtUpdate

Tipo di dati: booleano

Si applica a: proprietà

Indica se la proprietà è scrivibile in fase di aggiornamento dell'istanza. Questo qualificatore può essere usato insieme al qualificatore WriteAtCreate . Il valore predefinito è FAL edizione Standard.

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista
Server minimo supportato
Windows Server 2008

Vedi anche

Qualificatori WMI

Aggiunta di un qualificatore