Função ChangerGetElementStatus (mcd.h)
ChangerGetElementStatus manipula os aspectos específicos do dispositivo de um IRP de controle de dispositivo com o código IOCTL IOCTL_CHANGER_GET_ELEMENT_STATUS.
Sintaxe
NTSTATUS ChangerGetElementStatus(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIRP Irp
);
Parâmetros
[in] DeviceObject
Ponteiro para o objeto do dispositivo que representa o alterador.
[in] Irp
Ponteiro para o IRP.
Valor de retorno
ChangerGetElementStatus retorna o status retornado pelo driver de porta do sistema ou um dos seguintes valores:
STATUS_SUCCESS
STATUS_INFO_LENGTH_MISMATCH
STATUS_INSUFFICIENT_RESOURCES
STATUS_INVALID_DEVICE_REQUEST
STATUS_INVALID_ELEMENT_ADDRESS
Se VolumeTagInfo estiver definido para um alterador que não dá suporte a informações de marca de volume, ChangerGetElementStatus retornará STATUS_INVALID_PARAMETER.
Observações
Essa rotina é necessária.
ChangerGetElementStatus retorna o status e, opcionalmente, as informações de marca de volume para todos os elementos em um alterador ou o status de um número específico de elementos de um tipo específico.
O driver de classe do alterador verifica os comprimentos do buffer de entrada e saída no local da pilha de E/S antes de chamar ChangerGetElementStatus.
irp –> SystemBuffer aponta para uma estrutura de CHANGER_READ_ELEMENT_STATUS como um parâmetro de entrada que indica os elementos para os quais relatar o status e se deve relatar informações de marca de volume.
ChangerGetElementStatus primeiro cria um SRB com um CDB para ler o comando de status do elemento e envia-o para o driver de porta do sistema para recuperar o status dos elementos do alterador. Para a maioria dos tipos de elemento, ChangerGetElementStatus preenche uma estrutura de CHANGER_ELEMENT_STATUS em irp -> AssociatedIrp.SystemBuffer para cada elemento para o qual relata o status. No entanto, 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 deverá relatar os dados de status do elemento em uma estrutura do tipo CHANGER_ELEMENT_STATUS_EX em vez de usar CHANGER_ELEMENT_STATUS. ChangerGetElementStatus deve indicar que as informações do produto estão presentes definindo ELEMENT_STATUS_PRODUCT_DATA no membro sinalizadores da estrutura.
ChangerGetElementStatus define o campo Informações no bloco de status de E/S para o número de bytes retornados antes de retornar ao driver de classe do changer.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | mcd.h (include Mcd.h, Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |