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


Có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
Edited by: Zitro