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 작업이 한 번에 하나의 범위만 지원하는지 여부를 지정합니다. 전체 데이터 집합 범위에서 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

참고 항목

데이터 세트 관리 개요

DEVICE_DSM_ACTION 설명

DSM_DEVICE_INPUT

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES