WinAPI

ReadFile

//C, C++
BOOL ReadFile(
  HANDLE hFile,
  LPVOID lpBuffer,
  DWORD nNumberOfBytesToRead,
  LPDWORD lpNumberOfBytesRead,
  LPOVERLAPPED lpOverlapped);

//Delphi
function ReadFile(hFile: THandle; var Buffer; nNumberOfBytesToRead: DWORD; var lpNumberOfBytesRead: DWORD; lpOverlapped: POverlapped): BOOL;


Funkcja odczytuje dane z pliku rozpoczynając od pozycji danej przez wskaźnik. Jeżeli plik nie został otwarty z atrybutem asynchronicznej obsługi wejścia/wyjścia, wskaźnik po zakończonej operacji ustawiany jest w zależności od liczby odczytanych bajtów. W przeciwnym razie aplikacja musi odpowiednio zmodyfikować pozycję wskaźnika do pliku po zakończeniu odczytu.

Parametry:

hFile - uchwyt pliku,
lpBuffer - wskaźnik do bufora,
nNumberOfBytesToRead - liczba bajtów, które mają zostać odczytane,
lpNumberOfBytesRead - wskaźnik do wartości liczby odczytanych bajtów,
lpOverlapped - wskaźnik do struktury (OVERLAPPED) asynchronicznej obsługi wejścia/wyjścia.

Zwracana wartość
Jeżeli funkcja zostanie wykonana poprawnie, zwracane jest True. Jeżeli dodatkowo liczba odczytanych bajtów jest równa zero, wskaźnik do pliku wskazuje na jego koniec. Jeśli funkcja się nie powiedzie, zwraca wartość False. Dodatkowe informacje o błędzie można pobrać za pomocą funkcji GetLastError.


Zobacz też