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