IOCTL_STORAGE_MEDIA_REMOVAL IOCTL (ntddstor.h)
Blocca il dispositivo per impedire la rimozione dei supporti. Se il driver può impedire che il supporto venga rimosso mentre l'unità è in uso, disabilita o abilita il meccanismo che rimuove il supporto in un dispositivo, il chiamante ha aperto per l'accesso in lettura o scrittura.
A differenza di IOCTL_STORAGE_EJECTION_CONTROL, per cui il driver tiene traccia delle richieste da parte del chiamante, il driver ignora IOCTL_STORAGE_MEDIA_REMOVAL richieste di sblocco solo se il numero di blocchi è già zero, consentendo così a qualsiasi chiamante di sbloccare l'unità.
Un driver per un dispositivo multimediale rimovibile in grado di supportare questo IOCTL deve eseguire le operazioni seguenti:
- Mantenere un conteggio dei blocchi nell'estensione dell'oggetto dispositivo.
- Mantenere il numero di blocchi per dispositivo fisico.
- Quando viene chiamato con questo IOCTL, se il flag per impedire la rimozione del supporto è impostato, incrementare il conteggio; se il flag è chiaro, decrementare il conteggio.
- Impedisci la rimozione del supporto, a meno che tutti i conteggi dei blocchi non siano zero.
Codice principale
Buffer di input
Il buffer in Irp-AssociatedIrp.SystemBuffer> contiene un valore booleano, con TRUE che indica che il driver deve bloccare il supporto nell'unità.
Lunghezza del buffer di input
Lunghezza di un valore booleano.
Buffer di output
Nessuno.
Lunghezza del buffer di output
Nessuno.
Blocco dello stato
Il campo Informazioni è impostato su zero. Il campo Stato è impostato su STATUS_SUCCESS oppure su STATUS_INVALID_DEVICE_REQUEST, STATUS_NO_MEDIA_IN_DEVICE o STATUS_DEVICE_NOT_CONNECTED.
Requisiti
Requisito | Valore |
---|---|
Intestazione | ntddstor.h (include Ntddstor.h) |