Compartilhar 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 do IDE que dão suporte à smart (tecnologia de relatórios 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 marcar 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 a falhas de previsão, o driver de classe de disco consultará o dispositivo para status de previsão de falha e relatará os resultados. Se o driver de classe de disco atribuir um valor diferente de zero ao membro PredictFailure de STORAGE_PREDICT_FAILURE no buffer de saída em Irp-AssociatedIrp.SystemBuffer>, o disco terá setores inválidos 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 membro VendorSpecific do STORAGE_PREDICT_FAILURE.

Se o membro PredictFailure contiver um valor igual a zero, o disco não preverá 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 de 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 Irp-AssociatedIrp.SystemBuffer>.

Comprimento do buffer de saída

Parameters.DeviceIoControl.OutputBufferLength indica o tamanho, em bytes, do buffer em Irp-AssociatedIrp.SystemBuffer>, que deve ser maior ou igual ao sizeof(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 para a condição de erro apropriada como um código NTSTATUS .

Requisitos

Requisito Valor
Cabeçalho ntddstor.h (inclua Ntddstor.h)

Confira também

STORAGE_PREDICT_FAILURE