IOCTL_CDROM_GET_PERFORMANCE IOCTL (ntddcdrm.h)
Récupère les vitesses prises en charge à partir de l’appareil. La IOCTL_CDROM_GET_PERFORMANCE demande de contrôle d’E/S est un wrapper sur la commande MMC GET PERFORMANCE.
Pour effectuer cette opération, appelez la fonction DeviceIoControl avec IOCTL_CDROM_GET_PERFORMANCE comme paramètre dwIoControlCode .
Code principal
Mémoire tampon d'entrée
CDROM_PERFORMANCE_REQUEST demande des données de performances. CDROM_WRITE_SPEED_REQUEST demande un descripteur de vitesse d’écriture.
Longueur de la mémoire tampon d’entrée
Longueur d’un CDROM_PERFORMANCE_REQUEST.
Mémoire tampon de sortie
Pour le type de requête CdromWriteSpeedRequest, cet IOCTL retourne la structure CDROM_PERFORMANCE_HEADER suivie d’un certain nombre de descripteurs CDROM_WRITE_SPEED_DESCRIPTOR.
Pour le type de requête CdromPerformanceRequest, cet IOCTL retourne la structure CDROM_PERFORMANCE_HEADER suivie d’un descripteur facultatif. Le descripteur qui suit cet en-tête dépend de la valeur dans le champ Sauf de la structure CDROM_PERFORMANCE_HEADER . Si Except a la valeur false, CDROM_NOMINAL_PERFORMANCE_DESCRIPTOR est utilisé ; sinon, CDROM_EXCEPTION_PERFORMANCE_DESCRIPTOR est utilisé.
Longueur de la mémoire tampon de sortie
Longueur d’un CDROM_PERFORMANCE_HEADER.
Bloc d’état
Le champ Informations est défini sur le nombre d’octets retournés.
En raison de status propagation de code à partir d’autres API, le champ État peut être défini sur (mais n’est pas limité à) les éléments suivants :
STATUS_BUFFER_TOO_SMALL
La longueur de la mémoire tampon de sortie est inférieure à celle requise.
STATUS_INFO_LENGTH_MISMATCH
La longueur de la mémoire tampon d’entrée est inférieure à celle requise.
STATUS_INVALID_DEVICE_REQUEST
L’appareil ne prend pas en charge cette demande.
STATUS_INVALID_PARAMETER
L’en-tête CDROM_PERFORMANCE_REQUEST ne contient pas une combinaison valide de paramètres spécifiés par des énumérations.
STATUS_SUCCESS
La demande s’est terminée avec succès.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntddcdrm.h (include Winioctl.h) |