Apoyando Mi propuesta que Hice en el sub-foro de Off-Topic aqui esta un ejemplo de como me gustaria que fueran los post de las apis, y con el soft den ideas....
PEga el Codigo en un modulo bas y al final del codigo viene el ejemplo de como funciona
Edited by: ZitroCódigo:Option Explicit 'Hecho Por Zitro 'Para la Comunidad de CanalVisualBasic ' 'Fecha 04/Agosto/2006 HoraInicial 1:46 HoraFinal 2:37 Public Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As Currency, lpTotalNumberOfBytes As Currency, lpTotalNumberOfFreeBytes As Currency) As Long 'Info de GetDiskFreeSpaceEx ' 'La funcion obtien el espacio: Total, Libre y Que se puede usar, todo lo devuelve en Bytes ' 'Compatible en 32 Bits, VB 4,5 y 6 ' 'Sistemas Operativos: Windows NT 4.0 o superior; Windows 95 OSR2 o superior ' 'Libreria: Kernel32 ' 'Informacion de Parametros ' 'lpDirectoryName 'Aqui se especifica la unidad por ejemplo "C:\" 'Se le puede pasar un directorio como parametro por ejemplo App.Path 'De todos modos muestra la informacion del disco actual o del drive donde esta el directorio ' ' 'lpFreeBytesAvailableToCaller 'Este nos devuelve el espacio que se puede usar en la unidad ' 'lpTotalNumberOfBytes 'Nos devuelve el numero total en bytes del la unidad ' 'lpTotalNumberOfFreeBytes 'Este nos devuelve el numero total de bytes libres en la unidad (puede ser nulo) ' 'Valor de retorno 'Con eXito = Devuelve un valor diferente de Cero ' 'Sin Exito = Devuelve Cero ' 'Para mas informacion Llamen al API GetLastError ' 'Voy a utilizar letras para las funciones 't = tipo junto con el nombre del API 'f = Funcion junto con el nombre del API Type tGetDiskFreeSpaceEx Exitosa As Boolean cBytesUsables As Currency cBytesLibres As Currency cBytesTotales As Currency cBytesUsados As Currency End Type Public Function fGetDiskFreeSpaceEx(Optional Unidad As String = "") As tGetDiskFreeSpaceEx On Error GoTo eti fGetDiskFreeSpaceEx.Exitosa = GetDiskFreeSpaceEx(Unidad, fGetDiskFreeSpaceEx.cBytesUsables, fGetDiskFreeSpaceEx.cBytesTotales, fGetDiskFreeSpaceEx.cBytesLibres) fGetDiskFreeSpaceEx.cBytesUsados = fGetDiskFreeSpaceEx.cBytesTotales - fGetDiskFreeSpaceEx.cBytesLibres Exit Function eti: MsgBox Err.Description End Function ' 'Pasa el Siguiente Code en un formulario, para que veas el funcionamiento ' 'Option Explicit ' 'Dim info2 As tGetDiskFreeSpaceEx 'Private Sub Form_Load() 'info2 = fGetDiskFreeSpaceEx("c:\") 'MsgBox info2.Exitosa 'MsgBox info2.cBytesTotales 'End Sub