发现 MSFT_StorageProvider 类的方法

发现存储提供程序拥有的对象。

当用户需要显式发现或重新枚举存储提供程序拥有的对象时,将使用此方法。 调用此方法将导致完全或部分缓存失效,以及对存储子系统的有线调用,以发现新的或更新的对象。 由于这是一项成本高昂的任务,因此应谨慎使用此方法。

发现操作的范围由 DiscoveryLevelRootObject 参数控制。 DiscoveryLevel 控制对象发现的深度。 RootObject 定义将发生发现的起点。

语法

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

参数

DiscoveryLevel [in]

应执行的发现的级别 (或深度) 。 仅当根对象是存储提供程序、存储子系统或 NULL 时,才能指定此参数。 指定后,存储提供程序将发现从 级别 0 开始并一直持续到达到指定级别的对象。 还将发现已发现级别) 内对象 (之间的关联。

含义
级别 0 0 将发现存储提供程序、存储子系统和文件服务器对象。 注意:从 Windows 10 开始:已添加 fileserver 对象的发现。
级别 1 1 将发现存储池、文件共享、复原设置、目标端口、目标门户和发起方标识符。 注意:从 Windows 10 开始:已添加文件共享发现。
级别 2 2 将发现虚拟磁盘、卷、分区、磁盘和掩码集。 注意:从 Windows 10开始:已添加卷、分区和磁盘的发现。
级别 3 3 将发现物理磁盘。

RootObject [in]

如果设置了此参数,则发现将从此对象开始。 当 DiscoveryLevelNULL 时,将根据 RootObject 指定的对象类型执行定义完善的操作:

  • 存储子系统:将发现所有关联的对象。
  • 存储池:将发现池以及任何关联的复原设置、虚拟磁盘和物理磁盘。
  • 掩码集:将发现掩码集以及任何关联的目标端口、发起方标识符和虚拟磁盘。
  • 对于所有其他对象,只会发现或刷新该对象。

RunAsJob [in]

如果 为 TRUE,则此方法在请求需要很长时间才能提供服务时使用 CreatedStorageJob 参数。 如果已创建存储作业来跟踪操作,则此方法将返回 “方法参数已检查 - 作业已启动”。

注意

即使 RunAsJobTRUE,此方法在足够时间内完成时仍可返回结果。

如果 为 FALSENULL,此方法将遵循由客户端的调用方法确定的默认 WMI 异步行为。 换句话说,除非另有请求,否则它是同步的。

CreatedStorageJob [out]

如果 RunAsJob 设置为 TRUE ,并且此方法需要很长时间才能执行,则此参数将接收对用于跟踪长时间运行的操作的存储作业对象的引用。

ExtendedStatus [out]

包含嵌入 MSFT_StorageExtendedStatus 对象的字符串。

此参数允许存储提供程序返回特定于实现的扩展 () 错误信息。

返回值

成功 (0)

不支持 (1)

未指定的错误 (2)

超时 (3)

失败 (4)

参数 (5) 无效

已检查方法参数 - 作业 启动 (4096)

访问被拒绝 (40001)

没有足够的资源来完成操作。 (40002)

无法连接到存储提供程序。 (46000)

存储提供程序无法连接到存储子系统。 (46001)

存储提供程序不支持所需的配置文件。 (46002)

存储提供程序不支持所需的关联。 (46003)

发现根对象的失败。 (46009 )

在一个或多个子系统上发现失败。 (46010)

注解

存储提供程序应在启动时完成 级别 0 发现。 应将MSFT_StorageProviderMSFT_StorageSubSystem对象加载到缓存中。

为了获得更好的性能, 将 iSCSITargetCreationScheme 属性设置为 “自动 ”的存储子系统应发现目标端口以及 级别 2 中的虚拟磁盘。 请注意,仍应在 级别 1 中发现目标门户。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
命名空间 Root\Microsoft\Windows\Storage
MOF Storagewmi.mof

另请参阅

MSFT_StorageProvider

MSFT_StorageSubSystem