Condividi tramite


Metodo Discover della classe MSFT_StorageProvider

Individua gli oggetti di proprietà del provider di archiviazione.

Questo metodo viene usato quando un utente deve individuare o enumerare in modo esplicito gli oggetti di proprietà del provider di archiviazione. Una chiamata a questo metodo comporterà l'invalidazione completa o parziale della cache e le chiamate over-the-wire al sottosistema di archiviazione per individuare oggetti nuovi o aggiornati. Poiché si tratta di un'attività costosa, questo metodo deve essere usato con moderazione.

L'ambito dell'operazione di individuazione è controllato dai parametri DiscoveryLevel e RootObject . DiscoveryLevel controlla la profondità dell'individuazione degli oggetti. RootObject definisce il punto iniziale da cui verrà eseguita l'individuazione.

Sintassi

UInt32 Discover(
  [in]  UInt16                 DiscoveryLevel,
  [in]  MSFT_StorageObject REF RootObject,
  [in]  Boolean                RunAsJob,
  [out] MSFT_StorageJob    REF CreatedStorageJob,
  [out] String                 ExtendedStatus
);

Parametri

DiscoveryLevel [in]

Livello (o profondità) dell'individuazione da eseguire. Questo parametro può essere specificato solo se l'oggetto radice è un provider di archiviazione, un sottosistema di archiviazione o NULL. Se specificato, il provider di archiviazione individua gli oggetti a partire dal livello 0 e continua fino al raggiungimento del livello specificato. Verranno individuate anche le associazioni tra oggetti (all'interno dei livelli individuati).

Valore Significato
Livello 0 0 Verranno individuati il provider di archiviazione, il sottosistema di archiviazione e gli oggetti fileserver. Nota: a partire da Windows 10: è stata aggiunta l'individuazione di oggetti fileserver.
Livello 1 1 Verranno individuati pool di archiviazione, condivisioni file, impostazioni di resilienza, porte di destinazione, portali di destinazione e identificatori iniziatori. Nota: a partire da Windows 10: è stata aggiunta l'individuazione delle condivisioni file.
Livello 2 2 Verranno individuati dischi virtuali, volumi, partizioni, dischi e set di maschera. Nota: a partire da Windows 10: è stata aggiunta l'individuazione di volumi, partizioni e dischi.
Livello 3 3 Verranno individuati i dischi fisici.

RootObject [in]

Se questo parametro è impostato, l'individuazione inizierà da questo oggetto. Quando DiscoveryLevel è NULL, verranno eseguite azioni ben definite a seconda del tipo di oggetto specificato da RootObject:

  • Sottosistema di archiviazione: verranno individuati tutti gli oggetti associati.
  • Pool di archiviazione: verrà individuato il pool, insieme alle impostazioni di resilienza associate, ai dischi virtuali e ai dischi fisici.
  • Set di maschera: il set di maschera, insieme a tutte le porte di destinazione associate, gli identificatori dell'iniziatore e i dischi virtuali verranno individuati.
  • Per tutti gli altri oggetti, solo l'oggetto verrà individuato o aggiornato.

RunAsJob [in]

Se TRUE, questo metodo usa il parametro CreatedStorageJob quando la richiesta richiede molto tempo al servizio. Se è stato creato un processo di archiviazione per tenere traccia dell'operazione, questo metodo restituirà i parametri del metodo checked - Job Started.

Nota

Anche se RunAsJob è TRUE, questo metodo può comunque restituire un risultato se è terminato in tempo sufficiente.

Se FALSE o NULL, questo metodo seguirà il comportamento asincrono WMI predefinito determinato dal metodo del client per la chiamata. In altre parole, è sincrono, a meno che non venga richiesto diversamente.

CreatedStorageJob [out]

Se RunAsJob è impostato su TRUE e l'esecuzione di questo metodo richiede molto tempo, questo parametro riceve un riferimento all'oggetto processo di archiviazione utilizzato per tenere traccia dell'operazione a esecuzione prolungata.

ExtendedStatus [out]

Stringa contenente un oggetto MSFT_StorageExtendedStatus incorporato.

Questo parametro consente al provider di archiviazione di restituire informazioni di errore estese (specifiche dell'implementazione).

Valore restituito

Operazione riuscita (0)

Non supportato (1)

Errore non specificato (2)

Timeout (3)

Non riuscito (4)

Parametro non valido (5)

Parametri del metodo controllati - Processo avviato (4096)

Accesso negato (40001)

Non sono disponibili risorse sufficienti per completare l'operazione. (40002)

Impossibile connettersi al provider di archiviazione. (46000)

Il provider di archiviazione non può connettersi al sottosistema di archiviazione. (46001)

Il provider di archiviazione non supporta un profilo obbligatorio. (46002)

Il provider di archiviazione non supporta un'associazione obbligatoria. (46003)

Individuazione non riuscita per l'oggetto radice. (46009 )

Individuazione non riuscita in uno o più sottosistemi. (46010)

Commenti

I provider di archiviazione devono completare l'individuazione di livello 0 all'avvio. Gli oggetti MSFT_StorageProvider e MSFT_StorageSubSystem devono essere caricati nella cache.

Per prestazioni migliori, i sottosistemi di archiviazione con la proprietà iSCSITargetCreationScheme impostata su Auto devono eseguire l'individuazione delle porte di destinazione insieme ai dischi virtuali di livello 2. Si noti che i portali di destinazione devono comunque essere individuati nel livello 1.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Spazio dei nomi Root\Microsoft\Windows\Storage
MOF Storagewmi.mof

Vedi anche

MSFT_StorageProvider

MSFT_StorageSubSystem