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 |