Allgemeine Speicher-E/A-Steuerungscodes
Speichergeräte unterschiedlicher Art benötigen häufig die gleichen Dienste. Anstatt die IOCTL-Anforderungen zu duplizieren, die diese Dienste für jeden Gerätetyp bereitstellen, definiert dieser Abschnitt eine Reihe von Standarddiensten und begleitenden Gerätesteuerungscodes, die häufig von Speichergeräten benötigt werden. Die hier definierten E/A-Steuercodes haben die Form IOCTL_STORAGE_XXX und ersetzen die IOCTL_DeviceType_XXX Steuercodes, wobei DeviceType DISK, TAPE oder CDROM war. Beispielsweise ersetzt IOCTL_STORAGE_RESERVEIOCTL_DISK_RESERVE, IOCTL_TAPE_RESERVE und IOCTL_CDROM_RESERVE. Die IOCTL_STORAGE_XXX-Steuercodes verfügen über identische Werte für Funktionscode, Übertragungsmethode und erforderlichen Zugriff wie die vorherigen Datenträger-, Band- und CD-ROM-Codes. Der einzige Unterschied ist der Gerätetyp.
Der Speicherklassentreiber initiiert einige dieser Anforderungen, aber normalerweise ist es eine Anwendung, die dies tut. Speicherklassentreiber müssen je nach Typ des Speichergeräts einige oder alle dieser Anforderungen verarbeiten. Wenn kein Speicherklassentreiber vorhanden ist, sendet die Anwendung die Anforderung möglicherweise direkt an den Porttreiber.
IOCTL | BESCHREIBUNG |
---|---|
IOCTL_STORAGE_BREAK_RESERVATION | Unterbricht eine Datenträgerreservierung. |
IOCTL_STORAGE_CHECK_VERIFY | Bestimmt, ob die Medien auf einem Wechselmediengerät geändert wurden, das der Aufrufer für Lese- oder Schreibzugriff geöffnet hat. |
IOCTL_STORAGE_CHECK_VERIFY2 | Bestimmt, ob sich die Medien auf einem Wechselmediengerät geändert haben– der Aufrufer hat mit FILE_READ_ATTRIBUTES geöffnet. |
IOCTL_STORAGE_DEVICE_POWER_CAP | Gibt einen maximalen Betriebsenergieverbrauch für ein Speichergerät an. |
IOCTL_STORAGE_EJECT_MEDIA | Bewirkt, dass das Gerät die Medien ausgeworfen, wenn das Gerät Auswurffunktionen unterstützt. |
IOCTL_STORAGE_EJECTION_CONTROL | Sperrt das Gerät, um das Entfernen der Medien zu verhindern. |
IOCTL_STORAGE_FIND_NEW_DEVICES | Bestimmt, ob ein anderes Gerät, das vom Treiber unterstützt wird, mit dem E/A-Bus verbunden wurde, entweder seit dem Start des Systems oder seit der letzte Verarbeitung dieser Anforderung durch den Treiber. |
IOCTL_STORAGE_FIRMWARE_ACTIVATE | Aktiviert ein Firmwareimage auf einem Speichergerät. |
IOCTL_STORAGE_FIRMWARE_DOWNLOAD | Lädt ein Firmwareimage auf ein Speichergerät herunter, aktiviert es jedoch nicht. |
IOCTL_STORAGE_FIRMWARE_GET_INFO | Fragt ein Speichergerät nach detaillierten Firmwareinformationen ab. |
IOCTL_STORAGE_GET_DEVICE_NUMBER | Gibt eine STORAGE_DEVICE_NUMBER Struktur zurück, die den FILE_DEVICE_XXX Typ, die Gerätenummer und bei einem partitionierbaren Gerät die Partitionsnummer enthält, die einem Gerät vom Treiber beim Starten des Geräts zugewiesen wurde. |
IOCTL_STORAGE_GET_HOTPLUG_INFO | Ruft die Hotplug-Konfiguration des angegebenen Geräts ab. |
IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES | Die IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES-Anforderung wird an den Speicherklassentreiber gesendet, um verfügbare und verwendete Zuordnungsressourcen auf einem Speichergerät zu ermitteln. |
IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER | Fragt den generischen übergeordneten USB-Treiber nach der Seriennummer eines USB-Geräts ab. |
IOCTL_STORAGE_GET_MEDIA_TYPES | Gibt Informationen zur Geometrie von Diskettenlaufwerken zurück. |
IOCTL_STORAGE_GET_MEDIA_TYPES_EX | Gibt Informationen zu den Medientypen zurück, die von einem Gerät unterstützt werden. |
IOCTL_STORAGE_GET_PHYSICAL_ELEMENT_STATUS | Der IOCTL_STORAGE_GET_PHYSICAL_ELEMENT_STATUS den Steuerungscode ab und gibt das physische Element status von einem Gerät zurück. |
IOCTL_STORAGE_LOAD_MEDIA | Bewirkt, dass Medien in ein Gerät geladen werden, das der Aufrufer für Lese- oder Schreibzugriff geöffnet hat. |
IOCTL_STORAGE_LOAD_MEDIA2 | Bewirkt, dass Medien in ein Gerät geladen werden, das der Aufrufer mit FILE_READ_ATTRIBUTES geöffnet hat. |
IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES | Diese IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES Anforderung wird verwendet, um eine Anforderung zum Verwalten von Datasetattributen an ein Speichergerät zu senden. |
IOCTL_STORAGE_MCN_CONTROL | Aktiviert oder deaktiviert vorübergehend die Übermittlung der benutzerdefinierten PnP-Ereignisse GUID_IO_MEDIA_ARRIVAL und GUID_IO_MEDIA_REMOVAL auf einem Wechselmediengerät. |
IOCTL_STORAGE_MEDIA_REMOVAL | Sperrt das Gerät, um das Entfernen der Medien zu verhindern. |
IOCTL_STORAGE_PERSISTENT_RESERVE_IN | Der generische Speicherklassentreiber (classpnp.sys) macht eine I/O-Steuerelementschnittstelle (IOCTL) verfügbar, um Befehle für die persistente Reserve in auszugeben. |
IOCTL_STORAGE_PERSISTENT_RESERVE_OUT | Der generische Speicherklassentreiber (classpnp.sys) macht eine I/O-Steuerelementschnittstelle (IOCTL) verfügbar, um Befehle für persistente Reserve out auszugeben. |
IOCTL_STORAGE_PREDICT_FAILURE | Ruft eine Vorhersage von Gerätefehlern ab. |
IOCTL_STORAGE_PROTOCOL_COMMAND | Ein Treiber kann IOCTL_STORAGE_PROTOCOL_COMMAND verwenden, um anbieterspezifische Befehle an ein Speichergerät zu übergeben. |
IOCTL_STORAGE_QUERY_PROPERTY | Ein Treiber kann IOCTL_STORAGE_QUERY_PROPERTY verwenden, um Eigenschaften eines Speichergeräts oder Adapters zurückzugeben. |
IOCTL_STORAGE_READ_CAPACITY | Die IOCTL_STORAGE_READ_CAPACITY-Anforderung gibt die Informationen zur Lesekapazität für das Zielspeichergerät zurück. |
IOCTL_STORAGE_REINITIALIZE_MEDIA | Ein Treiber kann den IOCTL_STORAGE_REINITIALIZE_MEDIA Steuercode verwenden, um ein Gerät neu zu initialisieren/zu löschen. |
IOCTL_STORAGE_RELEASE | Gibt ein Gerät frei, das zuvor für die ausschließliche Verwendung des Aufrufers in einem Bus reserviert war, der mehrere Initiatoren und das Konzept der Reservierung eines Geräts unterstützt, z. B. einen SCSI-Bus. |
IOCTL_STORAGE_RESERVE | Ruft ein Gerät zur ausschließlichen Verwendung des Aufrufers in einem Bus an, der mehrere Initiatoren unterstützt, und das Konzept der Reservierung eines Geräts, z. B. einen SCSI-Bus. |
IOCTL_STORAGE_RESET_BUS | Setzt einen E/A-Bus und indirekt jedes Gerät im Bus zurück. |
IOCTL_STORAGE_RESET_DEVICE | Setzt nach Möglichkeit ein Nicht-SCSI-Speichergerät zurück, ohne dass sich dies auf andere Geräte im Bus auswirkt. |
IOCTL_STORAGE_SET_HOTPLUG_INFO | Legt die Hotplug-Konfiguration des angegebenen Geräts fest. |
IOCTL_STORAGE_SET_PROPERTY | Gibt an, ob eine Anforderung zum Ändern einer Eigenschaft erfolgreich ist oder einen Fehler verursacht. |
IOCTL_STORAGE_SET_TEMPERATURE_THRESHOLD | Ein Treiber kann IOCTL_STORAGE_SET_TEMPERATURE_THRESHOLD verwenden, um den Temperaturschwellenwert eines Speichergeräts festzulegen (sofern es von der Hardware unterstützt wird). |