Compartilhar via


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

[in] Irp

Ponteiro para o IRP.

Valor de retorno

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

Observações

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 de 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 converte endereços de elementos 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 envia-a para o driver de porta do sistema.

ChangerMoveMedium define o campo de Informações no bloco de status de E/S para tamanhos de(CHANGER_MOVE_MEDIUM) antes de retornar ao driver de classe do alterador.

Requisitos

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

Consulte também

,

CHANGER_ELEMENT

CHANGER_MOVE_MEDIUM

ChangerExchangeMedium