VDS_POOL_ATTRIBUTES 结构 (vds.h)

[从Windows 8和Windows Server 2012开始,虚拟磁盘服务 COM 接口由 Windows 存储管理 API 取代。]

定义 存储池的属性。

语法

typedef struct _VDS_POOL_ATTRIBUTES {
  ULONGLONG                  ullAttributeMask;
  VDS_RAID_TYPE              raidType;
  VDS_STORAGE_BUS_TYPE       busType;
  LPWSTR                     pwszIntendedUsage;
  BOOL                       bSpinDown;
  BOOL                       bIsThinProvisioned;
  ULONGLONG                  ullProvisionedSpace;
  BOOL                       bNoSinglePointOfFailure;
  ULONG                      ulDataRedundancyMax;
  ULONG                      ulDataRedundancyMin;
  ULONG                      ulDataRedundancyDefault;
  ULONG                      ulPackageRedundancyMax;
  ULONG                      ulPackageRedundancyMin;
  ULONG                      ulPackageRedundancyDefault;
  ULONG                      ulStripeSize;
  ULONG                      ulStripeSizeMax;
  ULONG                      ulStripeSizeMin;
  ULONG                      ulDefaultStripeSize;
  ULONG                      ulNumberOfColumns;
  ULONG                      ulNumberOfColumnsMax;
  ULONG                      ulNumberOfColumnsMin;
  ULONG                      ulDefaultNumberofColumns;
  ULONG                      ulDataAvailabilityHint;
  ULONG                      ulAccessRandomnessHint;
  ULONG                      ulAccessDirectionHint;
  ULONG                      ulAccessSizeHint;
  ULONG                      ulAccessLatencyHint;
  ULONG                      ulAccessBandwidthWeightHint;
  ULONG                      ulStorageCostHint;
  ULONG                      ulStorageEfficiencyHint;
  ULONG                      ulNumOfCustomAttributes;
  VDS_POOL_CUSTOM_ATTRIBUTES *pPoolCustomAttributes;
  BOOL                       bReserved1;
  BOOL                       bReserved2;
  ULONG                      ulReserved1;
  ULONG                      ulReserved2;
  ULONGLONG                  ullReserved1;
  ULONGLONG                  ullReserved2;
} VDS_POOL_ATTRIBUTES, *PVDS_POOL_ATTRIBUTES;

成员

ullAttributeMask

一个掩码,指定此存储池定义的结构中的属性。

有效属性标志的列表如下所示。 每个标志对应于 VDS_POOL_ATTRIBUTES 结构中的一个成员。 保留未使用的位。

Value 存储池定义的属性
VDS_POOL_ATTRIB_RAIDTYPE
0x1L
raidType
VDS_POOL_ATTRIB_BUSTYPE
0x2L
busType
VDS_POOL_ATTRIB_ALLOW_SPINDOWN
0x4L
bSpinDown
VDS_POOL_ATTRIB_THIN_PROVISION
0x8L
bIsThinProvisioned
VDS_POOL_ATTRIB_NO_SINGLE_POF
0x10L
bNoSinglePointOfFailure
VDS_POOL_ATTRIB_DATA_RDNCY_MAX
0x20L
ulDataRedundancyMax
VDS_POOL_ATTRIB_DATA_RDNCY_MIN
0x40L
ulDataRedundancyMin
VDS_POOL_ATTRIB_DATA_RDNCY_DEF
0x80L
ulDataRedundancyDefault
VDS_POOL_ATTRIB_PKG_RDNCY_MAX
0x100L
ulPackageRedundancyDefault
VDS_POOL_ATTRIB_PKG_RDNCY_MIN
0x200L
ulPackageRedundancyMin
VDS_POOL_ATTRIB_PKG_RDNCY_DEF
0x400L
ulPackageRedundancyDefault
VDS_POOL_ATTRIB_STRIPE_SIZE
0x800L
ulStripeSize
VDS_POOL_ATTRIB_STRIPE_SIZE_MAX
0x1000L
ulStripeSizeMax
VDS_POOL_ATTRIB_STRIPE_SIZE_MIN
0x2000L
ulStripeSizeMin
VDS_POOL_ATTRIB_STRIPE_SIZE_DEF
0x4000L
ulDefaultStripeSize
VDS_POOL_ATTRIB_NUM_CLMNS
0x8000L
ulNumberOfColumns
VDS_POOL_ATTRIB_NUM_CLMNS_MAX
0x10000L
ulNumberOfColumnsMax
VDS_POOL_ATTRIB_NUM_CLMNS_MIN
0x20000L
ulNumberOfColumnsMin
VDS_POOL_ATTRIB_NUM_CLMNS_DEF
0x40000L
ulDefaultNumberofColumns
VDS_POOL_ATTRIB_DATA_AVL_HINT
0x80000L
ulDataAvailabilityHint
VDS_POOL_ATTRIB_ACCS_RNDM_HINT
0x100000L
ulAccessRandomnessHint
VDS_POOL_ATTRIB_ACCS_DIR_HINT
0x200000L
ulAccessDirectionHint
VDS_POOL_ATTRIB_ACCS_SIZE_HINT
0x400000L
ulAccessSizeHint
VDS_POOL_ATTRIB_ACCS_LTNCY_HINT
0x800000L
ulAccessLatencyHint
VDS_POOL_ATTRIB_ACCS_BDW_WT_HINT
0x1000000L
ulAccessBandwidthWeightHint
VDS_POOL_ATTRIB_STOR_COST_HINT
0x2000000L
ulStorageCostHint
VDS_POOL_ATTRIB_STOR_EFFCY_HINT
0x4000000L
ulStorageEfficiencyHint
VDS_POOL_ATTRIB_CUSTOM_ATTRIB
0x8000000L
pPoolCustomAttributes

