IOCTL_CHANGER_GET_ELEMENT_STATUS IOCTL (ntddchgr.h)
Retorna a status de todos os elementos ou o status de um número especificado de elementos de um tipo específico.
Para obter uma descrição dos possíveis tipos de elemento, consulte CHANGER_ELEMENT.
Código principal
Buffer de entrada
O buffer em Irp-AssociatedIrp.SystemBuffer> contém os dados CHANGER_READ_ELEMENT_STATUS que indicam o tipo de elemento e o número de elementos para os quais retornar status.
Se o chamador definir o membro VolumeTagInfo de CHANGER_READ_ELEMENT_STATUS como TRUE, o elemento status retornado incluirá informações de marca de volume.
Comprimento do buffer de entrada
Parameters.DeviceIoControl.InputBufferLength no local da pilha de E/S indica o tamanho, em bytes, do buffer de parâmetros para entrada, que deve ser >= sizeof(CHANGER_READ_ELEMENT_STATUS).
Buffer de saída
O driver de miniclasse do alterador retorna o elemento changer status dados no buffer em Irp-AssociatedIrp.SystemBuffer>. Alguns elementos do tipo ChangerDrive retornam dados de informações do produto. Se o dispositivo fornecer informações sobre o produto, o driver de miniclasse relatará o elemento status dados em uma estrutura do tipo CHANGER_ELEMENT_STATUS_EX. O driver de miniclasse define ELEMENT_STATUS_PRODUCT_DATA no membro Flags da estrutura para indicar que ele contém dados de informações do produto. Para elementos de todos os tipos que não sejam ChangerDrive, o driver relata o elemento status dados em uma estrutura do tipo CHANGER_ELEMENT_STATUS.
Comprimento do buffer de saída
Parameters.DeviceIoControl.OutputBufferLength indica o tamanho, em bytes, do buffer de parâmetros para saída. Para elementos do tipo ChangerDrive, esse valor deve ser >= NumberOfElements * sizeof(CHANGER_ELEMENT_STATUS_EX). Para elementos de todos os outros tipos, esse valor deve ser >= NumberOfElements * sizeof(CHANGER_ELEMENT_STATUS).
Bloco de status
O campo Informações é definido como o número de bytes retornados. O campo Status é definido como STATUS_SUCCESS ou possivelmente como STATUS_BUFFER_TOO_SMALL, STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES, STATUS_INVALID_ELEMENT_ADDRESS ou STATUS_INVALID_PARAMETER.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | ntddchgr.h (inclua Ntddchgr.h) |