Programmation » info partition en .net
info partition en .net
Publié le 24/06/2009 @ 14:44:26,
Par AltarYop,
J'essaye de récupérer les informations (taille, espace libre, ...) d'une partition ntfs sur un HDD en .net.
Cette partition est montée dans un sous-répertoire d'une autre partition ntfs (mounted volume) et la classe DriveInfo me retourne les informations de la racine.
Qqun a une idée ? Je peux faire une interop s'il faut utiliser du code natif.
Merchi bien
J'essaye de récupérer les informations (taille, espace libre, ...) d'une partition ntfs sur un HDD en .net.
Cette partition est montée dans un sous-répertoire d'une autre partition ntfs (mounted volume) et la classe DriveInfo me retourne les informations de la racine.
Qqun a une idée ? Je peux faire une interop s'il faut utiliser du code natif.
Merchi bien
info partition en .net
Publié le 25/06/2009 @ 09:29:55,
Par AltarVous ne comprennez pas ma question ou vous ne connaissez pas la réponse ?
Ce silence m'intrigue
Ce silence m'intrigue
info partition en .net
Publié le 25/06/2009 @ 09:53:50,
Par Jean-ChristopheJ'ai compris la question, mais je ne fait pas de .NET
info partition en .net
Publié le 25/06/2009 @ 10:15:44,
Par blietaerIdem.
Remplace tes mots par ext3, linux et C/C++ stp.
Remplace tes mots par ext3, linux et C/C++ stp.
Et au besoin s'arrêter.
info partition en .net
Publié le 25/06/2009 @ 11:36:27,
Par Altarbli > oui je vais expliquer à mon client qu'il doit jetter ses centaines de serveurs 2k8 pour passer à linux, virer ses admin sys windows, déstabiliser sa prod pendant plusieurs mois, tout ça pour gagner 4h de dev sur un soft mineur
info partition en .net
Publié le 25/06/2009 @ 11:48:31,
Par kortenbergbli > oui je vais expliquer à mon client qu'il doit jetter ses centaines de serveurs 2k8 pour passer à linux, virer ses admin sys windows, déstabiliser sa prod pendant plusieurs mois, tout ça pour gagner 4h de dev sur un soft mineur
Voilà ! c'est ça!Je connais le .net mais pour du dev web.
Je ne savais même pas qu'on pouvait monter un drv dans un sous-répertoire.
Je n'ai pas le temps de faire joujou.
Pour toutes ces raisons, je ne peux pas te répondre utilement.
info partition en .net
Publié le 25/06/2009 @ 11:53:02,
Par philfrJe ne savais même pas qu'on pouvait monter un drv dans un sous-répertoire.
Sans doute que .net ne le savait pas non plus, et donc DriveInfo est incapable de savoir ce qu'on lui veut.
Tu n'as plus qu'à attribuer un nom de drive à ta partition. "F:" peut-être ?
info partition en .net
Publié le 25/06/2009 @ 11:59:47,
Par Dr_Danbli > oui je vais expliquer à mon client qu'il doit jetter ses centaines de serveurs 2k8 pour passer à linux, virer ses admin sys windows, déstabiliser sa prod pendant plusieurs mois, tout ça pour gagner 4h de dev sur un soft mineur
Bah non, il va te jeter et engager quelqu'un qui connais la réponse..
Se tromper est humain ; Vraiment foutre la merde necessite le mot de passe de root.
info partition en .net
Publié le 25/06/2009 @ 12:06:37,
Par rfrLe début de ta quête se trouve ici: http://msdn.microsoft.com/en-us/library/aa364994(VS.85).aspx
Après ça, tu auras le nom du volume et tu pourras utiliser le reste de l'API Win32.
Après ça, tu auras le nom du volume et tu pourras utiliser le reste de l'API Win32.
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
info partition en .net
Publié le 25/06/2009 @ 12:11:47,
Par blietaer(pardon pour la petite blague, je sais comme l'humour nerd est penible quand on attend une reponse constructive)
Et au besoin s'arrêter.
info partition en .net
Publié le 25/06/2009 @ 12:17:25,
Par AltarSans doute que .net ne le savait pas non plus, et donc DriveInfo est incapable de savoir ce qu'on lui veut.
Tu n'as plus qu'à attribuer un nom de drive à ta partition. "F:" peut-être ?
Pourtant c'est dans les specs ntfs depuis windows xp (soit 2001).
C'est ce qui est fait pour le moment mais la machine à une centaine de drives externes en rotation et ça devient le bordel à gérer xD
En plus, la machine devrait avoir plus de 24 drives branchés simultanément sous peu xD
edit : j'ai trouvé une solution en passant par WMI
info partition en .net
Publié le 25/06/2009 @ 12:27:19,
Par Altarrfr > encore mieux \o/
mille merci
mille merci
info partition en .net
Publié le 25/06/2009 @ 13:03:55,
Par philfrEn plus, la machine devrait avoir plus de 24 drives branchés simultanément sous peu xD
C'était la raison de mon clin d'oeil à cette aberration d'un autre temps (CP/M...)
info partition en .net
Publié le 25/06/2009 @ 15:59:39,
Par AltarCa marche Pour récupérer la taille & l'espace libre un petit exemple :
[DllImport("kernel32.dll")]
static extern bool GetVolumeNameForVolumeMountPoint(string lpszVolumeMountPoint, [Out] StringBuilder lpszVolumeName, uint cchBufferLength);
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool GetDiskFreeSpaceEx(string lpDirectoryName, out ulong lpFreeBytesAvailable, out ulong lpTotalNumberOfBytes, out ulong lpTotalNumberOfFreeBytes);
StringBuilder sb = new StringBuilder(200);
GetVolumeNameForVolumeMountPoint("c:\\", sb, (uint)sb.Capacity);
ulong FreeBytesAvailable, TotalNumberOfBytes, TotalNumberOfFreeBytes;
GetDiskFreeSpaceEx(sb.ToString(), out FreeBytesAvailable, out TotalNumberOfBytes, out TotalNumberOfFreeBytes);
Dernière édition: 25/06/2009 @ 16:11:03
[DllImport("kernel32.dll")]
static extern bool GetVolumeNameForVolumeMountPoint(string lpszVolumeMountPoint, [Out] StringBuilder lpszVolumeName, uint cchBufferLength);
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool GetDiskFreeSpaceEx(string lpDirectoryName, out ulong lpFreeBytesAvailable, out ulong lpTotalNumberOfBytes, out ulong lpTotalNumberOfFreeBytes);
StringBuilder sb = new StringBuilder(200);
GetVolumeNameForVolumeMountPoint("c:\\", sb, (uint)sb.Capacity);
ulong FreeBytesAvailable, TotalNumberOfBytes, TotalNumberOfFreeBytes;
GetDiskFreeSpaceEx(sb.ToString(), out FreeBytesAvailable, out TotalNumberOfBytes, out TotalNumberOfFreeBytes);
Dernière édition: 25/06/2009 @ 16:11:03
info partition en .net
Publié le 25/06/2009 @ 16:01:53,
Par rfrrfr > encore mieux \o/
mille merci
mille merci
De rien, 30 secondes de google
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
info partition en .net
Publié le 25/06/2009 @ 20:22:25,
Par antpÇa marchait déjà en Windows 2000 il me semble
mes programmes ·· les voitures dans les films ·· champion des excuses bidons