WinAPI

CopyMemory

  • 2010-10-31 18:27
  • 1 komentarz
  • 440 odsłon
  • Oceń ten tekst jako pierwszy
// C
void CopyMemory(
  PVOID Destination,
  const VOID* Source,
  SIZE_T Length
);

// Delphi
procedure CopyMemory(Destination: Pointer; Source: Pointer; Length: Cardinal); stdcall;


Funkcja CopyMemory kopiuje blok pamięci z jednego położenia do drugiego. Jeślli bloki pamięci nakładają się, rezultat kopiowania pamięci tą funkcjąjest niezdefiniowany. Do kopiowania nakładających się bloków pamięci nalezy uzyć funkcji MoveMemory.

Parametry:
Destination
Wskaźnik do początku docelowego obszaru pamięci.

Source
Wskaźnik do początku źródłowego obszaru pamięci.

Length
Długość obszaru do skopiowania (w bajtach).

Uwagi
Docelowy obszar pamięci wskazywany przez parametr Destination musi być wystarczająco duży, żeby zmieścić Length bajtów obszaru źródłowego, w przeciwnym wypadku może nastąpić przepełnienie bufora. Umożliwia to ataki typu DoS a nawet wstrzyknięcie i wykonanie własnego kodu.


Zobacz też:


1 komentarz

ŁF 2006-03-23 20:57

fajnie że poprawiłeś, ale teraz art nie jest w kategorii winapi/zarządzanie pamięcią