Freigeben über


IOCTL_DISK_REASSIGN_BLOCKS IOCTL (ntdddisk.h)

Ordnet defekte Blöcke einer neuen Position auf dem Datenträger zu. Diese Anforderung weist das Gerät an, die ungültige Blockadresse einem guten Block aus seinem Ersatzblockpool neu zuzuweisen.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Der Puffer bei Irp-AssociatedIrp.SystemBuffer> enthält die REASSIGN_BLOCKS Werte, die festgelegt werden sollen. Beachten Sie, dass diese Struktur ein Array mit variabler Größe von Blocknummern enthält. Es liegt in der Verantwortung des Aufrufers sicherzustellen, dass das Array der Blocknummern in aufsteigender Reihenfolge sortiert wird.

Länge des Eingabepuffers

Parameters.DeviceIoControl.InputBufferLength in der E/A-Stapelposition des IRP gibt die Größe des Puffers in Bytes an, die = sizeof(REASSIGN_BLOCKS) sein >muss.

Ausgabepuffer

Keine.

Länge des Ausgabepuffers

Keine.

Statusblock

Das Feld Information ist auf 0 (null) festgelegt. Das Feld Status kann auf STATUS_SUCCESS oder möglicherweise auf STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES oder STATUS_BUFFER_TOO_SMALL festgelegt werden.

Anforderungen

Anforderung Wert
Header ntdddisk.h (include Ntdddisk.h)

Weitere Informationen

REASSIGN_BLOCKS