2.2.2.7.2.1 VDS_PROVIDER_PROP

The VDS_PROVIDER_PROP structure provides information about provider properties.

 typedef struct _VDS_PROVIDER_PROP {
   VDS_OBJECT_ID id;
   [string] WCHAR* pwszName;
   GUID guidVersionId;
   [string] WCHAR* pwszVersion;
   VDS_PROVIDER_TYPE type;
   unsigned long ulFlags;
   unsigned long ulStripeSizeFlags;
   short sRebuildPriority;
 } VDS_PROVIDER_PROP;

id: The VDS object ID of the provider object.

pwszName: The null-terminated Unicode name of the provider.

guidVersionId: The version GUID of the provider. This GUID MUST be unique to each version of the provider.

pwszVersion: The null-terminated Unicode version string of the provider. The convention for this string is <major version number>.<minor version number>.

type: A value from the VDS_PROVIDER_TYPE enumeration that indicates the provider type.

ulFlags: A combination of any values, by using a bitwise OR operator, from the VDS_PROVIDER_FLAG enumeration.

ulStripeSizeFlags: Stripe size that the provider supports, which MUST be a power of 2. Each bit in the 32-bit integer represents a size that the provider supports. For example, if the nth bit is set, the provider supports a stripe size of 2^n. This parameter is used only for software providers. The basic provider sets this value to zero and the dynamic provider sets this value to 64K.

sRebuildPriority: The rebuild priority of all volumes that the provider manages. It specifies the regeneration order when a mirrored or RAID-5 volume requires rebuilding. Priority levels MUST be from 0 through 15. A higher value indicates a higher priority. This parameter is used only for software providers and does not apply to the basic provider.