ChangerMoveMedium, fonction (mcd.h)

ChangeMoveMedium gère les aspects spécifiques de l’appareil d’un IRP de contrôle d’appareil avec le code IOCTL IOCTL_CHANGER_MOVE_MEDIUM.

Syntaxe

NTSTATUS ChangerMoveMedium(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

Paramètres

[in] DeviceObject

Pointeur vers l’objet d’appareil qui représente le changement.

[in] Irp

Pointeur vers l’IRP.

Valeur de retour

ChangeMoveMedium retourne l’état retourné par le pilote de port système ou l’une des valeurs suivantes :

STATUS_SUCCESS

STATUS_DESTINATION_ELEMENT_FULL

STATUS_INVALID_ELEMENT_ADDRESS

STATUS_INVALID_DEVICE_REQUEST

STATUS_INVALID_PARAMETER

STATUS_INSUFFICIENT_RESOURCES

STATUS_SOURCE_ELEMENT_EMPTY

Remarques

Cette routine est requise.

ChangeMoveMedium déplace un morceau de média d’un élément à un autre.

Le pilote de classe change vérifie la longueur de la mémoire tampon d’entrée à l’emplacement de la pile d’E/S avant d’appeler ChangeMoveMedium. Irp-SystemBuffer>pointe vers une structure CHANGER_MOVE_MEDIUM qui indique l’élément de transport, la source, la destination et s’il faut retourner le support.

ChangeMoveMedium vérifie d’abord que les adresses d’élément de transport, de source et de destination sont valides, puis convertit les adresses d’élément de base zéro en adresses spécifiques à l’appareil. Il génère ensuite un SRB avec une base de données CDB pour déplacer l’élément multimédia et l’envoie au pilote de port système.

ChangeMoveMedium définit le champ Informations dans le bloc d’état d’E/S sur sizeof(CHANGER_MOVE_MEDIUM) avant de revenir au pilote de classe de changement.

Configuration requise

   
Plateforme cible Desktop (Expérience utilisateur)
En-tête mcd.h (include Mcd.h, Ntddchgr.h)
IRQL PASSIVE_LEVEL

Voir aussi

,

CHANGER_ELEMENT

CHANGER_MOVE_MEDIUM

ChangerExchangeMedium