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
実行するアクションを指定する Xxx値を DeviceDsmDefinition_します。 アクション値とそれに関連する定義値の一覧については、「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 の処理方法については、「データセット管理の概要」 を参照してください。
必要条件
要件 | 価値 |
---|---|
ヘッダー | ntddstor.h |