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 de dispositivo que representa o alterador.

[in] Irp

Ponteiro para o IRP.

Retornar valor

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.

Comentários

Essa rotina é necessária.

ChangerGetElementStatus retorna o status e, opcionalmente, 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 CHANGER_READ_ELEMENT_STATUS como um parâmetro de entrada que indica os elementos para os quais relatar status e se devem relatar informações de marca de volume.

ChangerGetElementStatus primeiro cria um SRB com um CDB para ler o elemento status comando e o envia 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 CHANGER_ELEMENT_STATUS em Irp-AssociatedIrp.SystemBuffer > para cada elemento para o qual relata 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 o elemento status dados 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 Flags da estrutura.

ChangerGetElementStatus define o campo Informações no bloco status de E/S como o número de bytes retornados antes de retornar ao driver de classe do alterador.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho mcd.h (include Mcd.h, Ntddchgr.h)
IRQL PASSIVE_LEVEL

Confira também

CHANGER_ELEMENT

CHANGER_ELEMENT_LIST

CHANGER_ELEMENT_STATUS

CHANGER_ELEMENT_STATUS_EX

CHANGER_READ_ELEMENT STATUS

ChangerGetStatus

ChangerInitializeElementStatus

ChangerQueryVolumeTags

IOCTL_CHANGER_GET_ELEMENT_STATUS