Muchisimas gracias por la respuesta ecfisa, pero lo acabo de probar y no me funciona.
Asi es como lo he declarado:
Código Delphi
[-]type
TReadFile: Function(hFile:Cardinal;var lpBuffer: Pointer ;nNumberOfBytesToRead,lpNumberOfBytesRead:Cardinal;lpOverlapped: POverLapped): LongBool; StdCall;
Y me da error en el 2º parametro y el error que me pone es el siguiente:
Types of actual and formal var parameters must be identical
Saludos