IOCTL_DISK_REASSIGN_BLOCKS_EX IOCTL (ntdddisk.h)
Ordnet fehlerhafte Blöcke einem neuen Speicherort auf dem Datenträger zu. Diese Anforderung weist das Gerät an, die ungültige Blockadresse einem guten Block aus dem Ersatzblockpool neu zuzuweisen.
Eine IOCTL_DISK_REASSIGN_BLOCKS_EX-Anforderung ermöglicht eine größere Anzahl von Blöcken für die Zuweisung als die IOCTL_DISK_REASSIGN_BLOCKS Anforderung.
Hauptcode
Eingabepuffer
Der Puffer bei Irp-AssociatedIrp.SystemBuffer> enthält die festzulegenden REASSIGN_BLOCKS_EX Werte. Beachten Sie, dass diese Struktur ein Array von Blocknummern variabler Größe enthält. Es liegt in der Verantwortung des Aufrufers, sicherzustellen, dass das Array der Blocknummern in aufsteigender Reihenfolge sortiert ist.
Eingabepufferlänge
Parameters.DeviceIoControl.InputBufferLength in der E/A-Stapelposition des IRP gibt die Größe des Puffers in Bytes an, die = sizeof(REASSIGN_BLOCKS_EX) sein >muss.
Ausgabepuffer
Keine.
Länge des Ausgabepuffers
Keine.
Statusblock
Das Feld Information ist auf 0 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 |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 8. |
Kopfzeile | ntdddisk.h (include Ntdddisk.h) |