Partager via


ChangerMoveMedium, fonction (mcd.h)

ChangerMoveMedium 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 changeur.

[in] Irp

Pointeur vers l’IRP.

Valeur de retour

ChangerMoveMedium 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.

ChangerMoveMedium déplace un élément multimédia d’un élément à un autre.

Le pilote de classe de changement vérifie la longueur de la mémoire tampon d’entrée à l’emplacement de la pile d’E/S avant d’appeler ChangerMoveMedium. 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.

ChangerMoveMedium vérifie d’abord que les adresses des éléments de transport, 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 une 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.

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

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête mcd.h (include Mcd.h, Ntddchgr.h)
IRQL PASSIVE_LEVEL

Voir aussi

,

CHANGER_ELEMENT

CHANGER_MOVE_MEDIUM

ChangerExchangeMedium