raidType

一个VDS_RAID_TYPE枚举值,该值指定存储池的 RAID 类型。 如果存储池没有特定的 RAID 类型,请将此成员设置为 VDS_RT_UNKNOWN并清除 ullAttributeMask 成员中的 VDS_POOL_ATTRIB_RAIDTYPE 属性标志。

busType

一个VDS_STORAGE_BUS_TYPE枚举值,该值指定存储池中驱动器的总线类型。

pwszIntendedUsage

一个指定存储池用法的字符串。 通常,这可能指示使用存储池的应用程序 (例如,“SQL”或“Exchange”) 或使用存储池的业务功能 (例如“财务”或“人力资源”) 。

bSpinDown

如果存储池中的驱动器自动减速以减少电源使用,则为 TRUE;否则为 FALSE

bIsThinProvisioned

如果存储池是精简预配的,则为 TRUE;否则为 FALSE。 如果池是精简预配的,则池占用的空间中的字节数可能小于池预配空间中的字节数。 (预配空间中的字节数存储在此结构的 ullProvisionedSpace 成员中。占用的空间中的字节数存储在VDS_STORAGE_POOL_PROP结构的 ullTotalConsumedSpace 成员中。) 当硬件提供程序将此成员设置为 TRUE 时,还必须将VDS_STORAGE_POOL_PROP结构的类型成员设置为VDS_SPT_CONCRETE

ullProvisionedSpace

如果池是精简预配的,则此成员指定为池预配的空间(以字节为单位)。 此成员的值必须大于或等于 VDS_STORAGE_POOL_PROP 结构的 ullTotalConsumedSpace 成员的值。

bNoSinglePointOfFailure

如果池中没有单一故障点,则为 TRUE;否则为 FALSE

ulDataRedundancyMax

可在此存储池中维护的数据完整副本的最大数目。

ulDataRedundancyMin

可在此存储池中维护的数据完整副本的最小数目。

ulDataRedundancyDefault

此存储池中维护的数据的默认完整副本数。

ulPackageRedundancyMax

可用于存储池以确保包冗余的最大驱动器数。 包冗余指示存储池中可能发生故障且不会导致数据丢失的驱动器数。

ulPackageRedundancyMin

可在存储池中使用的最小驱动器数,以确保包冗余。 包冗余指示存储池中可能发生故障且不会导致数据丢失的驱动器数。

ulPackageRedundancyDefault

存储池中用于确保包冗余的默认驱动器数。 包冗余指示存储池中可能发生故障且不会导致数据丢失的驱动器数。

ulStripeSize

存储池的镜像或奇偶校验条带大小(以字节为单位),如果池 (具有或不带奇偶校验) 。

ulStripeSizeMax

存储池支持的最大条带大小(以字节为单位)。

ulStripeSizeMin

存储池支持的最小条带大小(以字节为单位)。

ulDefaultStripeSize

存储池支持的默认条带大小(以字节为单位)。

ulNumberOfColumns

存储池的列数(如果池带带化 (具有或不带奇偶校验) )。

ulNumberOfColumnsMax

存储池支持的最大列数。

ulNumberOfColumnsMin

存储池支持的最小列数。

ulDefaultNumberofColumns

存储池支持的默认列数。

ulDataAvailabilityHint

来自客户端的提示,指示数据可用性的重要性。 值的范围从 0 (不重要) 到 10 (非常重要) 。

ulAccessRandomnessHint

来自客户端的提示,指示数据访问的随机性。 值的范围从 0 (完全顺序) 到 10 (完全随机) 。

ulAccessDirectionHint

来自客户端的提示,指示数据访问的方向。 值的范围为 0 (完全读取) 到 10 (完全写入) 。

ulAccessSizeHint

来自客户端的提示,指示最佳访问大小(以 MB 为单位)。

ulAccessLatencyHint

来自客户端的提示,指示对客户端的访问延迟的重要性。 值的范围从 0 (不重要) 到 10 (非常重要) 。

ulAccessBandwidthWeightHint

来自客户端的提示,指示高带宽的重要性。 值的范围从 0 (不重要) 到 10 (非常重要) 。

ulStorageCostHint

来自客户端的提示,指示存储成本对客户端的重要性。 值的范围从 0 (不重要) 到 10 (非常重要) 。 如果存储成本对客户端非常重要,则值为 10 表示客户端更愿意使用较低成本的存储预配池。

ulStorageEfficiencyHint

来自客户端的提示,指示存储效率对客户端的重要性。 值的范围从 0 (不重要) 到 10 (非常重要) 。

ulNumOfCustomAttributes

为存储池定义的自定义属性数。

pPoolCustomAttributes

VDS_POOL_CUSTOM_ATTRIBUTES结构的数组。 每个结构都包含为存储池定义的自定义属性。

bReserved1

此成员留待将来使用。 请勿使用。

bReserved2

此成员留待将来使用。 请勿使用。

ulReserved1

此成员留待将来使用。 请勿使用。

ulReserved2

此成员留待将来使用。 请勿使用。

ullReserved1

此成员留待将来使用。 请勿使用。

ullReserved2

此成员留待将来使用。 请勿使用。

备注

如果为存储池设置了属性,该属性设置必须应用于构成该池的所有驱动器盘区。

要求

   
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
标头 vds.h

请参阅

IVdsHwProviderStoragePools::QueryStoragePools

IVdsStoragePool::GetAttributes