Condividi tramite


Codici di controllo I/O di archiviazione generali

I dispositivi di archiviazione di tipi diversi spesso richiedono gli stessi servizi. Invece di duplicare le richieste IOCTL che forniscono questi servizi per ogni tipo di dispositivo, questa sezione definisce un set di servizi standard e codici di controllo dei dispositivi associati spesso richiesti dai dispositivi di archiviazione. I codici di controllo di I/O definiti qui hanno il formato IOCTL_STORAGE_XXX e sostituiscono i codici di controllo IOCTL_DeviceType_XXX , dove DeviceType era DISK, TAPE o CDROM. Ad esempio, IOCTL_STORAGE_RESERVE sostituisce IOCTL_DISK_RESERVE, IOCTL_TAPE_RESERVE e IOCTL_CDROM_RESERVE. I codici di controllo IOCTL_STORAGE_XXX hanno valori identici per il codice della funzione, il metodo di trasferimento e l'accesso necessario come i codici precedenti su disco, nastro e CD-ROM. L'unica differenza è il tipo di dispositivo.

Il driver della classe di archiviazione avvia alcune di queste richieste, ma in genere è un'applicazione che esegue questa operazione. I driver della classe di archiviazione devono gestire alcune o tutte queste richieste, a seconda del tipo di dispositivo di archiviazione. Se non esiste alcun driver della classe di archiviazione, l'applicazione potrebbe effettuare la richiesta direttamente al driver della porta.

