Freigeben über


IOCTL_DISK_CREATE_DISK IOCTL (ntdddisk.h)

Erstellt eine leere Partition für das Geräteobjekt. Sie kann entweder auf einem EFI-Datenträger oder auf einem MBR-Datenträger ausgeführt werden. Die Zum Erstellen eines leeren Datenträgers erforderlichen Parameter hängen vom Typ der Partitionstabelle ab, die auf dem Datenträger abgelegt wird. Weitere Informationen finden Sie unter CREATE_DISK.

Datenträgertreiber enumerieren Partitionen so, als wären sie untergeordnete Geräte. Daher benachrichtigt der Datenträgerklassentreiber beim Erstellen der neuen Partition den PnP-Manager über einen Aufruf von IoInvalidateDeviceRelations, dass das Datenträgergerät über ein neues untergeordnetes Gerät (Partition) verfügt.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Der Puffer bei Irp->AssociatedIrp.SystemBuffer enthält die CREATE_DISK Daten.

Eingabepufferlänge

Parameters.DeviceIoControl.InputBufferLength an der I/O-Stapelposition des IRP gibt die Größe des Puffers in Bytes an, der dem Treiber zur Verfügung gestellt wird, der >= Größe des(CREATE_DISK). Andernfalls gibt der Treiber den Fehlerstatus STATUS_INFO_LENGTH_MISMATCH zurück.

Ausgabepuffer

Nichts.

Länge des Ausgabepuffers

Nichts.

Statusblock

Das Feld Information wird auf Null festgelegt. Das Feld Status wird auf STATUS_SUCCESS festgelegt, wenn der Vorgang erfolgreich war. Andere mögliche Statuswerte sind: STATUS_NOT_SUPPORTED, wenn die angeforderte Partitionsformatvorlage nicht unterstützt wird; STATUS_DEVICE_NOT_READY, wenn der Klassentreiber die Datenträgergeometrie nicht abrufen konnte; und STATUS_INSUFFICIENT_RESOURCES, wenn der Klassentreiber keine erforderliche Ressource abrufen konnte, z. B. Heap-Speicher.

Anforderungen

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

Siehe auch

CREATE_DISK