다음을 통해 공유


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