Método Discover de la clase MSFT_StorageProvider
Detecta los objetos que pertenecen al proveedor de almacenamiento.
Este método se usa cuando un usuario necesita detectar o volver a enumerar explícitamente objetos propiedad del proveedor de almacenamiento. Una llamada a este método dará lugar a una invalidación total o parcial de la caché y llamadas a través de la conexión al subsistema de almacenamiento para detectar objetos nuevos o actualizados. Dado que se trata de una tarea costosa, este método se debe usar con moderación.
El ámbito de la operación de detección se controla mediante los parámetros DiscoveryLevel y RootObject . DiscoveryLevel controla la profundidad de la detección de objetos. RootObject define el punto de partida desde el que se producirá la detección.
Sintaxis
UInt32 Discover(
[in] UInt16 DiscoveryLevel,
[in] MSFT_StorageObject REF RootObject,
[in] Boolean RunAsJob,
[out] MSFT_StorageJob REF CreatedStorageJob,
[out] String ExtendedStatus
);
Parámetros
DiscoveryLevel [in]
Nivel (o profundidad) de la detección que se debe realizar. Este parámetro solo se puede especificar si el objeto raíz es un proveedor de almacenamiento, un subsistema de almacenamiento o NULL. Cuando se especifica, el proveedor de almacenamiento detectará objetos a partir del nivel 0 y continuará hasta que se alcance el nivel especificado. También se detectarán asociaciones entre objetos (dentro de los niveles detectados).
Valor | Significado |
---|---|
Nivel 0 0 | Se detectarán el proveedor de almacenamiento, el subsistema de almacenamiento y los objetos fileserver. Nota: A partir de Windows 10: se ha agregado la detección de objetos fileserver. |
Nivel 1 1 | Se detectarán grupos de almacenamiento, recursos compartidos de archivos, configuración de resistencia, puertos de destino, portales de destino e identificadores de iniciador. Nota: A partir de Windows 10: se ha agregado la detección de recursos compartidos de archivos. |
Nivel 2 2 | Se detectarán discos virtuales, volúmenes, particiones, discos y conjuntos de enmascaramiento. Nota: A partir de Windows 10: se ha agregado la detección de volúmenes, particiones y discos. |
Nivel 3 3 | Se detectarán discos físicos. |
RootObject [in]
Si se establece este parámetro, la detección comenzará desde este objeto. Cuando DiscoveryLevel es NULL, se realizarán acciones bien definidas en función del tipo de objeto especificado por RootObject:
- Subsistema de almacenamiento: se detectarán todos los objetos asociados.
- Bloque de almacenamiento: se detectará el grupo, junto con cualquier configuración de resistencia asociada, discos virtuales y discos físicos.
- Conjunto de enmascaramiento: se detectará el conjunto de enmascaramiento, junto con los puertos de destino asociados, los identificadores del iniciador y los discos virtuales.
- Para todos los demás objetos, solo ese objeto se detectará o actualizará.
RunAsJob [in]
Si es TRUE, este método usa el parámetro CreatedStorageJob cuando la solicitud tarda mucho tiempo en atenderse. Si se ha creado un trabajo de almacenamiento para realizar un seguimiento de la operación, este método devolverá Parámetros de método comprobados: trabajo iniciado.
Nota
Incluso si RunAsJob es TRUE, este método todavía puede devolver un resultado si ha terminado en un tiempo suficiente.
Si es FALSE o NULL, este método seguirá el comportamiento asincrónico de WMI predeterminado determinado por el método del cliente para la invocación. En otras palabras, es sincrónica a menos que se solicite lo contrario.
CreatedStorageJob [out]
Si RunAsJob se establece en TRUE y este método tarda mucho tiempo en ejecutarse, este parámetro recibe una referencia al objeto de trabajo de almacenamiento que se usa para realizar un seguimiento de la operación de ejecución prolongada.
ExtendedStatus [out]
Cadena que contiene un objeto MSFT_StorageExtendedStatus incrustado.
Este parámetro permite al proveedor de almacenamiento devolver información de error extendida (específica de la implementación).
Valor devuelto
Correcto (0)
No compatible (1)
Error no especificado (2)
Tiempo de espera (3)
Error (4)
Parámetro no válido (5)
Parámetros de método comprobados: trabajo iniciado (4096)
Acceso denegado (40001)
No hay suficientes recursos para completar la operación. (40002)
No se puede conectar al proveedor de almacenamiento. (46000)
El proveedor de almacenamiento no puede conectarse al subsistema de almacenamiento. (46001)
El proveedor de almacenamiento no admite un perfil necesario. (46002)
El proveedor de almacenamiento no admite una asociación necesaria. (46003)
Error de detección del objeto raíz. (46009 )
Error de detección en uno o varios subsistemas. (46010)
Comentarios
Los proveedores de almacenamiento deben completar la detección de nivel 0 al iniciarse. Los objetos MSFT_StorageProvider y MSFT_StorageSubSystem deben cargarse en la memoria caché.
Para mejorar el rendimiento, los subsistemas de almacenamiento que tienen la propiedad iSCSITargetCreationScheme establecida en Auto deben realizar la detección de puertos de destino junto con los discos virtuales en el nivel 2. Tenga en cuenta que los portales de destino todavía deben detectarse en el nivel 1.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2012 [solo aplicaciones de escritorio] |
Espacio de nombres | Root\Microsoft\Windows\Storage |
MOF | Storagewmi.mof |