Compartilhar via


Códigos gerais de controle de E/S de armazenamento

Dispositivos de armazenamento de tipos diferentes geralmente exigem os mesmos serviços. Em vez de duplicar as solicitações IOCTL que fornecem esses serviços para cada tipo de dispositivo, esta seção define um conjunto de serviços padrão e códigos de controle de dispositivo que são frequentemente exigidos por dispositivos de armazenamento. 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. A única diferença é o tipo de dispositivo.

O driver de classe de armazenamento inicia algumas dessas solicitações, mas geralmente é um aplicativo que faz isso. Os drivers de classe de armazenamento devem lidar com algumas ou todas essas solicitações, dependendo do tipo de dispositivo de armazenamento. Quando nenhum driver de classe de armazenamento existe, o aplicativo pode fazer a solicitação diretamente para o driver de porta.

IOCTL Description
IOCTL_STORAGE_BREAK_RESERVATION Interrompe uma reserva de disco.
IOCTL_STORAGE_CHECK_VERIFY Determina se a mídia foi alterada em um dispositivo de mídia removível que o chamador abriu para acesso de leitura ou gravação.
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 Especifica um nível máximo de consumo de energia operacional para um dispositivo de armazenamento.
IOCTL_STORAGE_EJECT_MEDIA Faz com que o dispositivo ejete a mídia se o dispositivo der suporte a recursos de ejeção.
IOCTL_STORAGE_EJECTION_CONTROL Bloqueia o dispositivo para impedir a remoção da mídia.
IOCTL_STORAGE_FIND_NEW_DEVICES Determina se outro dispositivo compatível com o driver foi conectado ao barramento de E/S, desde que o sistema foi inicializado ou desde a última vez que o driver processou essa solicitação.
IOCTL_STORAGE_FIRMWARE_ACTIVATE Ativa uma imagem de firmware em um dispositivo de armazenamento.
IOCTL_STORAGE_FIRMWARE_DOWNLOAD Baixa uma imagem de firmware em um dispositivo de armazenamento, mas não a ativa.
IOCTL_STORAGE_FIRMWARE_GET_INFO Consulta um dispositivo de armazenamento para obter informações detalhadas de firmware.
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 Recupera a configuração de hotplug do dispositivo especificado.
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 Consulta o driver pai genérico USB para o número de série de um dispositivo USB.
IOCTL_STORAGE_GET_MEDIA_TYPES Retorna informações sobre a geometria de unidades disquetes.
IOCTL_STORAGE_GET_MEDIA_TYPES_EX Retorna informações sobre os tipos de mídia compatíveis com um dispositivo.
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 Faz com que a mídia seja carregada em um dispositivo que o chamador abriu para acesso de leitura ou gravação.
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 Bloqueia o dispositivo para impedir a remoção da mídia.
IOCTL_STORAGE_PERSISTENT_RESERVE_IN O driver de classe de armazenamento genérico (classpnp.sys) expõe uma interface ioctl (controle de E/S) para emitir comandos de Reserva Persistente em.
IOCTL_STORAGE_PERSISTENT_RESERVE_OUT O driver de classe de armazenamento genérico (classpnp.sys) expõe uma interface IOCTL (controle de E/S) para emitir comandos de Reserva Persistente.
IOCTL_STORAGE_PREDICT_FAILURE Sonda uma previsão de falha do dispositivo.
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 Libera um dispositivo previamente reservado para o uso exclusivo do chamador em um barramento que dá suporte a vários iniciadores e ao conceito de reservar um dispositivo, como um barramento SCSI.
IOCTL_STORAGE_RESERVE Declara um dispositivo para o uso exclusivo do chamador em um ônibus que dá suporte a vários iniciadores e ao conceito de reservar um dispositivo, como um barramento SCSI.
IOCTL_STORAGE_RESET_BUS Redefine um ônibus de E/S e, indiretamente, cada dispositivo no barramento.
IOCTL_STORAGE_RESET_DEVICE Se possível, redefine um dispositivo de armazenamento não SCSI sem afetar outros dispositivos no barramento.
IOCTL_STORAGE_SET_HOTPLUG_INFO Define a configuração de hotplug do dispositivo especificado.
IOCTL_STORAGE_SET_PROPERTY Indica se uma solicitação para alterar uma propriedade é bem-sucedida ou causa um erro.
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).