DEVICE_MANAGE_DATA_SET_ATTRIBUTES 結構 (ntddstor.h)

DEVICE_DSM_INPUT (或DEVICE_MANAGE_DATA_SET_ATTRIBUTES) 结构会指定装置数据集属性的管理动作。

語法

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

成員

Size

DEVICE_DSM_INPUT 結構的大小,以位元組為單位。 當成員加入結構時,這個成員的值將會變更。

Action

DEVICE_DSM_ACTION值,指定要執行的動作。 如需動作值和描述的清單,請參閱 DEVICE_DSM_ACTION描述

如果動作中設定 了DeviceDsmActionFlag_NonDestructive 旗標 (最重要的位 ) ,則指定的動作是非破壞性的。 針對非破壞性動作,即使驅動程式未處理指定的動作,驅動程式也可以安全地將 IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 要求轉送至堆疊中的下一個較低驅動程式。 如果驅動程式確實處理 DSM,它應該先執行 DataSetRangesOffsetDataSetRangesLength 成員所指定的數據集範圍區塊的正常處理,再將IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES要求轉送至下一個較低的驅動程式。

Flags

這些旗標對所有控件動作都是全域的。 這個成員可以設定為下列其中一個旗標:

旗標值 意義
DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE 控件動作是針對整個數據集範圍區塊所指定。 如果設定此旗標, DataSetRangesOffsetDataSetRangesLength 成員必須設定為零。

ParameterBlockOffset

指定 IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES要求承載 內的參數區塊開頭。 參數區塊的格式取決於 Action 成員的值。 如需參數區塊格式的詳細資訊,請參閱 DEVICE_DSM_ACTION描述注意:參數區塊的位移必須對齊對應參數的位址界限。

如果 ParameterBlockOffset 設定為零,則參數區塊不存在。

ParameterBlockLength

指定IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES要求承載內參數區塊的長度,以位元組為單位。

如果 ParameterBlockLength 設定為零,則參數區塊不存在。

DataSetRangesOffset

指定IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES要求承載內數據集範圍的區塊開頭。 此區塊包含一或多個連續專案,這些專案會格式化為 DEVICE_DSM_RANGE 結構。 注意:數據集範圍區塊的位移必須對齊DEVICE_DSM_RANGE結構的位址界限。

如果設定為零,則數據集範圍的區塊不存在。

DataSetRangesLength

指定IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES要求承載內數據集範圍的區塊長度,以位元組為單位。 如果 DataSetRangesLength 設定為零,數據集範圍的區塊就不存在。

備註

如需 IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 要求承載格式的詳細資訊,請參閱 數據集管理概觀。 緩衝區的大小總計至少應該是 sizeof(DEVICE_DSM_INPUT) + ParameterBlockLength + DataSetRangesLength

數據集範圍的區塊是由 DataSetRangesOffsetDataSetRangesLength 成員所指定。 如果此區塊存在,則會包含連續 DEVICE_DSM_RANGE 結構。

規格需求

需求
標頭 ntddstor.h (包含 Ntddstor.h)

另請參閱

數據集管理概觀

DEVICE_DSM_ACTION描述

DEVICE_DSM_RANGE

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES