次の方法で共有


IOCTL_DISK_REASSIGN_BLOCKS_EX IOCTL (ntdddisk.h)

欠陥のあるブロックをディスク上の新しい場所にマップします。 この要求は、不適切なブロック アドレスをスペア ブロック プールから適切なブロックに再割り当てするようにデバイスに指示します。

IOCTL_DISK_REASSIGN_BLOCKS_EX要求では、IOCTL_DISK_REASSIGN_BLOCKS要求よりも多くのブロックを割り当てることができます。

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

Irp-AssociatedIrp.SystemBuffer> のバッファーには、設定するREASSIGN_BLOCKS_EX値が含まれています。 この構造体には、ブロック番号の可変サイズの配列が含まれていることに注意してください。 ブロック番号の配列が昇順で並べ替えられていることを確認するのは呼び出し元の責任です。

入力バッファーの長さ

IRP の I/O スタック位置の Parameters.DeviceIoControl.InputBufferLength は、バッファーのサイズ (バイト単位) を示します。これは、 = sizeof(REASSIGN_BLOCKS_EX) である必要があります>。

出力バッファー

[なし] :

出力バッファーの長さ

[なし] :

ステータス ブロック

[情報] フィールドは 0 に設定されます。 [状態] フィールドは、STATUS_SUCCESSに設定することも、STATUS_INFO_LENGTH_MISMATCH、STATUS_INSUFFICIENT_RESOURCES、またはSTATUS_BUFFER_TOO_SMALLに設定することもできます。

要件

要件
サポートされている最小のクライアント Windows 8以降で使用できます。
Header ntdddisk.h (Ntdddisk.h を含む)

こちらもご覧ください

REASSIGN_BLOCKS_EX