Condividi tramite


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 espelle i supporti in un dispositivo. Il chiamante è stato 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 rimovibile che può supportare questo IOCTL deve eseguire le operazioni seguenti:

  1. Mantenere un conteggio dei blocchi nell'estensione dell'oggetto dispositivo.
  2. Mantenere il numero di blocchi per ogni dispositivo fisico.
  3. 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.
  4. Impedire la rimozione del supporto a meno che tutti i conteggi dei blocchi non siano zero.

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

Il buffer in corrispondenza 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 Boolean.

Buffer di output

Nessuno.

Lunghezza del buffer di output

Nessuno.

Blocco di stato

Il campo informazioni è impostato su zero. Il campo Stato di è impostato su STATUS_SUCCESS oppure su STATUS_INVALID_DEVICE_REQUEST, STATUS_NO_MEDIA_IN_DEVICE o STATUS_DEVICE_NOT_CONNECTED.

Fabbisogno

Requisito Valore
intestazione ntddstor.h (include Ntddstor.h)

Vedere anche

IOCTL_STORAGE_EJECTION_CONTROL