다음을 통해 공유


IOCTL_CHANGER_GET_ELEMENT_STATUS IOCTL(ntddchgr.h)

모든 요소의 상태 반환하거나 특정 형식의 지정된 수의 요소 상태 반환합니다.

가능한 요소 형식에 대한 설명은 CHANGER_ELEMENT 참조하세요.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

Irp-AssociatedIrp.SystemBuffer>의 버퍼에는 요소 형식과 상태 반환할 요소 수를 나타내는 CHANGER_READ_ELEMENT_STATUS 데이터가 포함되어 있습니다.

호출자가 CHANGER_READ_ELEMENT_STATUS VolumeTagInfo 멤버를 TRUE로 설정하면 반환되는 요소 상태 볼륨 태그 정보가 포함됩니다.

입력 버퍼 길이

I/O 스택 위치의 Parameters.DeviceIoControl.InputBufferLength는 입력에 대한 매개 변수 버퍼의 크기(바이트)를 나타내며, 이는 = sizeof(CHANGER_READ_ELEMENT_STATUS)여야 >합니다.

출력 버퍼

체인저 미니클래스 드라이버는 Irp-AssociatedIrp.SystemBuffer>에서 버퍼의 데이터를 상태 체인저 요소를 반환합니다. ChangerDrive 형식의 일부 요소는 제품 정보 데이터를 반환합니다. 디바이스에서 제품 정보를 제공하는 경우 미니클래스 드라이버는 요소 상태 데이터를 CHANGER_ELEMENT_STATUS_EX 형식의 구조로 보고합니다. 미니클래스 드라이버는 구조체의 Flags 멤버에 ELEMENT_STATUS_PRODUCT_DATA 설정하여 제품 정보 데이터가 포함되어 있음을 나타냅니다. ChangerDrive 이외의 모든 형식의 요소에 대해 드라이버는 CHANGER_ELEMENT_STATUS 형식의 구조로 데이터를 상태 요소를 보고합니다.

출력 버퍼 길이

Parameters.DeviceIoControl.OutputBufferLength 는 출력에 대한 매개 변수 버퍼의 크기(바이트)를 나타냅니다. ChangerDrive 형식의 요소에 대해 이 값은 >= NumberOfElements * sizeof(CHANGER_ELEMENT_STATUS_EX)여야 합니다. 다른 모든 형식의 요소에 대해 이 값은 >= NumberOfElements * sizeof(CHANGER_ELEMENT_STATUS)여야 합니다.

상태 블록

정보 필드는 반환된 바이트 수로 설정됩니다. 상태 필드는 STATUS_SUCCESS 또는 STATUS_BUFFER_TOO_SMALL, STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES, STATUS_INVALID_ELEMENT_ADDRESS 또는 STATUS_INVALID_PARAMETER 설정됩니다.

요구 사항

요구 사항
헤더 ntddchgr.h(Ntddchgr.h 포함)

추가 정보

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS

CHANGER_ELEMENT_STATUS_EX

ChangerGetElementStatus