Freigeben über


IOCTL_DISK_CREATE_DISK IOCTL (ntdddisk.h)

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

Datenträgertreiber listen Partitionen auf, als wären sie untergeordnete Geräte. Daher benachrichtigt der Datenträgerklassentreiber den PnP-Manager beim Erstellen der neuen Partition ü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 im E/A-Stapelspeicherort des IRP gibt die Größe des Puffers an, der dem Treiber zur Verfügung gestellt wird, in Bytes, der >= sizeof(CREATE_DISK) sein muss. Andernfalls wird der Treiber mit einem Fehler status STATUS_INFO_LENGTH_MISMATCH zurückgegeben.

Ausgabepuffer

Keine.

Länge des Ausgabepuffers

Keine.

Statusblock

Das Feld Information ist auf 0 festgelegt. Das Feld Status ist auf STATUS_SUCCESS festgelegt, wenn der Vorgang erfolgreich war. Weitere mögliche status Werte sind: STATUS_NOT_SUPPORTED, wenn die angeforderte Partitionsart 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. Heapspeicher.

Anforderungen

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

Weitere Informationen

CREATE_DISK