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). |