Partager via


IOCTL_STORAGE_MEDIA_REMOVAL 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 que le lecteur est en cours d’utilisation, il désactive ou active le mécanisme qui éjecte le média sur un appareil : l’appelant a ouvert pour l’accès en lecture ou en écriture.

Contrairement à IOCTL_STORAGE_EJECTION_CONTROL, pour lequel le pilote effectue le suivi des requêtes par appelant, le pilote ignore IOCTL_STORAGE_MEDIA_REMOVAL demandes de déverrouillage uniquement si son nombre de verrous est déjà égal à zéro, ce qui permet à n’importe quel appelant de déverrouiller le lecteur.

Un pilote pour un tel périphérique multimédia amovible qui peut prendre en charge cette IOCTL doit effectuer les opérations suivantes :

  1. Conservez un nombre de verrous dans l’extension d’objet de l’appareil.
  2. Conservez le nombre de verrous par appareil physique.
  3. Lorsqu’il est appelé avec ce IOCTL, si l’indicateur pour empêcher la suppression du média est défini, incrémentez le nombre ; si l’indicateur est clair, décrémentez le nombre.
  4. Empêcher la suppression du média, sauf si tous les nombres de verrous sont nuls.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d’entrée

La mémoire tampon à Irp->AssociatedIrp.SystemBuffer contient une valeur booléenne, avec 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.

Exigences

Exigence Valeur
d’en-tête ntddstor.h (include Ntddstor.h)

Voir aussi

IOCTL_STORAGE_EJECTION_CONTROL