IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES IOCTL(ntddstor.h)
이 IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 요청은 스토리지 디바이스에 데이터 세트 관리 요청을 보내는 데 사용됩니다.
주 코드
입력 버퍼
Irp-AssociatedIrp.SystemBuffer>의 버퍼에는 DEVICE_DSM_INPUT 구조체가 포함되어 있습니다. 이 구조체의 Action 멤버에 따라 입력 버퍼에는 매개 변수 블록과 데이터 집합 범위 블록이 추가로 포함될 수 있습니다. 가능한 모든 작업에 대한 설명 은 DEVICE_DSM_ACTION 설명을 참조하세요.
입력 버퍼 길이
IRP의 I/O 스택 위치에 있는 Parameters.DeviceIoControl.InputBufferLength는 버퍼의 크기(바이트)를 나타내며 최소 sizeof(DEVICE_DSM_INPUT)여야 합니다.
출력 버퍼
DEVICE_DSM_INPUT Action 멤버에 설정된 값에 따라 요청은 Irp-AssociatedIrp.SystemBuffer>의 버퍼에 있는 데이터를 반환할 수 있습니다. DSM 작업이 output 및 Parameters.DeviceIoControl.OutputBufferLength> 0을 반환하는 경우 시스템 버퍼에는 유효한 DEVICE_DSM_OUTPUT 데이터가 포함됩니다. 작업에 따라 출력 버퍼에 출력 블록이 추가로 포함될 수 있습니다.
출력 버퍼 길이
출력 버퍼의 길이(바이트)입니다(있는 경우). 출력이 반환되면 출력 버퍼는 sizeof(DEVICE_DSM_OUTPUT) 이상이어야 합니다.
상태 블록
상태 필드는 STATUS_SUCCESS 설정하거나 STATUS_INVALID_DEVICE_REQUEST, STATUS_BUFFER_TOO_SMALL, STATUS_BUFFER_OVERFLOW 또는 기타 오류 상태 설정할 수 있습니다.
설명
스토리지 드라이버 스택의 메모리 풀 요구 사항으로 인해 이 IOCTL을 포함하는 IRP의 완료는 IRQL < DISPATCH_LEVEL 있어야 합니다.
자세한 내용은 데이터 세트 관리 개요 를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | ntddstor.h(Ntddstor.h 포함) |
IRQL | IRQL < DISPATCH_LEVEL(주의 섹션 참조) |