IOCTL_STORAGE_EJECTION_CONTROL IOCTL (ntddstor.h)
Verrouille l’appareil pour empêcher la suppression du média. Si le pilote peut empêcher la suppression du média pendant l’utilisation du lecteur, il désactive ou active le mécanisme qui éjecte le média, verrouillant ainsi le lecteur. Un appelant doit ouvrir l’appareil avec FILE_READ_ATTRIBUTES pour envoyer cette demande.
Contrairement à IOCTL_STORAGE_MEDIA_REMOVAL, le pilote suit IOCTL_STORAGE_EJECTION_CONTROL demandes de l’appelant et ignore les demandes de déverrouillage pour lesquelles il n’a pas reçu de demande de verrouillage du même appelant, empêchant ainsi d’autres appelants de déverrouiller le lecteur.
Un pilote pour un périphérique multimédia amovible - peut prendre en charge ce IOCTL doit effectuer les opérations suivantes :
- Conservez un nombre de verrous, marqué par l’appelant, dans l’extension d’objet de l’appareil.
- Conservez le nombre de verrous par appareil physique.
- En cas d’appel avec ce IOCTL, si l’indicateur permettant d’empêcher la suppression du média est défini, incrémentez le nombre ; si l’indicateur est clair et que le pilote a déjà reçu une demande de verrouillage du même appelant, décrémentez le nombre.
- Empêchez la suppression du média, sauf si tous les nombres de verrous sont nuls.
Pour s’assurer que les verrous de suppression de média sont correctement libérés, le pilote de classe effectue le suivi des appelants qui verrouillent le média avec IOCTL_STORAGE_EJECTION_CONTROL. Si l’appelant se termine sans déverrouiller l’appareil, le pilote de classe déverrouille l’appareil.
Code principal
Mémoire tampon d'entrée
La mémoire tampon sur Irp-AssociatedIrp.SystemBuffer> contient une valeur booléenne, true indiquant que le pilote doit verrouiller le média dans le lecteur.
Longueur de la mémoire tampon d’entrée
Longueur d’un booléen.
Mémoire tampon de sortie
Aucun.
Longueur de la mémoire tampon de sortie
Aucun.
Bloc d’état
Le champ Informations est défini sur zéro. Le champ État est défini sur STATUS_SUCCESS, ou éventuellement sur STATUS_INVALID_DEVICE_REQUEST, STATUS_NO_MEDIA_IN_DEVICE ou STATUS_DEVICE_NOT_CONNECTED.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntddstor.h (inclure Ntddstor.h) |