Discover-Methode der MSFT_StorageProvider-Klasse
Ermittelt die Objekte, die sich im Besitz des Speicheranbieters befinden.
Diese Methode wird verwendet, wenn ein Benutzer Objekte im Besitz des Speicheranbieters explizit ermitteln oder erneut aufzählen muss. Ein Aufruf dieser Methode führt zu einer vollständigen oder teilweisen Cacheinvalidierung und over-the-wire-Aufrufen des Speichersubsystems, um neue oder aktualisierte Objekte zu ermitteln. Da dies eine teure Aufgabe ist, sollte diese Methode sparsam verwendet werden.
Der Bereich des Ermittlungsvorgangs wird durch die Parameter DiscoveryLevel und RootObject gesteuert. DiscoveryLevel steuert die Tiefe der Objektermittlung. RootObject definiert den Ausgangspunkt, ab dem die Ermittlung erfolgt.
Syntax
UInt32 Discover(
[in] UInt16 DiscoveryLevel,
[in] MSFT_StorageObject REF RootObject,
[in] Boolean RunAsJob,
[out] MSFT_StorageJob REF CreatedStorageJob,
[out] String ExtendedStatus
);
Parameter
DiscoveryLevel [in]
Die Ebene (oder Tiefe) der Ermittlung, die ausgeführt werden soll. Dieser Parameter kann nur angegeben werden, wenn das Stammobjekt ein Speicheranbieter, Speichersubsystem oder NULL ist. Wenn angegeben, ermittelt der Speicheranbieter Objekte ab Ebene 0 und wird fortgesetzt, bis die angegebene Ebene erreicht ist. Zuordnungen zwischen Objekten (innerhalb der ermittelten Ebenen) werden ebenfalls ermittelt.
Wert | Bedeutung |
---|---|
Ebene 0 0 | Der Speicheranbieter, das Speichersubsystem und die Dateiserverobjekte werden ermittelt. Hinweis: Ab Windows 10: Die Ermittlung von Dateiserverobjekten wurde hinzugefügt. |
Ebene 1 1 | Speicherpools, Dateifreigaben, Resilienzeinstellungen, Zielports, Zielportale und Initiatorbezeichner werden ermittelt. Hinweis: Ab Windows 10: Die Ermittlung von Dateifreigaben wurde hinzugefügt. |
Ebene 2 2 | Virtuelle Datenträger, Volumes, Partitionen, Datenträger und Maskierungsgruppen werden ermittelt. Hinweis: Ab Windows 10: Die Ermittlung von Volumes, Partitionen und Datenträgern wurde hinzugefügt. |
Ebene 3 3 | Physische Datenträger werden ermittelt. |
RootObject [in]
Wenn dieser Parameter festgelegt ist, beginnt die Ermittlung mit diesem Objekt. Wenn DiscoveryLevelNULL ist, werden gut definierte Aktionen je nach Objekttyp ausgeführt, der von RootObject angegeben wird:
- Speichersubsystem: Alle zugeordneten Objekte werden ermittelt.
- Speicherpool: Der Pool wird zusammen mit allen zugehörigen Resilienzeinstellungen, virtuellen Datenträgern und physischen Datenträgern ermittelt.
- Maskierungsgruppe: Der Maskierungssatz wird zusammen mit allen zugeordneten Zielports, Initiatorbezeichnern und virtuellen Datenträgern ermittelt.
- Für alle anderen Objekte wird nur dieses Objekt ermittelt oder aktualisiert.
RunAsJob [in]
Bei TRUE verwendet diese Methode den CreatedStorageJob-Parameter , wenn die Verarbeitung der Anforderung sehr lange dauert. Wenn ein Speicherauftrag zum Nachverfolgen des Vorgangs erstellt wurde, gibt diese Methode Die Methodenparameter Überprüft – Auftrag gestartet zurück.
Hinweis
Selbst wenn RunAsJobTRUE ist, kann diese Methode dennoch ein Ergebnis zurückgeben, wenn sie in ausreichender Zeit abgeschlossen wurde.
Bei FALSE oder NULL folgt diese Methode dem standardmäßigen asynchronen WMI-Verhalten, das von der -Methode des Clients für den Aufruf bestimmt wird. Anders ausgedrückt: Es ist synchron, sofern nicht anders angefordert.
CreatedStorageJob [out]
Wenn RunAsJob auf TRUE festgelegt ist und die Ausführung dieser Methode sehr lange dauert, empfängt dieser Parameter einen Verweis auf das Speicherauftragsobjekt, das zum Nachverfolgen des zeitintensiven Vorgangs verwendet wird.
ExtendedStatus [out]
Eine Zeichenfolge, die ein eingebettetes MSFT_StorageExtendedStatus -Objekt enthält.
Dieser Parameter ermöglicht es dem Speicheranbieter, erweiterte (implementierungsspezifische) Fehlerinformationen zurückzugeben.
Rückgabewert
Erfolg (0)
Nicht unterstützt (1)
Nicht angegebener Fehler (2)
Timeout (3)
Fehler (4)
Ungültiger Parameter (5)
Methodenparameter überprüft – Auftrag gestartet (4096)
Zugriff verweigert (40001)
Es sind nicht genügend Ressourcen vorhanden, um den Vorgang abzuschließen. (40002)
Es kann keine Verbindung mit dem Speicheranbieter hergestellt werden. (46000)
Der Speicheranbieter kann keine Verbindung mit dem Speichersubsystem herstellen. (46001)
Der Speicheranbieter unterstützt kein erforderliches Profil. (46002)
Der Speicheranbieter unterstützt keine erforderliche Zuordnung. (46003)
Fehler beim Ermitteln des Stammobjekts. (46009 )
Fehler bei der Ermittlung in einem oder mehreren Subsystemen. (46010)
Hinweise
Speicheranbieter sollten die Ermittlung der Ebene 0 beim Start abschließen. Die MSFT_StorageProvider - und MSFT_StorageSubSystem-Objekte sollten in den Cache geladen werden.
Um die Leistung zu verbessern, sollten Speichersubsysteme, für die die iSCSITargetCreationScheme-Eigenschaft auf Auto festgelegt ist, ihre Ermittlung von Zielports zusammen mit den virtuellen Datenträgern in Ebene 2 durchführen. Beachten Sie, dass Zielportale weiterhin in Level 1 ermittelt werden sollten.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 [nur Desktop-Apps] |
Namespace | Root\Microsoft\Windows\Storage |
MOF | Storagewmi.mof |