다음을 통해 공유


DEVICE_MANAGE_DATA_SET_ATTRIBUTES 구조체(winioctl.h)

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 제어 코드의 입력 구조입니다.

구문

typedef struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES {
  DWORD             Size;
  DEVICE_DSM_ACTION Action;
  DWORD             Flags;
  DWORD             ParameterBlockOffset;
  DWORD             ParameterBlockLength;
  DWORD             DataSetRangesOffset;
  DWORD             DataSetRangesLength;
} DEVICE_MANAGE_DATA_SET_ATTRIBUTES, *PDEVICE_MANAGE_DATA_SET_ATTRIBUTES, DEVICE_DSM_INPUT, *PDEVICE_DSM_INPUT;

멤버

Size

이 데이터 구조의 크기입니다. sizeof(DEVICE_MANAGE_DATA_SET_ATTRIBUTES)로 설정해야 합니다.

Action

DEVICE_DATA_MANAGEMENT_SET_ACTION 형식의 유효한 값입니다.

의미
DeviceDsmAction_Trim
1
트리밍 동작이 수행됩니다. 이 값은 사용자 모드 애플리케이션에서 지원되지 않습니다.
DeviceDsmAction_Notification
2 | DeviceDsmActionFlag_NonDestructive (0x80000002)
알림 작업이 수행됩니다. 추가 매개 변수는 DEVICE_DSM_NOTIFICATION_PARAMETERS 구조에 있습니다. DeviceDsmActionFlag_NonDestructive(0x80000000)는 드라이버 스택에 이 작업이 파괴적이지 않음을 나타내는 비트 플래그입니다.
DeviceDsmAction_OffloadRead
3 | DeviceDsmActionFlag_NonDestructive (0x80000003)
오프로드 읽기 작업이 수행됩니다. 추가 매개 변수는 DEVICE_DSM_OFFLOAD_READ_PARAMETERS 구조에 있습니다. DeviceDsmActionFlag_NonDestructive(0x80000000)는 드라이버 스택에 이 작업이 파괴적이지 않음을 나타내는 비트 플래그입니다.

Windows 7 및 Windows Server 2008 R2: 이 값은 Windows 8 및 Windows Server 2012 이전에는 지원되지 않습니다.

DeviceDsmAction_OffloadWrite
4
오프로드 쓰기 작업이 수행됩니다. 추가 매개 변수는 DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS 구조에 있습니다.

Windows 7 및 Windows Server 2008 R2: 이 값은 Windows 8 및 Windows Server 2012 이전에는 지원되지 않습니다.

DeviceDsmAction_Allocation
5 | DeviceDsmActionFlag_NonDestructive (0x80000005)
지정된 첫 번째 데이터 집합 범위에 대한 할당 비트맵이 검색됩니다. DeviceDsmActionFlag_NonDestructive(0x80000000)는 드라이버 스택에 이 작업이 파괴적이지 않음을 나타내는 비트 플래그입니다.

Windows 7 및 Windows Server 2008 R2: 이 값은 Windows 8 및 Windows Server 2012 이전에는 지원되지 않습니다.

DeviceDsmAction_Repair
6 | DeviceDsmActionFlag_NonDestructive (0x80000006)
복구 작업이 수행됩니다. 추가 매개 변수는 DEVICE_DATA_SET_REPAIR_PARAMETERS 구조에 있습니다. DeviceDsmActionFlag_NonDestructive(0x80000000)는 드라이버 스택에 이 작업이 파괴적이지 않음을 나타내는 비트 플래그입니다.

Windows 7 및 Windows Server 2008 R2: 이 값은 Windows 8 및 Windows Server 2012 이전에는 지원되지 않습니다.

DeviceDsmAction_Scrub
7 | DeviceDsmActionFlag_NonDestructive (0x80000007)
스크럽 동작이 수행됩니다. DeviceDsmActionFlag_NonDestructive(0x80000000)는 드라이버 스택에 이 작업이 파괴적이지 않음을 나타내는 비트 플래그입니다.

Windows 7 및 Windows Server 2008 R2: 이 값은 Windows 8 및 Windows Server 2012 이전에는 지원되지 않습니다.

DeviceDsmAction_Resiliency
8 | DeviceDsmActionFlag_NonDestructive (0x80000008)
복원력 작업이 수행됩니다. DeviceDsmActionFlag_NonDestructive(0x80000000)는 드라이버 스택에 이 작업이 파괴적이지 않음을 나타내는 비트 플래그입니다.

Windows 7 및 Windows Server 2008 R2: 이 값은 Windows 8 및 Windows Server 2012 이전에는 지원되지 않습니다.

Flags

작업에 대한 플래그입니다.

의미
DEVICE_DSM_FLAG_TRIM_NOT_FS_ALLOCATED
0x80000000
설정된 경우 설명된 범위는 파일 시스템에 의해 할당되지 않습니다. 이 플래그는 DeviceDsmAction_Trim 작업에만 적용됩니다.
DEVICE_DSM_FLAG_RESILIENCY_START_RESYNC
0x10000000
스토리지 디바이스에서 다시 동기화 작업을 시작합니다. 이 플래그는 DeviceDsmAction_Resiliency 작업에만 적용됩니다.
DEVICE_DSM_FLAG_RESILIENCY_START_LOAD_BALANCING
0x20000000
스토리지 디바이스에서 부하 분산 작업을 시작합니다. 이 플래그는 DeviceDsmAction_Resiliency 작업에만 적용됩니다.

ParameterBlockOffset

이 구조체와 인접한 버퍼에 저장된 매개 변수 블록의 시작 부분까지의 바이트 오프셋입니다. 해당 구조체 맞춤에 맞춰야 합니다. 값이 0이면 매개 변수 블록이 없으며 ParameterBlockLength 멤버도 0이어야 합니다.

ParameterBlockLength

매개 변수 블록의 길이(바이트)입니다. 값이 0이면 매개 변수 블록이 없으며 ParameterBlockOffset 멤버도 0이어야 합니다.

DataSetRangesOffset

이 구조체와 인접한 버퍼에 저장된 DEVICE_DATA_SET_RANGE 구조체 배열로 구성된 데이터 집합 범위 블록의 시작 부분에 대한 바이트 오프셋입니다. DEVICE_DATA_SET_RANGE 구조체 맞춤에 맞춰야 합니다. 값이 0이면 데이터 집합 범위 블록이 없으며 DataSetRangesLength 멤버도 0이어야 합니다.

DataSetRangesLength

데이터 집합 범위 블록의 길이(바이트)입니다. 값이 0이면 데이터 집합 범위 블록이 없으며 DataSetRangesOffset 멤버도 0이어야 합니다.

설명

이 구조를 포함하는 버퍼의 총 길이는 적어도 (sizeof(DEVICE_MANAGE_DATA_SET_ATTRIBUTES) + ParameterBlockLength + DataSetRangesLength)이어야 합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 7
지원되는 최소 서버 Windows Server 2008 R2
머리글 winioctl.h(Windows.h 포함)

추가 정보

DEVICE_DATA_SET_RANGE

장치 관리 구조체

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES