<div class="content" name="CLUS_POOL_DRIVE_INFO" uuid="fa7034db-e96a-4891-abe6-2eac37c1f6f1"><p>The <b>CLUS_POOL_DRIVE_INFO</b> structure contains the
information about a <span><a href="694e5e7a-5833-4f3d-b47e-323ee1d452c2#gt_4b6d1f61-5664-489c-b9a4-5c4e127d2d3a" data-linktype="relative-path">storage pool drive</a></span>.
See <b>CLUSCTL_RESOURCE_POOL_GET_DRIVE_INFO</b> (section <span><a href="8fd7410b-7819-44f4-82f6-5a3f4d27422b" data-linktype="relative-path">3.1.4.3.1.56</a></span>)
for more information.</p><p><b>CLUS_POOL_DRIVE_INFO</b> is a custom-marshaled structure
that has fields as follows.</p><table>
 <tbody><tr>
  <th><p><br/>0</p></th>
  <th><p><br/>1</p></th>
  <th><p><br/>2</p></th>
  <th><p><br/>3</p></th>
  <th><p><br/>4</p></th>
  <th><p><br/>5</p></th>
  <th><p><br/>6</p></th>
  <th><p><br/>7</p></th>
  <th><p><br/>8</p></th>
  <th><p><br/>9</p></th>
  <th><p>1<br/>0</p></th>
  <th><p><br/>1</p></th>
  <th><p><br/>2</p></th>
  <th><p><br/>3</p></th>
  <th><p><br/>4</p></th>
  <th><p><br/>5</p></th>
  <th><p><br/>6</p></th>
  <th><p><br/>7</p></th>
  <th><p><br/>8</p></th>
  <th><p><br/>9</p></th>
  <th><p>2<br/>0</p></th>
  <th><p><br/>1</p></th>
  <th><p><br/>2</p></th>
  <th><p><br/>3</p></th>
  <th><p><br/>4</p></th>
  <th><p><br/>5</p></th>
  <th><p><br/>6</p></th>
  <th><p><br/>7</p></th>
  <th><p><br/>8</p></th>
  <th><p><br/>9</p></th>
  <th><p>3<br/>0</p></th>
  <th><p><br/>1</p></th>
 </tr>
 <tr>
  <td colspan="32">DriveName (512 bytes)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="8">IncursSeekPenalty</td>
  <td colspan="8">Padding1</td>
  <td colspan="8">Padding2</td>
  <td colspan="8">Padding3</td>
 </tr>
 <tr>
  <td colspan="32">DriveHealth</td>
 </tr>
 <tr>
  <td colspan="32">DriveState</td>
 </tr>
 <tr>
  <td colspan="32">TotalCapacity</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">ConsumedCapacity</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">Usage</td>
 </tr>
 <tr>
  <td colspan="32">BusType</td>
 </tr>
 <tr>
  <td colspan="32">Slot</td>
 </tr>
 <tr>
  <td colspan="32">EnclosureName (2048 bytes)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
</tbody></table><p><b>DriveName (512 bytes): </b>A buffer of 16-bit <span><a href="694e5e7a-5833-4f3d-b47e-323ee1d452c2#gt_c305d0ab-8b94-461a-bd76-13b40cb8c4d8" data-linktype="relative-path">Unicode</a></span>
characters representing the name of the storage pool drive. This buffer MUST
contain the name as a null-terminated <span><a href="694e5e7a-5833-4f3d-b47e-323ee1d452c2#gt_b069acb4-e364-453e-ac83-42d469bb339e" data-linktype="relative-path">Unicode string</a></span>. If
the name is less than the size of the buffer, the string MUST be padded with
null characters. The client MUST ignore any padding.</p><p><b>IncursSeekPenalty (1 byte): </b>A flag that
indicates whether the storage pool drive incurs any latency when reading from
an arbitrary sector.</p><p><b>Padding1 (1 byte): </b>The client MUST ignore this
field.</p><p><b>Padding2 (1 byte): </b>The client MUST ignore this
field.</p><p><b>Padding3 (1 byte): </b>The client MUST ignore this
field.</p><p><b>DriveHealth (4 bytes): </b>The health of the
storage pool drive. The <span><a href="694e5e7a-5833-4f3d-b47e-323ee1d452c2#gt_434b0234-e970-4e8c-bdfa-e16a30d96703" data-linktype="relative-path">server</a></span> MUST set this
field to one of the following values.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>SpHealthUnknown 0x00000000</td>
  <td>The health of the storage pool drive is not known.</td>
 </tr><tr>
  <td>SpHealthUnhealthy 0x00000001</td>
  <td>The storage pool drive has encountered a severe error condition, such as a media failure.</td>
 </tr><tr>
  <td>SpHealthWarning 0x00000002</td>
  <td>The storage pool drive has encountered an automatically recoverable error condition, such as an I/O error that can be retried.</td>
 </tr><tr>
  <td>SpHealthHealthy 0x00000003</td>
  <td>The storage pool drive is healthy.</td>
 </tr></tbody></table>
