IOCTL_CHANGER_GET_ELEMENT_STATUS IOCTL(ntddchgr.h)
모든 요소의 상태 또는 특정 형식의 지정된 수의 요소 상태를 반환합니다.
가능한 요소 형식에 대한 설명은 CHANGER_ELEMENT참조하세요.
주 코드
입력 버퍼
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 포함) |