Partager via


IOCTL_DISK_GET_DRIVE_LAYOUT_EX IOCTL (ntdddisk.h)

Retourne des informations sur le nombre de partitions, la signature de disque et les fonctionnalités de chaque partition sur un disque. (Les pilotes de disquette n’ont pas besoin de gérer cette requête.)

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

Aucun.

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

Aucun.

Mémoire tampon de sortie

Le pilote retourne les données DRIVE_LAYOUT_INFORMATION_EX dans la mémoire tampon sur Irp-AssociatedIrp.SystemBuffer>.

Longueur de la mémoire tampon de sortie

Parameters.DeviceIoControl.OutputBufferLength dans l’emplacement de la pile d’E/S de l’IRP indique la taille, en octets, de la mémoire tampon, qui doit être >= sizeof(DRIVE_LAYOUT_INFORMATION_EX). Notez que cette structure contient un tableau de taille variable d’éléments PARTITION_INFORMATION_EX .

Pour déterminer la taille de la mémoire tampon de sortie requise, l’appelant doit envoyer cette requête IOCTL dans une boucle. Chaque fois que la pile de stockage rejette l’IOCTL avec un message d’erreur indiquant que la mémoire tampon était trop petite, l’appelant doit doubler la taille de la mémoire tampon.

Bloc d’état

Le champ Informations est défini sur la taille, en octets, des données retournées. Le champ État peut être défini sur STATUS_SUCCESS, ou éventuellement sur STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES ou STATUS_BUFFER_TOO_SMALL.

Configuration requise

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

Voir aussi

DRIVE_LAYOUT_INFORMATION

PARTITION_INFORMATION

PARTITION_INFORMATION_EX