Hola , estoy liado con un algoritmo de preprocesado de datos para su posterior compresión , pero como novato al fin no tengo experiencia con las apis de lectura y escritura , no te pido que me hagas el código  ;D, ya yo lo tengo terminado y probado solo tengo unas dudas . Necesito que el programa lea y escriba en un archivo (De cualquier tamaño).Ya se como crear un archivo pero necesito leerlo y no me sale bien , me puedes ayudar ?
Este es para escribir :
; EN eax tendremos el archivo a preprocesar (Ruta)
comment *
; Para crear un archivo ...
                 ;creamos el archivo
               invoke CreateFileA,eax, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0
                mov [handleCreado], eax
 
                ;Escibimos el archivo
                invoke WriteFile, eax,addr MsgTexto,20,addr bEscritos, NULL
 
                ; "Cerramos" el archivo creado
                invoke CloseHandle, [handleCreado]
------------------------------------Me funciona bien , pero el de leer :
; Para leer de un archivo
    invoke CreateFile,eax,
                      GENERIC_READ,
                      FILE_SHARE_READ,
                      NULL,OPEN_EXISTING,
                      FILE_ATTRIBUTE_NORMAL,
                      NULL
    mov [handleruta], eax
; Obtener el tamaño
    invoke GetFileSize,handleruta,NULL
    mov [tamano], eax
invoke ReadFile,[handleruta],[datos],eax,ADDR br,NULL
invoke CloseHandle,[handleruta]
Me da error al crear el handle.
Saludos
			
			
			
				Comproba los parametros (especialmente que la cadena en eax sea correcta) y llama a GetLastError para averiguar la causa por la cual no abre el archivo.
			
			
			
				
invoke GetFileSize,[handleruta],NULL