DEVICE_DSM_DEFINITION 構造体 (ntddstor.h)
DEVICE_DSM_DEFINITION構造体には、データ・セット管理 (DSM) アクションのプロパティーが含まれています。
構文
typedef struct _DEVICE_DSM_DEFINITION {
DEVICE_DSM_ACTION Action;
BOOLEAN SingleRange;
ULONG ParameterBlockAlignment;
ULONG ParameterBlockLength;
BOOLEAN HasOutput;
ULONG OutputBlockAlignment;
ULONG OutputBlockLength;
} DEVICE_DSM_DEFINITION, *PDEVICE_DSM_DEFINITION;
メンバー
Action
DeviceDsmDefinition_実行 するアクションを指定するXxx 値。 アクション値とその関連する定義値の一覧については、「 DEVICE_DSM_ACTIONの説明」 を参照してください。 これらの値は ntddstor.h で定義されます。
SingleRange
DSM アクションが一度に 1 つの範囲のみをサポートするかどうかを指定します。 DSM アクションをデータ・セット範囲全体に対して実行する場合は、フラグDEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGEが設定されます。
ParameterBlockAlignment
IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES要求のペイロード内のパラメーター ブロックの配置。
ParameterBlockLength
IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES要求のペイロード内のパラメーター ブロックの長さ (バイト単位)。 パラメーター ブロックは、 DSM_DEVICE_INPUT 構造体に従います。 ParameterBlockLength が 0 に設定されている場合、パラメーター ブロックは存在しません。
HasOutput
Action メンバーで指定されたアクションが出力を返す場合は TRUE を設定します。それ以外の場合は、これを FALSE に設定します。
OutputBlockAlignment
IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES要求のペイロード内の出力ブロックの配置。
OutputBlockLength
IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES要求のペイロード内の出力ブロックの長さをバイト単位で指定します。 出力ブロックは、DSM_DEVICE_OUTPUT構造に従います。 OutputBlockLength が 0 に設定されている場合、出力ブロックは存在しません。
注釈
各 DSM アクションには、それに関連付けられた定義があります。 たとえば、 DeviceDsmAction_Trim は関連付けられた定義として DeviceDsmDefinition_Trim を持っています。 DSM 送信側またはハンドラーは、適切な定義を使用してDEVICE_DSM_DEFINITION構造体を割り当てて初期化します。 次に、この構造体へのポインターを、それを必要とするすべての DSM 関連関数に渡します。
DSM の処理方法については、「 データ・セット管理の概要 」を参照してください。
要件
要件 | 値 |
---|---|
Header | ntddstor.h |