Freigeben über


IOCTL_DISK_REASSIGN_BLOCKS IOCTL (ntdddisk.h)

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

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

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

Eingabepufferlänge

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

Ausgabepuffer

Nichts.

Länge des Ausgabepuffers

Nichts.

Statusblock

Das Feld Information wird auf 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)

Siehe auch

REASSIGN_BLOCKS