IOCTL Descrizione
IOCTL_STORAGE_BREAK_RESERVATION Interrompe una prenotazione del disco.
IOCTL_STORAGE_CHECK_VERIFY Determina se il supporto è stato modificato in un dispositivo multimediale rimovibile aperto dal chiamante per l'accesso in lettura o scrittura.
IOCTL_STORAGE_CHECK_VERIFY2 Determina se il supporto è stato modificato in un dispositivo multimediale rimovibile, ovvero il chiamante è stato aperto con FILE_READ_ATTRIBUTES.
IOCTL_STORAGE_DEVICE_POWER_CAP Specifica un livello massimo di consumo di energia operativa per un dispositivo di archiviazione.
IOCTL_STORAGE_EJECT_MEDIA Fa sì che il dispositivo esegge il supporto se il dispositivo supporta le funzionalità di espulsione.
IOCTL_STORAGE_EJECTION_CONTROL Blocca il dispositivo per impedire la rimozione dei supporti.
IOCTL_STORAGE_FIND_NEW_DEVICES Determina se un altro dispositivo supportato dal driver è stato connesso al bus di I/O, dall'avvio del sistema o dall'ultima elaborazione della richiesta da parte del driver.
IOCTL_STORAGE_FIRMWARE_ACTIVATE Attiva un'immagine del firmware in un dispositivo di archiviazione.
IOCTL_STORAGE_FIRMWARE_DOWNLOAD Scarica un'immagine del firmware in un dispositivo di archiviazione, ma non la attiva.
IOCTL_STORAGE_FIRMWARE_GET_INFO Esegue una query su un dispositivo di archiviazione per ottenere informazioni dettagliate sul firmware.
IOCTL_STORAGE_GET_DEVICE_NUMBER Restituisce una struttura STORAGE_DEVICE_NUMBER che contiene il tipo di FILE_DEVICE_XXX, il numero di dispositivo e, per un dispositivo partizionabile, il numero di partizione assegnato a un dispositivo dal driver all'avvio del dispositivo.
IOCTL_STORAGE_GET_HOTPLUG_INFO Recupera la configurazione hotplug del dispositivo specificato.
IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES La richiesta di IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES viene inviata al driver della classe di archiviazione per determinare le risorse di mapping disponibili e usate in un dispositivo di archiviazione.
IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER Esegue una query sul driver padre generico USB per il numero di serie di un dispositivo USB.
IOCTL_STORAGE_GET_MEDIA_TYPES Restituisce informazioni sulla geometria delle unità floppy.
IOCTL_STORAGE_GET_MEDIA_TYPES_EX Restituisce informazioni sui tipi di supporti supportati da un dispositivo.
IOCTL_STORAGE_GET_PHYSICAL_ELEMENT_STATUS Il IOCTL_STORAGE_GET_PHYSICAL_ELEMENT_STATUS esegue query sul codice di controllo per e restituisce lo stato dell'elemento fisico da un dispositivo.
IOCTL_STORAGE_LOAD_MEDIA Fa sì che i supporti vengano caricati in un dispositivo aperto dal chiamante per l'accesso in lettura o scrittura.
IOCTL_STORAGE_LOAD_MEDIA2 Fa sì che i supporti vengano caricati in un dispositivo aperto dal chiamante con FILE_READ_ATTRIBUTES.
IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES Questa IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES richiesta viene usata per inviare una richiesta di gestione degli attributi del set di dati a un dispositivo di archiviazione.
IOCTL_STORAGE_MCN_CONTROL Abilita o disabilita temporaneamente il recapito degli eventi PnP personalizzati GUID_IO_MEDIA_ARRIVAL e GUID_IO_MEDIA_REMOVAL in un dispositivo multimediale rimovibile.
IOCTL_STORAGE_MEDIA_REMOVAL Blocca il dispositivo per impedire la rimozione dei supporti.
IOCTL_STORAGE_PERSISTENT_RESERVE_IN Il driver della classe di archiviazione generica (classpnp.sys) espone un'interfaccia I/O (IOCTL) per l'emissione di comandi Persistent Reserve In.
IOCTL_STORAGE_PERSISTENT_RESERVE_OUT Il driver della classe di archiviazione generica (classpnp.sys) espone un'interfaccia I/O (IOCTL) per l'emissione di comandi Persistent Reserve Out.
IOCTL_STORAGE_PREDICT_FAILURE Esegue il polling di una stima dell'errore del dispositivo.
IOCTL_STORAGE_PROTOCOL_COMMAND Un driver può usare IOCTL_STORAGE_PROTOCOL_COMMAND per passare comandi specifici del fornitore a un dispositivo di archiviazione
IOCTL_STORAGE_QUERY_PROPERTY Un driver può usare IOCTL_STORAGE_QUERY_PROPERTY per restituire le proprietà di un dispositivo di archiviazione o di un adattatore.
IOCTL_STORAGE_READ_CAPACITY La richiesta IOCTL_STORAGE_READ_CAPACITY restituisce le informazioni sulla capacità di lettura per il dispositivo di archiviazione di destinazione.
IOCTL_STORAGE_REINITIALIZE_MEDIA Un driver può usare il codice di controllo IOCTL_STORAGE_REINITIALIZE_MEDIA per reinizializzare o cancellare un dispositivo.
IOCTL_STORAGE_RELEASE Rilascia un dispositivo precedentemente riservato per l'uso esclusivo del chiamante su un bus che supporta più iniziatori e il concetto di prenotazione di un dispositivo, ad esempio un bus SCSI.
IOCTL_STORAGE_RESERVE Dichiara un dispositivo per l'uso esclusivo del chiamante su un bus che supporta più iniziatori e il concetto di prenotazione di un dispositivo, ad esempio un bus SCSI.
IOCTL_STORAGE_RESET_BUS Reimposta un bus di I/O e, indirettamente, ogni dispositivo sul bus.
IOCTL_STORAGE_RESET_DEVICE Se possibile, reimposta un dispositivo di archiviazione non SCSI senza influire su altri dispositivi sul bus.
IOCTL_STORAGE_SET_HOTPLUG_INFO Imposta la configurazione hotplug del dispositivo specificato.
IOCTL_STORAGE_SET_PROPERTY Indica se una richiesta di modifica di una proprietà ha esito positivo o causa un errore.
IOCTL_STORAGE_SET_TEMPERATURE_THRESHOLD Un driver può usare IOCTL_STORAGE_SET_TEMPERATURE_THRESHOLD per impostare la soglia di temperatura di un dispositivo di archiviazione (se supportato dall'hardware).