Partager via


IOCTL_DISK_CREATE_DISK IOCTL (ntdddisk.h)

Crée une partition vide pour l’objet d’appareil. Il peut fonctionner sur un disque EFI ou un disque MBR. Les paramètres nécessaires pour créer un disque vide dépendent du type de table de partition qui sera placée sur le disque. Pour plus d’informations, consultez CREATE_DISK.

Les pilotes de disque énumèrent les partitions comme s’il s’agissait d’appareils enfants. Ainsi, lors de la création de la nouvelle partition, le pilote de classe de disque avertit le gestionnaire PnP par un appel à IoInvalidateDeviceRelations que le périphérique de disque a un nouveau périphérique enfant (partition).

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

La mémoire tampon dans Irp-AssociatedIrp.SystemBuffer> contient les données CREATE_DISK.

Longueur de la mémoire tampon d’entrée

Parameters.DeviceIoControl.InputBufferLength dans l’emplacement de la pile d’E/S de l’IRP indique la taille, en octets, de la mémoire tampon mise à la disposition du pilote, qui doit être >= sizeof(CREATE_DISK). Sinon, le pilote retourne avec une erreur status de STATUS_INFO_LENGTH_MISMATCH.

Mémoire tampon de sortie

Aucun.

Longueur de la mémoire tampon de sortie

Aucun.

Bloc d’état

Le champ Informations est défini sur zéro. Le champ État est défini sur STATUS_SUCCESS si l’opération a réussi. D’autres valeurs status possibles sont : STATUS_NOT_SUPPORTED si le style de partition demandé n’est pas pris en charge ; STATUS_DEVICE_NOT_READY si le pilote de classe n’a pas pu récupérer la géométrie du disque ; et STATUS_INSUFFICIENT_RESOURCES si le pilote de classe n’a pas pu obtenir une ressource nécessaire, telle que la mémoire du tas.

Configuration requise

Condition requise Valeur
En-tête ntdddisk.h (incluez Ntdddisk.h)

Voir aussi

CREATE_DISK