Fonction IoVolumeDeviceToDosName (ntddk.h)

La routine IoVolumeDeviceToDosName retourne le chemin MS-DOS pour un objet d’appareil spécifié qui représente un volume de système de fichiers.

Syntaxe

NTSTATUS IoVolumeDeviceToDosName(
  [in]  PVOID           VolumeDeviceObject,
  [out] PUNICODE_STRING DosName
);

Paramètres

[in] VolumeDeviceObject

Pointeur vers un objet de périphérique qui représente un objet de périphérique de volume créé par un pilote de classe de stockage.

[out] DosName

Pointeur vers une structure de UNICODE_STRING allouée par l’appelant. Si l’appel réussit, IoVolumeDeviceToDosName définit les valeurs des membres Length, MaximumLength et Buffer de cette structure. À la sortie, le membre Buffer pointe vers une chaîne à caractères larges et terminée par null qui contient le chemin MS-DOS de l’objet de périphérique de volume spécifié par VolumeDeviceObject. Pour plus d'informations, consultez la section Notes.

Valeur retournée

IoVolumeDeviceToDosName retourne STATUS_SUCCESS si l’appel réussit. Les valeurs de retour d’erreur possibles incluent les codes status suivants.

Valeur retournée Description
STATUS_INVALID_PARAMETER La routine a échoué en raison de valeurs de paramètre non valides passées par l’appelant.
STATUS_INSUFFICIENT_RESOURCES La routine n’a pas pu allouer les ressources requises pour cette opération.

Remarques

IoVolumeDeviceToDosName alloue la mémoire tampon de chaîne pointée par le membre Buffer de la structure UNICODE_STRING vers laquelle pointe le paramètre DosName . Une fois que cette mémoire tampon n’est plus nécessaire, un appelant de cette routine doit appeler la routine ExFreePool pour libérer la mémoire tampon.

À compter de Windows Vista, vous devez vous assurer que les API ne sont pas désactivés avant d’appeler cette routine. La routine KeAreAllApcsDisabled peut être utilisée pour vérifier que les API ne sont pas désactivées.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ntddk.h (incluez Ntddk.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Voir aussi

ExFreePool

KeAreAllApcsDisabled

UNICODE_STRING