DEVICE_MANAGE_DATA_SET_ATTRIBUTES結構 (winioctl.h)

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES控制項程式碼的輸入結構。

語法

typedef struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES {
  DWORD             Size;
  DEVICE_DSM_ACTION Action;
  DWORD             Flags;
  DWORD             ParameterBlockOffset;
  DWORD             ParameterBlockLength;
  DWORD             DataSetRangesOffset;
  DWORD             DataSetRangesLength;
} DEVICE_MANAGE_DATA_SET_ATTRIBUTES, *PDEVICE_MANAGE_DATA_SET_ATTRIBUTES, DEVICE_DSM_INPUT, *PDEVICE_DSM_INPUT;

成員

Size

此資料結構的大小。 必須設為 sizeof(DEVICE_MANAGE_DATA_SET_ATTRIBUTES)

Action

DEVICE_DATA_MANAGEMENT_SET_ACTION類型的有效值。

意義
DeviceDsmAction_Trim
1
會執行修剪動作。 使用者模式應用程式不支援此值。
DeviceDsmAction_Notification
2 | DeviceDsmActionFlag_NonDestructive (0x80000002)
系統會執行通知動作。 其他參數位於 DEVICE_DSM_NOTIFICATION_PARAMETERS 結構中。 DeviceDsmActionFlag_NonDestructive (0x80000000) 是一個位旗標,可向驅動程式堆疊指出此作業非破壞性。
DeviceDsmAction_OffloadRead
3 | DeviceDsmActionFlag_NonDestructive (0x80000003)
執行卸載讀取動作。 其他參數位於 DEVICE_DSM_OFFLOAD_READ_PARAMETERS 結構中。 DeviceDsmActionFlag_NonDestructive (0x80000000) 是一個位旗標,可向驅動程式堆疊指出此作業非破壞性。

Windows 7 和 Windows Server 2008 R2: Windows 8 和 Windows Server 2012 之前不支援此值。

DeviceDsmAction_OffloadWrite
4
執行卸載寫入動作。 其他參數位於 DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS 結構中。

Windows 7 和 Windows Server 2008 R2: Windows 8 和 Windows Server 2012 之前不支援此值。

DeviceDsmAction_Allocation
5 | DeviceDsmActionFlag_NonDestructive (0x80000005)
系統會針對指定的第一個資料集範圍擷取配置點陣圖。 DeviceDsmActionFlag_NonDestructive (0x80000000) 是一個位旗標,可向驅動程式堆疊指出此作業非破壞性。

Windows 7 和 Windows Server 2008 R2: Windows 8 和 Windows Server 2012 之前不支援此值。

DeviceDsmAction_Repair
6 | DeviceDsmActionFlag_NonDestructive (0x80000006)
會執行修復動作。 其他參數位於 DEVICE_DATA_SET_REPAIR_PARAMETERS 結構中。 DeviceDsmActionFlag_NonDestructive (0x80000000) 是一個位旗標,可向驅動程式堆疊指出此作業非破壞性。

Windows 7 和 Windows Server 2008 R2: Windows 8 和 Windows Server 2012 之前不支援此值。

DeviceDsmAction_Scrub
7 | DeviceDsmActionFlag_NonDestructive (0x80000007)
執行清除動作。 DeviceDsmActionFlag_NonDestructive (0x80000000) 是一個位旗標,可向驅動程式堆疊指出此作業非破壞性。

Windows 7 和 Windows Server 2008 R2: Windows 8 和 Windows Server 2012 之前不支援此值。

DeviceDsmAction_Resiliency
8 | DeviceDsmActionFlag_NonDestructive (0x80000008)
會執行復原動作。 DeviceDsmActionFlag_NonDestructive (0x80000000) 是一個位旗標,可向驅動程式堆疊指出此作業非破壞性。

Windows 7 和 Windows Server 2008 R2: Windows 8 和 Windows Server 2012 之前不支援此值。

Flags

動作的旗標。

意義
DEVICE_DSM_FLAG_TRIM_NOT_FS_ALLOCATED
0x80000000
如果設定,則檔案系統不會配置描述的範圍。 此旗標專屬於 DeviceDsmAction_Trim 動作。
DEVICE_DSM_FLAG_RESILIENCY_START_RESYNC
0x10000000
在儲存裝置上啟動重新同步作業。 此旗標專屬於 DeviceDsmAction_Resiliency 動作。
DEVICE_DSM_FLAG_RESILIENCY_START_LOAD_BALANCING
0x20000000
在儲存體裝置上啟動負載平衡作業。 此旗標專屬於 DeviceDsmAction_Resiliency 動作。

ParameterBlockOffset

儲存在此結構之緩衝區中之參數區塊開頭的位元組位移。 必須對齊對應的結構對齊方式。 值為零表示沒有參數區塊, 而且 ParameterBlockLength 成員也必須是零。

ParameterBlockLength

參數區塊的長度,以位元組為單位。 值為零表示沒有參數區塊, 而且 ParameterBlockOffset 成員也必須是零。

DataSetRangesOffset

資料集範圍開頭的位元組位移區塊,由儲存在此結構之緩衝區中 DEVICE_DATA_SET_RANGE 結構的陣列所組成。 必須對齊 DEVICE_DATA_SET_RANGE 結構對齊。 值為零表示沒有資料集範圍區塊, 而且 DataSetRangesLength 成員也必須是零。

DataSetRangesLength

資料集範圍區塊的長度,以位元組為單位。 值為零表示沒有資料集範圍區塊, 而且 DataSetRangesOffset 成員也必須是零。

備註

包含這個結構的緩衝區總長度至少必須是 (sizeof(DEVICE_MANAGE_DATA_SET_ATTRIBUTES) + ParameterBlockLength + DataSetRangesLength)

規格需求

   
最低支援的用戶端 Windows 7
最低支援的伺服器 Windows Server 2008 R2
標頭 winioctl.h (包含 Windows.h)

另請參閱

DEVICE_DATA_SET_RANGE

裝置管理結構

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES