ChangerSetPosition, fonction (mcd.h)
ChangerSetPosition gère les aspects spécifiques à l’appareil d’un IRP de contrôle d’appareil avec le code IOCTL IOCTL_CHANGER_SET_POSITION.
Syntaxe
NTSTATUS ChangerSetPosition(
[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 retournée
Si le changeur prend en charge la définition de la position de l’élément de transport, ChangerSetPosition retourne la status retournée par le pilote de port système, ou l’une des valeurs suivantes :
STATUS_SUCCESS
STATUS_INFO_LENGTH_MISMATCH
STATUS_INVALID_PARAMETER
STATUS_INSUFFICIENT_RESOURCES
Si le changeur ne prend pas en charge la définition de la position de l’élément de transport, ChangerSetPosition retourne STATUS_INVALID_DEVICE_REQUEST.
Remarques
Cette routine est obligatoire.
ChangerSetPosition définit le mécanisme de transport robotique du changeur sur la destination spécifiée, généralement pour optimiser le déplacement ou l’échange de média en positionnant d’abord le transport.
L’indicateur CHANGER_POSITION_TO_ELEMENT dans Features0 de GET_CHANGER_PARAMETERS indique si le changeur prend en charge cette fonctionnalité.
Le pilote de classe de changeur vérifie la longueur de la mémoire tampon d’entrée dans l’emplacement de la pile d’E/S avant d’appeler ChangerSetPosition. Irp-SystemBuffer> pointe vers une structure CHANGER_SET_POSITION en tant que paramètre d’entrée qui indique l’élément de transport et la destination à définir.
ChangerSetPosition vérifie d’abord que les adresses d’éléments de transport et de destination sont valides et convertit les adresses d’éléments de base zéro en adresses spécifiques à l’appareil. Il génère ensuite un SRB avec une CDB pour positionner l’élément et l’envoie au pilote de port système.
ChangerSetPosition définit le champ Information dans le bloc d’E/S status sur sizeof(CHANGER_SET_POSITION) avant de revenir au pilote de classe changer.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | mcd.h (inclure Mcd.h, Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour