Bonjour,
Je cherche dédespérément à utiliser la fonction "GetVolumeInformation" de l'API Windows car elle renvoie une information qu'aucune des méthodes de System.IO ne fournit.
Le code est le suivant :
Imports System.Runtime.InteropServices
Imports System.Text
' Class to wrap up Windows 32 API constants and functions.
Public Class Win32API
Public Declare Function GetVolumeInformation Lib "kernel32" _
Alias "GetVolumeInformationA" _
(ByVal lpRootPathName As String, _
ByVal lpVolumeNameBuffer As StringBuilder, _
ByRef nVolumeNameSize As Integer, _
ByRef lpVolumeSerialNumber As Integer, _
ByRef lpMaximumComponentLength As Integer, _
ByRef lpFileSystemFlags As Integer, _
ByVal lpFileSystemNameBuffer As StringBuilder, _
ByRef lpFileSystemNameBuffer As Integer , _
ByRef nFileSystemNameSize As Integer) As Integer
End Class
Const StringBufferLength As Integer = 255
Dim lsRootPathName As String
Dim lsVolumeNameBuffer As New StringBuilder(StringBufferLength)
Dim lnVolumeNameSize As Integer = StringBufferLength
Dim lnVolumeSerialNumber As Integer
Dim lnMaximumComponentLength As Integer
Dim lnFileSystemFlags As Integer
Dim lsFileSystemNameBuffer As New StringBuilder(StringBufferLength)
Dim lnFileSystemNameSize As Integer = StringBufferLength
Dim lnReturn As Integer
lsRootPathName = C:\
llVolumNmSz = StringBufferLength
llFileSysSz = StringBufferLength
llVolSerNum = 0
llMaxCompnt = 0
llFileSsFlg = 0
lnReturn = Win32API.GetVolumeInformation(lsRootPathName, lsVolumeNameBuffer, lnVolumeNameSize, lnVolumeSerialNumber, lnMaximumComponentLength, lnFileSystemFlags, lsFileSystemNameBuffer, lnFileSystemNameSize)
Quand j'appelle la fonction celle-ci semble fonctionner car jobtiens une valeur différente de zéro dans lnReturn.
Mais aucun des paramètres nest renseigné en retour, ils restent désespérément vides. Et je ne peux pas me passer de cette API car elle renvoie le numéro de série du volume qui est une information primordiale dans mon application.
Si quelquun peut me dépanner. 
Venka