IOCTL_STORAGE_MEDIA_REMOVAL IOCTL (ntddstor.h)
Sperrt das Gerät, um das Entfernen der Medien zu verhindern. Wenn der Treiber verhindern kann, dass die Medien entfernt werden, während das Laufwerk verwendet wird, deaktiviert oder aktiviert er den Mechanismus, der Medien auf einem Gerät ausgibt. Der Aufrufer wurde für Lese- oder Schreibzugriff geöffnet.
Im Gegensatz zu IOCTL_STORAGE_EJECTION_CONTROL, bei dem der Fahrer Anforderungen vom Aufrufer nachverfolgt, ignoriert der Treiber IOCTL_STORAGE_MEDIA_REMOVAL Entsperrungsanforderungen nur, wenn seine Sperranzahl bereits null ist, sodass jeder Aufrufer das Laufwerk entsperren kann.
Ein Treiber für ein solches Wechselmediengerät, das diese IOCTL unterstützen kann, muss folgendes tun:
- Behalten Sie eine Sperranzahl in der Geräteobjekterweiterung bei.
- Behalten Sie die Sperranzahl pro physischem Gerät bei.
- Wenn bei Aufruf mit dieser IOCTL das Flag zum Verhindern des Entfernens der Medien festgelegt ist, erhöhen Sie die Anzahl; Wenn das Flag eindeutig ist, verringern Sie die Anzahl.
- Verhindern Sie das Entfernen der Medien, 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.
Länge des Eingabepuffers
Die Länge eines booleschen Werts.
Ausgabepuffer
Keine.
Länge des Ausgabepuffers
Keine.
Statusblock
Das Feld Information ist auf 0 (null) festgelegt. Das Feld Status ist 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 (einschließen von Ntddstor.h) |