Condividi tramite


Descrizione di un qualificatore con un tipo di qualificatore

Un tipo di qualificatore è un indicatore che descrive ulteriori informazioni su un qualificatore. Ad esempio, il tipo di qualificatore con la qualificazione 'Restricted' indica che WMI non deve propagare il qualificatore associato ad alcuna classe o istanza derivata. È possibile impostare le versioni usando il codice MOF o a livello di codice. Anche se è possibile descrivere una varietà di effetti con i sapori, lo scopo principale dei flag dei sapori è definire il modo in cui WMI propaga i qualificatori nell'ereditarietà.

WMI definisce diversi tipi di qualificatore che è possibile associare a qualsiasi qualificatore, indipendentemente dall'origine del qualificatore. Tuttavia, alcune versioni non sono appropriate per tutti i tipi di qualificatore. La variante ToSubClass, ad esempio, è appropriata solo per i qualificatori definiti per una classe. Non è possibile associare ToSubClass a un qualificatore usato per descrivere un'istanza.

È possibile utilizzare i sapori per descrivere una varietà di effetti diversi per i qualificatori. Ad esempio, il termine "gusto" può indicare se un qualificatore può essere localizzato. Tuttavia, uno degli scopi principali di un tipo di qualificatore consiste nel descrivere se una classe padre può passare qualificatori a una sottoclasse o a un'istanza di classe. È anche possibile utilizzare i sapori per determinare se una proprietà di classe trasmette un qualificatore a una proprietà dell'istanza. Infine, utilizzare attributi per indicare se una sottoclasse può eseguire l'override del valore originale di un qualificatore ereditato. Tuttavia, i qualificatori dichiarati per una classe o un'istanza non vengono propagati alle proprietà di tale classe o istanza. Inoltre, le versioni che stabiliscono le autorizzazioni di override sono valide solo se si impostano anche le ToInstance o ToSubClass.

Un sapore può essere assegnato a livello globale a un qualificatore per un intero file MOF usando la sintassi seguente in cui lo spazio vuoto funge da delimitatore quando vengono specificate più versioni.

Qualifier QualifierName : flavor1 <flavor2...>;

Le versioni globali si applicano a tutti gli usi successivi del qualificatore nel file MOF. Le dichiarazioni di variante globali possono trovarsi in qualsiasi punto del file all'esterno di un blocco di dichiarazione di oggetto. Le versioni ridefinite a livello di classe, istanza o proprietà sostituiscono le dichiarazioni di sapore globali per l'ambito di quell'oggetto.

Non è possibile definire un nuovo sapore. Sebbene sia possibile creare un nuovo qualificatore, utilizza soltanto i Qualifier Flavors esistenti per descrivere il nuovo qualificatore.

Per definire le varianti di qualificatore nel MOF

  • Dichiarare le versioni che descrivono un qualificatore specificato dopo il nome del qualificatore tra le parentesi quadre. Usare lo spazio vuoto come delimitatore tra più versioni.

    Nell'esempio seguente viene illustrato il modello per associare qualificatori predefiniti.

    [qualifier1 : flavor1 flavor2 flavor3, qualifier2 : flavor1]
    

È possibile aggiungere tipi di qualificatore a livello di codice solo in C++. Questa operazione non è disponibile nell'API di scripting per WMI, anche se è possibile aggiungere un nuovo qualificatore chiamando SWbemQualifierSet.Add.

Per assegnare un aroma utilizzando C++

  • Chiamare il metodo IWbemQualifierSet::Put con il parametro lFlavor impostato su una delle costanti definite per il metodo.