Função ChangerMoveMedium (mcd.h)

ChangerMoveMedium manipula os aspectos específicos do dispositivo de um IRP de controle de dispositivo com o código IOCTL IOCTL_CHANGER_MOVE_MEDIUM.

Sintaxe

NTSTATUS ChangerMoveMedium(
  [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

ChangerMoveMedium retorna o status retornado pelo driver de porta do sistema ou um dos seguintes valores:

STATUS_SUCCESS

STATUS_DESTINATION_ELEMENT_FULL

STATUS_INVALID_ELEMENT_ADDRESS

STATUS_INVALID_DEVICE_REQUEST

STATUS_INVALID_PARAMETER

STATUS_INSUFFICIENT_RESOURCES

STATUS_SOURCE_ELEMENT_EMPTY

Comentários

Essa rotina é necessária.

ChangerMoveMedium move uma parte da mídia de um elemento para outro.

O driver de classe do alterador verifica o comprimento do buffer de entrada no local da pilha de E/S antes de chamar ChangerMoveMedium. Irp-SystemBuffer>aponta para uma estrutura CHANGER_MOVE_MEDIUM que indica o elemento de transporte, a origem, o destino e se o meio deve ser invertido.

ChangerMoveMedium primeiro verifica se os endereços de elemento de transporte, origem e destino são válidos e, em seguida, converte endereços de elemento baseados em zero em endereços específicos do dispositivo. Em seguida, ele cria um SRB com um CDB para mover a parte da mídia e a envia para o driver de porta do sistema.

ChangerMoveMedium define o campo Informações no bloco de status de E/S como sizeof(CHANGER_MOVE_MEDIUM) 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_MOVE_MEDIUM

ChangerExchangeMedium