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:
- Behalten Sie die Sperranzahl in der Geräteobjekterweiterung bei.
- Behalten Sie die Sperranzahl pro physischem Gerät bei.
- 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.
- Verhindern Sie das Entfernen des Mediums, es sei denn, alle Sperranzahlen sind Null.
Hauptcode
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) |