ChangerGetParameters, fonction (mcd.h)
ChangerGetParameters gère les aspects spécifiques de l’appareil d’un IRP de contrôle d’appareil avec le code IOCTL IOCTL_CHANGER_GET_PARAMETERS.
Syntaxe
NTSTATUS ChangerGetParameters(
[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
ChangeGetParameters retourne la valeur STATUS_XXX retournée par le pilote de port système ou l’une des valeurs suivantes :
STATUS_SUCCESS
STATUS_INFO_LENGTH_MISMATCH
STATUS_INSUFFICIENT_RESOURCES
Remarques
Cette routine est obligatoire.
ChangeGetParameters retourne les paramètres d’un changeur, y compris le nombre et le type de ses éléments, ainsi que les fonctionnalités qu’il prend en charge.
Le pilote de classe change vérifie la longueur de la mémoire tampon de sortie dans l’emplacement de la pile d’E/ S avant d’appeler ChangerGetParameters. Si la longueur de la mémoire tampon de sortie est inférieure à sizeof(GET_CHANGER_PARAMETERS), le pilote de classe change retourne avec une valeur de STATUS_INFO_LENGTH_MISMATCH.
ChangeGetParameters récupère les données de paramètres de l’appareil en créant des SB avec des cdBs pour obtenir la page d’en-tête de paramètre SCSI, la page d’adresse de l’élément, la page de géométrie de transport et la page de fonctionnalités de l’appareil, ou l’équivalent non SCSI de ces données.
ChangeGetParameters remplit ensuite une structure GET_CHANGER_PARAMETERS dans Irp-AssociatedIrp.SystemBuffer> avant de revenir au pilote de classe change.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | mcd.h (inclure Mcd.h, Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |