次の方法で共有


IoSetPartitionInformation 関数 (ntddk.h)

IoSetPartitionInformation ルーチンは 古い であり、既存のドライバーをサポートするためにのみ提供されます。 新しいドライバー IoSetPartitionInformationExを使用する必要があります。

IoSetPartitionInformation 、DeviceObject で表されるディスクのパーティション テーブル エントリのパーティションの種類と数設定します。

構文

NTSTATUS IoSetPartitionInformation(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] ULONG          SectorSize,
  [in] ULONG          PartitionNumber,
  [in] ULONG          PartitionType
);

パラメーター

[in] DeviceObject

パーティションの種類を設定するデバイスを表すデバイス オブジェクトへのポインター。

[in] SectorSize

ディスク上のセクターのサイズをバイト単位で指定します。

[in] PartitionNumber

パーティションの種類を設定するデバイスのパーティション番号を指定します。

[in] PartitionType

パーティションの種類を指定します。 キー パーティションの種類の一部の一覧については、PARTITION_INFORMATIONを参照してください。

戻り値

IoSetPartitionInformation がSTATUS_SUCCESSを返す場合、ディスク ドライバーは、デバイス拡張機能で、このパーティションの種類のパーティションの概念を更新します。

備考

IoSetPartitionInformation は、ディスク ドライバーでのみ使用する必要があります。 他のドライバーでは、代わりに IOCTL_DISK_SET_PARTITION_INFO ディスク I/O 要求を使用する必要があります。

このルーチンは、ディスク デバイス ドライバーが、IRP_MJ_DEVICE_CONTROL要求によってパーティション テーブル エントリのパーティションの種類を設定するように求められたときに呼び出されます。 通常、この要求はフォーマット・ユーティリティーによって発行され、パーティションに対して入出力制御機能を実行します。 ドライバーは、物理ディスクと、フォーマット ユーティリティが開いているデバイス オブジェクトに関連付けられているパーティションの数を表すデバイス オブジェクトへのポインターを渡します。 IoSetPartitionInformation 基になる HAL ルーチンは、動的パーティション分割のサポートが実装される前に開発されたため、パーティション序数 (ディスク上のパーティションの順序) と パーティション番号 (システムに識別するためにパーティションに割り当てられたパーティション番号) を区別しません。 ドライバーは、実際 パーティション番号ではなく、パーティションの 序数 番号を使用して IoSetPartitionInformation を呼び出す必要があります。

このルーチンは同期的であり、ディスク ドライバーのディスパッチ ルーチンまたはドライバー スレッドによって呼び出される必要があります。 したがって、デバイスのパーティションの種類を設定するデバイス制御要求を発行するときに待機状態に入るために、すべてのユーザーおよびファイル システム スレッドを準備する必要があります。

このルーチンは、ディスク ドライバーによって渡されるパーティション番号が実際に存在することを前提として動作します。

このルーチンは、カーネル イベント オブジェクトを使用してデバイスの I/O 完了を同期するため、IRQL = PASSIVE_LEVEL で呼び出す必要があります。 I/O システムの特殊なカーネル APC ルーチンをキューに入れ、I/O 完了のために実行しないと、イベントを Signaled 状態に設定することはできません。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー ntddk.h (Ntddk.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (「解説」セクションを参照)
DDI コンプライアンス規則 する HwStorPortProhibitedDDDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm)

関連項目

IoReadPartitionTable

IoSetPartitionInformationEx

IoWritePartitionTable