</dd></dl><p><b>DriveState (4 bytes): </b>The state of the storage
pool drive. The server MUST set this field to one of the following values.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>SpDriveStateUnknown 0x00000000</td>
  <td>The state of the storage pool drive is not known.</td>
 </tr><tr>
  <td>SpDriveStateBecomingReady 0x00000001</td>
  <td>The storage pool drive is becoming ready.</td>
 </tr><tr>
  <td>SpDriveStateCorruptMetadata 0x00000002</td>
  <td>The storage pool drive has corrupt metadata.</td>
 </tr><tr>
  <td>SpDriveStateFailedMedia 0x00000003</td>
  <td>The storage pool drive detected a failure when accessing the media.</td>
 </tr><tr>
  <td>SpDriveStateSplit 0x00000004</td>
  <td>The storage pool drive metadata was changed while separated from a two-drive pool. The split metadata cannot automatically be corrected.</td>
 </tr><tr>
  <td>SpDriveStateStaleMetadata 0x00000005</td>
  <td>The storage pool drive has stale metadata</td>
 </tr><tr>
  <td>SpDriveStateIOError 0x00000006</td>
  <td>The storage pool drive has encountered an I/O error.</td>
 </tr><tr>
  <td>SpDriveStateMissing 0x00000007</td>
  <td>The storage pool drive is missing.</td>
 </tr><tr>
  <td>SpDriveStateOkay 0x00000008</td>
  <td>The storage pool drive is ready and in a nominal state.</td>
 </tr></tbody></table>
</dd></dl><p><b>TotalCapacity (8 bytes): </b>A 64-bit value
containing the total capacity, in bytes, of the storage pool drive.</p><p><b>ConsumedCapacity (8 bytes): </b>A 64-bit value
containing the amount of capacity, in bytes, that is currently in use on the
storage pool drive.</p><p><b>Usage (4 bytes): </b>The usage of the storage pool
drive. The server MUST set this field to one of the following values.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>SpDriveUsageUnknown 0x00000000</td>
  <td>The usage of the storage pool drive is unknown.</td>
 </tr><tr>
  <td>SpDriveUsageAutoAllocation 0x00000001</td>
  <td>The storage pool drive is used for automatic allocation.</td>
 </tr><tr>
  <td>SpDriveUsageManualAllocation 0x00000002</td>
  <td>The storage pool drive is used for manual allocation.</td>
 </tr><tr>
  <td>SpDriveUsageSpare 0x00000003</td>
  <td>The storage pool drive is used as a spare.</td>
 </tr><tr>
  <td>SpDriveUsageJournal 0x00000004</td>
  <td>The storage pool drive is used exclusively for journaling.</td>
 </tr><tr>
  <td>SpDriveUsageRetired 0x00000005</td>
  <td>The storage pool drive is retired and not used for capacity allocations.</td>
 </tr></tbody></table>
</dd></dl><p><b>BusType (4 bytes): </b>The type of bus to which
the storage pool drive is attached. The server MUST set this field to one of
the following values.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>BusTypeUnknown 0x00000000</td>
  <td>The bus type is unknown.</td>
 </tr><tr>
  <td>BusTypeScsi 0x00000001</td>
  <td>The bus type is small computer system interface (SCSI).</td>
 </tr><tr>
  <td>BusTypeAtapi 0x00000002</td>
  <td>The bus type is AT attachment packet interface (ATAPI).</td>
 </tr><tr>
  <td>BusTypeAta 0x00000003</td>
  <td>The bus type is advanced technology attachment (ATA).</td>
 </tr><tr>
  <td>BusType1394 0x00000004</td>
  <td>The bus type is IEEE 1394, commonly known as FireWire.</td>
 </tr><tr>
  <td>BusTypeSsa 0x00000005</td>
  <td>The bus type is serial storage architecture (SSA)</td>
 </tr><tr>
  <td>BusTypeFibre 0x00000006</td>
  <td>The bus type is Fibre Channel.</td>
 </tr><tr>
  <td>BusTypeUsb 0x00000007</td>
  <td>The bus type is universal serial bus (USB).</td>
 </tr><tr>
  <td>BusTypeRAID 0x000000008</td>
  <td>The bus type is redundant array of independent disks (RAID).</td>
 </tr><tr>
  <td>BusTypeiScsi 0x00000009</td>
  <td>The bus type is internet small computer system interface (iSCSI).</td>
 </tr><tr>
  <td>BusTypeSas 0x0000000A</td>
  <td>The bus type is serial attached SCSI (SAS).</td>
 </tr><tr>
  <td>BusTypeSata 0x0000000B</td>
  <td>The bus type is serial ATA (SATA).</td>
 </tr><tr>
  <td>BusTypeSd 0x0000000C</td>
  <td>The bus type is secure digital (SD).</td>
 </tr><tr>
  <td>BusTypeMmc 0x0000000D</td>
  <td>The bus type is multimedia card (MMC).</td>
 </tr><tr>
  <td>BusTypeVirtual 0x00000000E</td>
  <td>The bus type is virtual.</td>
 </tr><tr>
  <td>BusTypeFileBackedVirtual 0x00000000F</td>
  <td>The bus type is file-backed virtual.</td>
 </tr><tr>
  <td>BusTypeSpaces 0x00000010</td>
  <td>The bus type is Spaces.</td>
 </tr></tbody></table>
</dd></dl><p><b>Slot (4 bytes): </b>A 32-bit value containing the
slot in which the storage pool drive is located.</p><p><b>EnclosureName (2048 bytes): </b>A buffer of 16-bit
Unicode characters representing the name of the enclosure in which the storage
pool drive is located. This buffer MUST contain the name as a null-terminated
Unicode string. If the name is less than the size of the buffer, the string
MUST be padded with null characters. Any such padding MUST be ignored.</p></div>