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