Partager via


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

Voir aussi

GET_CHANGER_PARAMETERS

IOCTL_CHANGER_GET_PARAMETERS