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 l’accès en lecture ou en écriture.

Contrairement aux IOCTL_STORAGE_EJECTION_CONTROL, pour lesquelles le pilote effectue le suivi des demandes par l’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 de média amovible qui peut prendre en charge cet IOCTL doit effectuer les opérations suivantes :

  1. Conservez un nombre de verrous dans l’extension d’objet d’appareil.
  2. Conservez le nombre de verrous par appareil physique.
  3. 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, décrémentez le nombre.
  4. Empêchez 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 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)

Voir aussi

IOCTL_STORAGE_EJECTION_CONTROL