Udostępnij przez


Ogólne kody kontrolek we/wy magazynu

Urządzenia magazynujące różnego rodzaju często wymagają tych samych usług. Zamiast duplikować żądania IOCTL, które udostępniają te usługi dla każdego typu urządzenia, w tej sekcji zdefiniowano zestaw standardowych usług i towarzyszących kodów kontroli urządzeń, które są często wymagane przez urządzenia magazynujące. The I/O control codes defined here have the form IOCTL_STORAGE_XXX and they replace the IOCTL_DeviceType_XXX control codes, where DeviceType was DISK, TAPE, or CDROM. For example, IOCTL_STORAGE_RESERVE replaces IOCTL_DISK_RESERVE, IOCTL_TAPE_RESERVE, and IOCTL_CDROM_RESERVE. The IOCTL_STORAGE_XXX control codes have identical values for function code, transfer method, and required access as the previous disk, tape, and CD-ROM codes. Jedyną różnicą jest typ urządzenia.

Sterownik klasy magazynu inicjuje niektóre z tych żądań, ale zazwyczaj jest to aplikacja, która to robi. Sterowniki klasy magazynu muszą obsługiwać niektóre lub wszystkie te żądania w zależności od typu urządzenia magazynowego. Jeśli żaden sterownik klasy magazynu nie istnieje, aplikacja może wysłać żądanie bezpośrednio do sterownika portu.

IOCTL Description
IOCTL_STORAGE_BREAK_RESERVATION Przerywa rezerwację dysku.
IOCTL_STORAGE_CHECK_VERIFY Określa, czy nośnik zmienił się na urządzeniu nośnika wymiennego, które obiekt wywołujący otworzył w celu uzyskania dostępu do odczytu lub zapisu.
IOCTL_STORAGE_CHECK_VERIFY2 Determines whether the media has changed on a removable-media device - the caller has opened with FILE_READ_ATTRIBUTES.
IOCTL_STORAGE_DEVICE_POWER_CAP Określa maksymalny poziom zużycia energii operacyjnej dla urządzenia magazynu.
IOCTL_STORAGE_EJECT_MEDIA Powoduje, że urządzenie wysunie nośnik, jeśli urządzenie obsługuje możliwości wysuwania.
IOCTL_STORAGE_EJECTION_CONTROL Blokuje urządzenie, aby zapobiec usunięciu nośnika.
IOCTL_STORAGE_FIND_NEW_DEVICES Określa, czy inne urządzenie obsługiwane przez sterownik zostało połączone z magistralą we/wy, ponieważ system został uruchomiony, czy od czasu ostatniego przetworzenia tego żądania przez sterownik.
IOCTL_STORAGE_FIRMWARE_ACTIVATE Aktywuje obraz oprogramowania układowego na urządzeniu magazynowym.
IOCTL_STORAGE_FIRMWARE_DOWNLOAD Pobiera obraz oprogramowania układowego na urządzenie magazynujące, ale go nie aktywuje.
IOCTL_STORAGE_FIRMWARE_GET_INFO Wysyła zapytanie do urządzenia magazynu w celu uzyskania szczegółowych informacji o oprogramowaniu układowym.
IOCTL_STORAGE_GET_DEVICE_NUMBER Returns a STORAGE_DEVICE_NUMBER structure that contains the FILE_DEVICE_XXX type, device number, and, for a partitionable device, the partition number assigned to a device by the driver when the device is started.
IOCTL_STORAGE_GET_HOTPLUG_INFO Pobiera konfigurację hotplug określonego urządzenia.
IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES The IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES request is sent to the storage class driver to determine available and used mapping resources on a storage device.
IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER Wysyła zapytanie do ogólnego sterownika nadrzędnego USB dla numeru seryjnego urządzenia USB.
IOCTL_STORAGE_GET_MEDIA_TYPES Zwraca informacje o geometrii stacji dyskietek.
IOCTL_STORAGE_GET_MEDIA_TYPES_EX Zwraca informacje o typach multimediów obsługiwanych przez urządzenie.
IOCTL_STORAGE_GET_PHYSICAL_ELEMENT_STATUS The IOCTL_STORAGE_GET_PHYSICAL_ELEMENT_STATUS control code queries for and returns the physical element status from a device.
IOCTL_STORAGE_LOAD_MEDIA Powoduje załadowanie nośnika na urządzeniu, które obiekt wywołujący otworzył w celu uzyskania dostępu do odczytu lub zapisu.
IOCTL_STORAGE_LOAD_MEDIA2 Causes media to be loaded in a device that the caller has opened with FILE_READ_ATTRIBUTES.
IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES This IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES request is used to send a manage data set attributes request to a storage device.
IOCTL_STORAGE_MCN_CONTROL Temporarily enables or disables delivery of the custom PnP events GUID_IO_MEDIA_ARRIVAL and GUID_IO_MEDIA_REMOVAL on a removable-media device.
IOCTL_STORAGE_MEDIA_REMOVAL Blokuje urządzenie, aby zapobiec usunięciu nośnika.
IOCTL_STORAGE_PERSISTENT_RESERVE_IN Ogólny sterownik klasy magazynu (classpnp.sys) uwidacznia interfejs kontrolki we/wy (IOCTL) do wystawiania trwałych rezerw w poleceniach.
IOCTL_STORAGE_PERSISTENT_RESERVE_OUT Ogólny sterownik klasy magazynu (classpnp.sys) uwidacznia interfejs sterowania we/wy (IOCTL) do wystawiania trwałych poleceń rezerwowych.
IOCTL_STORAGE_PREDICT_FAILURE Sonduje przewidywanie awarii urządzenia.
IOCTL_STORAGE_PROTOCOL_COMMAND A driver can use IOCTL_STORAGE_PROTOCOL_COMMAND to pass vendor-specific commands to a storage device
IOCTL_STORAGE_QUERY_PROPERTY A driver can use IOCTL_STORAGE_QUERY_PROPERTY to return properties of a storage device or adapter.
IOCTL_STORAGE_READ_CAPACITY The IOCTL_STORAGE_READ_CAPACITY request returns the read capacity information for the target storage device.
IOCTL_STORAGE_REINITIALIZE_MEDIA A driver can use the IOCTL_STORAGE_REINITIALIZE_MEDIA control code to reinitialize/erase a device.
IOCTL_STORAGE_RELEASE Zwalnia urządzenie zarezerwowane wcześniej do wyłącznego użycia obiektu wywołującego w magistrali obsługującej wiele inicjatorów i koncepcję rezerwowania urządzenia, takiego jak magistrala SCSI.
IOCTL_STORAGE_RESERVE Oświadczenia urządzenia do wyłącznego użycia obiektu wywołującego w magistrali obsługującej wiele inicjatorów i koncepcję rezerwowania urządzenia, takiego jak magistrala SCSI.
IOCTL_STORAGE_RESET_BUS Resetuje magistralę we/wy i pośrednio każde urządzenie w magistrali.
IOCTL_STORAGE_RESET_DEVICE Jeśli to możliwe, resetuje urządzenie magazynujące inne niż SCSI bez wpływu na inne urządzenia w magistrali.
IOCTL_STORAGE_SET_HOTPLUG_INFO Ustawia konfigurację hotplug określonego urządzenia.
IOCTL_STORAGE_SET_PROPERTY Wskazuje, czy żądanie zmiany właściwości zakończyło się pomyślnie, czy powoduje błąd.
IOCTL_STORAGE_SET_TEMPERATURE_THRESHOLD A driver can use IOCTL_STORAGE_SET_TEMPERATURE_THRESHOLD to set the temperature threshold of a storage device (when supported by the hardware).