Condividi tramite


Progettazione di classi MOF (Managed Object Format)

Un provider WMI è costituito da un file MOF (Managed Object Format) e da un file DLL. Il file MOF definisce le classi per le quali l'implementazione del provider fornisce i dati.

Le definizioni di classe MOF vengono compilate dall'utilitàmofcompe archiviate nel repository WMI , noto anche come repository CIM (Common Information Model). Un modo meno comune per creare classi consiste nel usare i metodi dell'API COM per WMI.

Nota

Per assicurarsi che tutte le definizioni di classe WMI per gli oggetti gestiti vengano ripristinate nel repository WMI in caso di errore e riavvio di WMI, usare l'istruzione #pragma ripristino automatico preprocessore nel file MOF.

 

Le sezioni seguenti sono descritte in questo argomento:

Definizione degli oggetti da gestire

Dopo aver identificato la parte dell'azienda da gestire, definire gli oggetti da gestire. La definizione deve includere i dati necessari e consentire di implementare le regole business pertinenti in modo accurato. È possibile definire oggetti a un livello granulare, ma è consigliabile decidere tra il livello di dettaglio contenuto nella definizione e la necessità di fornire dettagli sufficienti per essere utili. I tasti di scelta rapida all'inizio del processo possono risparmiare tempo, ma potrebbero causare più lavoro in futuro.

L'esercitazione CIM nel sito Web DMTF (Distributed Management Task Force) contiene informazioni eccellenti sul processo di progettazione. Per altre informazioni, vedere www.dmtf.org.

Quando si sviluppa e si implementa una progettazione dello schema, tenere presenti i fattori seguenti:

  • Qualificazioni

    I qualificatori forniscono informazioni su come descrivere classi, oggetti, proprietà, metodi e parametri; e vengono applicati alle definizioni di classe e proprietà. Nel codice MOF i qualificatori sono racchiusi tra parentesi quadre e possono includere [key] o [association]. Per altre informazioni, vedere Aggiunta di un qualificatore e qualificatori WMI.

  • Namespace

    Uno spazio dei nomi è un'unità logica per raggruppare classi e oggetti e controllare l'ambito e la visibilità. In genere, uno spazio dei nomi contiene un set di classi e oggetti che rappresentano oggetti gestiti in un ambiente specifico. Per altre informazioni, vedere Creazione di gerarchie all'interno di WMI.

  • Oggetto

    Un oggetto modellato potrebbe essere un elemento fisico o logico dello schema. Ad esempio, è possibile modellare un'unità disco fisico, ad esempio un'unità disco rigido o un disco logico che può essere una partizione in un disco fisico. Una progettazione che usa una classe per modellare un'unità disco fisico e quindi estende tale classe al modello di un disco logico è più estendibile di una classe che tenta di creare una classe separata per ogni tipo di disco.

  • Dati

    I dati possono essere dinamici o statici. Se i dati sono dinamici, è necessario crearvi un provider di classi.

    Per consentire all'utente di modificare i dati, è necessario determinare se si desidera che una proprietà sia scrivibile direttamente o modificabile solo usando un metodo che l'utente chiama.

Definizione di proprietà o metodi

In genere, una proprietà della classe WMI è simile a una proprietà in una classe C++. Se l'unica azione implementata dal codice per la parte di dati consiste nel ottenere il valore o impostare il valore, i dati devono essere definiti come proprietà della classe WMI.

Un metodo WMI esegue in genere un'azione che modifica lo stato di un oggetto gestito. Ad esempio, se l'azione consiste nell'abilitare o disabilitare l'operazione di un oggetto hardware, è probabilmente preferibile creare una proprietà di lettura/scrittura. È anche possibile decidere di creare una proprietà che visualizzi lo stato dell'hardware.

Quando si crea una classe o un'istanza, è possibile includere commenti. Usare questa tecnica per documentare la classe o spiegare le tecniche di programmazione. Per altre informazioni, vedere Creazione di un commento. Inoltre, è possibile aggiungere dati per qualificare lo scopo di un oggetto dati. Per altre informazioni, vedere Aggiunta di un qualificatore.

Correlazione di oggetti l'uno all'altro

Esistono due modi per correlare gli oggetti tra loro: creando oggetti separati e un oggetto associazione che li correla o incorporando un oggetto nell'altro. CIM non supporta gli oggetti incorporati, pertanto per essere conforme a CIM è necessario usare il primo metodo. WMI supporta tuttavia oggetti incorporati, quindi usare uno dei metodi per rappresentare una relazione tra oggetti. È possibile trovare esempi di oggetti incorporati nella Classi Win32. Ad esempio, Win32_SecurityDescriptor ha l'oggetto incorporato Win32_ACE, che ha un altro oggetto incorporato, Win32_Trustee.

Quando si decide come rappresentare le relazioni tra oggetti, tenere presente quanto segue:

Sviluppo di un provider WMI

Fornire dati a WMI

tipi di dati MOF