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
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) |