次の方法で共有


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

こちらもご覧ください

データ セット管理の概要

DEVICE_DSM_ACTION の説明

DSM_DEVICE_INPUT

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES