Freigeben über


IOCTL_STORAGE_MEDIA_REMOVAL IOCTL (ntddstor.h)

Sperrt das Gerät, um das Entfernen des Mediums zu verhindern. Wenn der Treiber verhindern kann, dass die Medien entfernt werden, während das Laufwerk verwendet wird, wird er deaktiviert oder aktiviert den Mechanismus, der Medien auf ein Gerät auswirft – der Aufrufer wurde für Lese- oder Schreibzugriff geöffnet.

Im Gegensatz zu IOCTL_STORAGE_EJECTION_CONTROL, für die der Treiber Anforderungen vom Anrufer nachverfolgt, ignoriert der Treiber IOCTL_STORAGE_MEDIA_REMOVAL Entsperrungsanforderungen nur, wenn seine Sperranzahl bereits null ist, wodurch jeder Aufrufer das Laufwerk entsperren kann.

Ein Treiber für ein solches Wechselmediengerät, das dieses IOCTL unterstützen kann, muss folgendes tun:

  1. Behalten Sie die Sperranzahl in der Geräteobjekterweiterung bei.
  2. Behalten Sie die Sperranzahl pro physischem Gerät bei.
  3. Wenn sie mit diesem IOCTL aufgerufen wird, wenn die Kennzeichnung zum Verhindern der Entfernung des Mediums festgelegt ist, erhöhen Sie die Anzahl; wenn das Kennzeichen gelöscht ist, erhöhen Sie die Anzahl.
  4. Verhindern Sie das Entfernen des Mediums, es sei denn, alle Sperranzahlen sind Null.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Der Puffer bei Irp->AssociatedIrp.SystemBuffer enthält einen booleschen Wert, wobei TRUE- angibt, dass der Treiber die Medien auf dem Laufwerk sperren soll.

Eingabepufferlänge

Die Länge eines Werts vom Typ Boolean.

Ausgabepuffer

Nichts.

Länge des Ausgabepuffers

Nichts.

Statusblock

Das Feld Information wird auf Null festgelegt. Das Feld Status wird auf STATUS_SUCCESS oder möglicherweise auf STATUS_INVALID_DEVICE_REQUEST, STATUS_NO_MEDIA_IN_DEVICE oder STATUS_DEVICE_NOT_CONNECTED festgelegt.

Anforderungen

Anforderung Wert
Header- ntddstor.h (include Ntddstor.h)

Siehe auch

IOCTL_STORAGE_EJECTION_CONTROL