Partilhar via


IOCTL_STORAGE_PREDICT_FAILURE IOCTL (ntddstor.h)

Sonda uma previsão de falha do dispositivo. Essa solicitação funciona com as unidades de disco IDE que dão suporte à smart (tecnologia de relatório e análise de automonitoramento). Se a unidade for uma unidade SCSI, o driver de classe tentará verificar se o disco SCSI dá suporte à tecnologia SMART IDE equivalente verificando as informações de consulta na Página de Controle de Exceção de Informações, X3T10/94-190 Rev 4.

Se o dispositivo der suporte à falha de previsão, o driver de classe de disco consultará o dispositivo quanto ao status de previsão de falha e relatará os resultados. Se o driver de classe de disco atribuir um valor diferente de zero ao predictFailure membro de STORAGE_PREDICT_FAILURE no buffer de saída em >AssociatedIrp.SystemBuffer, o disco terá setores ruins e estará prevendo uma falha. A pilha de armazenamento retorna 512 bytes de informações específicas do fornecedor sobre a previsão de falha no VendorSpecific membro do STORAGE_PREDICT_FAILURE.

Se o membro PredictFailure contiver um valor zero, o disco não estará prevendo uma falha.

Se o dispositivo não der suporte à previsão de falha, IOCTL_STORAGE_PREDICT_FAILURE falhará com um status de STATUS_INVALID_DEVICE_REQUEST e os dados no buffer de saída serão indefinidos

Outros meios de verificar se há falha no disco incluem monitorar o log de eventos e registrar-se para receber um evento WMI com WMI_STORAGE_PREDICT_FAILURE_EVENT_GUID.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Nenhum.

Comprimento do buffer de entrada

Nenhum.

Buffer de saída

O driver retorna uma estrutura STORAGE_PREDICT_FAILURE que contém dados de previsão de falha no buffer em >AssociatedIrp.SystemBuffer.

Comprimento do buffer de saída

Parameters.DeviceIoControl.OutputBufferLength indica o tamanho, em bytes, do buffer em >AssociatedIrp.SystemBuffer, que deve ser maior ou igual ao tamanho de(STORAGE_PREDICT_FAILURE).

Bloco de status

Irp->IoStatus.Status será definido como STATUS_SUCCESS se a solicitação for bem-sucedida. Caso contrário, status à condição de erro apropriada como um código de NTSTATUS.

Requisitos

Requisito Valor
cabeçalho ntddstor.h (include Ntddstor.h)

Consulte também

STORAGE_PREDICT_FAILURE