Udostępnij za pośrednictwem


Funkcje zarządzania pamięcią

Ogólne funkcje pamięci

Funkcja Opis
AddSecureMemoryCacheCallback Rejestruje funkcję wywołania zwrotnego, która ma być wywoływana w przypadku zwolnienia zabezpieczonego zakresu pamięci lub zmiany jego ochrony.
CopyDeviceMemory Kopiuje pamięć z jednej lokalizacji do innej bez zakłócania optymalizacji kompilatora w sytuacjach, w których deweloper musi dodatkowo mieć pewność, że błędy wyrównania nie zostaną wygenerowane podczas uzyskiwania dostępu do pamięci urządzenia.
CopyMemory Kopiuje blok pamięci z jednej lokalizacji do innej.
CopyVolatileMemory Kopiuje zawartość bloku pamięci źródłowej do docelowego bloku pamięci.
CreateMemoryResourceNotification Tworzy obiekt powiadomienia o zasobie pamięci.
FillDeviceMemory Ustawia zawartość buforu bez ingerencji w optymalizacje kompilatora w sytuacjach, w których deweloper musi dodatkowo upewnić się, że błędy wyrównania nie zostaną wygenerowane podczas uzyskiwania dostępu do pamięci urządzenia.
FillMemory Wypełnia blok pamięci określoną wartością.
FillVolatileMemory Wypełnia blok pamięci określoną wartością wypełnienia.
GetLargePageMinimum Pobiera minimalny rozmiar dużej strony.
GetPhysicallyInstalledSystemMemory Pobiera ilość pamięci RAM, która jest fizycznie zainstalowana na komputerze.
GetSystemFileCacheSize Pobiera bieżące limity rozmiaru zestawu roboczego pamięci podręcznej systemu.
GetWriteWatch Pobiera adresy stron zapisanych w regionie pamięci wirtualnej.
GlobalMemoryStatusEx Uzyskuje informacje o bieżącym użyciu systemu zarówno pamięci fizycznej, jak i wirtualnej.
MoveMemory Przenosi blok pamięci z jednej lokalizacji do innej.
MoveVolatileMemory Kopiuje zawartość bloku pamięci źródłowej do docelowego bloku pamięci i obsługuje nakładające się bloki pamięci źródłowej i docelowej.
QueryMemoryResourceNotification Pobiera stan określonego obiektu zasobu pamięci.
RemoveSecureMemoryCacheCallback Wyrejestrowuje funkcję wywołania zwrotnego, która została wcześniej zarejestrowana w funkcji AddSecureMemoryCacheCallback.
ResetWriteWatch Resetuje stan śledzenia zapisu dla regionu pamięci wirtualnej.
SecureMemoryCacheCallback Funkcja zdefiniowana przez aplikację, która jest wywoływana w przypadku zwolnienia zabezpieczonego zakresu pamięci lub zmiany jego ochrony.
SecureZeroMemory Wypełnia blok pamięci zerami.
SecureZeroMemory2 Wypełnia blok pamięci zerami w sposób, który gwarantuje bezpieczeństwo.
SetSystemFileCacheSize Ogranicza rozmiar zestawu roboczego pamięci podręcznej systemu plików.
ZeroDeviceMemory Ustawia zawartość buforu na zera bez interferencji z optymalizacji kompilatora w sytuacjach, w których deweloper musi dodatkowo upewnić się, że błędy wyrównania nie zostaną wygenerowane podczas uzyskiwania dostępu do pamięci urządzenia.
ZeroMemory Wypełnia blok pamięci zerami.
ZeroVolatileMemory Wypełnia blok pamięci zerami.

Funkcje zapobiegania wykonywaniu danych

Te funkcje są używane z zapobieganie wykonywaniu danych (DEP).

Funkcja Opis
GetProcessDEPPolicy Pobiera ustawienia programu DEP dla procesu.
GetSystemDEPPolicy Pobiera ustawienia programu DEP dla systemu.
SetProcessDEPPolicy Zmienia ustawienia programu DEP dla procesu.

Funkcje mapowania plików

Te funkcje są używane w mapowaniu plików .

Funkcja Opis
createFileMappingA Tworzy lub otwiera nazwany lub nienazwany obiekt mapowania plików dla określonego pliku.
createFileMappingW Tworzy lub otwiera nazwany lub nienazwany obiekt mapowania plików dla określonego pliku.
CreateFileMapping2 Tworzy lub otwiera nazwany lub nienazwany obiekt mapowania pliku dla określonego pliku. Można określić preferowany węzeł NUMA dla pamięci fizycznej jako parametr rozszerzony; zobacz parametr ExtendedParameters.
CreateFileMappingFromApp Tworzy lub otwiera nazwany lub nienazwany obiekt mapowania plików dla określonego pliku z aplikacji Ze Sklepu Windows.
CreateFileMappingNuma Tworzy lub otwiera nazwany lub nienazwany obiekt mapowania plików dla określonego pliku i określa węzeł NUMA dla pamięci fizycznej.
FlushViewOfFile Zapisuje na dysku zakres bajtów w zamapowanym widoku pliku.
GetMappedFileName Sprawdza, czy określony adres znajduje się w pliku mapowanym w pamięci w przestrzeni adresowej określonego procesu. Jeśli tak, funkcja zwraca nazwę pliku mapowanego pamięci.
MapViewOfFile Mapuje widok mapowania plików na przestrzeń adresową procesu wywołującego.
MapViewOfFile2 Mapuje widok pliku lub sekcji opartej na pliku stronicowania do przestrzeni adresowej określonego procesu.
MapViewOfFile3 Mapuje widok pliku lub sekcji opartej na pliku stronicowania do przestrzeni adresowej określonego procesu.
MapViewOfFile3FromApp Mapuje widok mapowania pliku na przestrzeń adresową procesu wywołującego z aplikacji ze Sklepu Windows.
MapViewOfFileEx Mapuje widok mapowania plików na przestrzeń adresową procesu wywołującego. Obiekt wywołujący może opcjonalnie określić sugerowany adres pamięci dla widoku.
MapViewOfFileExNuma Mapuje widok mapowania pliku na przestrzeń adresową procesu wywołującego i określa węzeł NUMA dla pamięci fizycznej.
MapViewOfFileFromApp Mapuje widok mapowania pliku na przestrzeń adresową procesu wywołującego z aplikacji ze Sklepu Windows.
MapViewOfFileNuma2 Mapuje widok pliku lub sekcji opartej na pliku stronicowania do przestrzeni adresowej określonego procesu.
OpenFileMapping Otwiera nazwany obiekt mapowania plików.
OpenFileMappingFromApp Otwiera nazwany obiekt mapowania plików.
unmapViewOfFile Usuwa mapowany widok pliku z przestrzeni adresowej procesu wywołującego.
UnmapViewOfFile2 Anuluje mapowanie wcześniej mapowanego widoku pliku lub sekcji opartej na pliku stronicowania.
UnmapViewOfFileEx Anuluje mapowanie wcześniej mapowanego widoku pliku lub sekcji opartej na pliku stronicowania.

Funkcje AWE

Są to funkcje AWE.

Funkcja Opis
PrzydzieluserPhysicalPages Przydziela strony pamięci fizycznej, które mają być mapowane i niezmapowane w dowolnym regionie AWE procesu.
PrzydzieluserPhysicalPagesNuma Przydziela strony pamięci fizycznej, które mają być mapowane i niezmapowane w dowolnym regionie AWE procesu, i określa węzeł NUMA dla pamięci fizycznej.
FreeUserPhysicalPages Zwalnia strony pamięci fizycznej przydzielone wcześniej za pomocą AllocateUserPhysicalPages.
MapUserPhysicalPages Mapuje wcześniej przydzielone strony pamięci fizycznej pod określonym adresem w regionie AWE.
MapUserPhysicalPagesScatter Mapuje wcześniej przydzielone strony pamięci fizycznej pod określonym adresem w regionie AWE.

Funkcje stert

Są to funkcje stert .

Funkcja Opis
GetProcessHeap Uzyskuje uchwyt do sterta procesu wywoływania.
GetProcessHeaps Uzyskuje uchwyty do wszystkich stertów, które są prawidłowe dla procesu wywoływania.
HeapAlloc Przydziela blok pamięci ze sterta.
HeapCompact Łączą sąsiadujące wolne bloki pamięci na stercie.
stertaTworzenie Tworzy obiekt sterta.
heapDestroy Niszczy określony obiekt sterta.
HeapFree Zwalnia blok pamięci przydzielony ze sterta.
HeapLock Próbuje uzyskać blokadę skojarzona z określonym stertą.
heapQueryInformation Pobiera informacje o określonej stercie.
HeapReAlloc Przydzieli blok pamięci z sterta.
HeapSetInformation Ustawia informacje stert dla określonego sterta.
HeapSize Pobiera rozmiar bloku pamięci przydzielonego ze sterty.
HeapUnlock Zwalnia własność blokady skojarzonej z określonym stertą.
HeapValidate Próbuje zweryfikować określoną stertę.
HeapWalk Wylicza bloki pamięci w określonym stercie.

Funkcje pamięci wirtualnej

Są to funkcje pamięci wirtualnej .

Funkcja Opis
OdrzućVirtualMemory Odrzuca zawartość pamięci na różnych stronach pamięci bez dekomunikowania pamięci. Zawartość odrzuconej pamięci jest niezdefiniowana i musi zostać przepisana przez aplikację.
OfferVirtualMemory Wskazuje, że dane zawarte w zakresie stron pamięci nie są już potrzebne przez aplikację i mogą zostać odrzucone przez system w razie potrzeby.
prefetchVirtualMemory Wstępne pobieranie zakresów adresów wirtualnych do pamięci fizycznej.
QueryVirtualMemoryInformation Zwraca informacje o stronie lub zestawie stron w wirtualnej przestrzeni adresowej określonego procesu.
ReclaimVirtualMemory Odzyskuje szereg stron pamięci oferowanych systemowi za pomocą OfferVirtualMemory.
SetProcessValidCallTargets Udostępnia grupę CFG z listą prawidłowych celów wywołań pośrednich i określa, czy mają być oznaczone jako prawidłowe, czy nie.
VirtualAlloc Rezerwuje lub zatwierdza region stron w wirtualnej przestrzeni adresowej procesu wywołującego.
VirtualAlloc2 Rezerwuje, zatwierdza lub zmienia stan regionu pamięci w wirtualnej przestrzeni adresowej określonego procesu. Funkcja inicjuje pamięć przydzielaną do zera.
VirtualAlloc2FromApp Rezerwuje, zatwierdza lub zmienia stan stron w wirtualnej przestrzeni adresowej procesu wywołującego. Pamięć przydzielona przez tę funkcję jest automatycznie inicjowana do zera.
VirtualAllocEx Rezerwuje lub zatwierdza region stron w wirtualnej przestrzeni adresowej określonego procesu.
VirtualAllocExNuma Rezerwuje lub zatwierdza region pamięci w wirtualnej przestrzeni adresowej określonego procesu i określa węzeł NUMA dla pamięci fizycznej.
VirtualAllocFromApp Rezerwuje, zatwierdza lub zmienia stan stron w wirtualnej przestrzeni adresowej procesu wywołującego. Pamięć przydzielona przez tę funkcję jest automatycznie inicjowana do zera.
VirtualFree Zwalnia lub dekomunikuje region stron w wirtualnej przestrzeni adresowej procesu wywołującego.
VirtualFreeEx Zwalnia lub dekomunikuje region pamięci w wirtualnej przestrzeni adresowej określonego procesu.
VirtualLock Blokuje określony region wirtualnej przestrzeni adresowej procesu do pamięci fizycznej.
VirtualProtect Zmienia ochronę dostępu w regionie zatwierdzonych stron w wirtualnej przestrzeni adresowej procesu wywołującego.
VirtualProtectEx Zmienia ochronę dostępu w regionie zatwierdzonych stron w wirtualnej przestrzeni adresowej procesu wywołującego.
VirtualProtectFromApp Zmienia ochronę w regionie zatwierdzonych stron w wirtualnej przestrzeni adresowej procesu wywołującego.
VirtualQuery Zawiera informacje o zakresie stron w wirtualnej przestrzeni adresowej procesu wywoływania.
VirtualQueryEx Zawiera informacje o zakresie stron w wirtualnej przestrzeni adresowej procesu wywoływania.
VirtualUnlock Odblokuje określony zakres stron w wirtualnej przestrzeni adresowej procesu.

Funkcje globalne i lokalne

Zobacz również funkcje globalne i lokalne. Te funkcje są udostępniane pod kątem zgodności z 16-bitowymi systemami Windows i są używane z funkcją Dynamicznej wymiany danych (DDE), funkcjami schowka i obiektami danych OLE. O ile nie określono konkretnie dokumentacji, że powinna być używana funkcja globalna lub lokalna, nowe aplikacje powinny używać odpowiedniej funkcji sterty z dojściem zwróconym przez GetProcessHeap. Aby uzyskać równoważną funkcjonalność funkcji globalnej lub lokalnej, ustaw parametr dwFlags funkcji stertowej na 0.

Funkcja Opis Odpowiadająca funkcja sterta
globalalloc, LocalAlloc Przydziela określoną liczbę bajtów ze sterty. HeapAlloc
GlobalDiscard LocalDiscard Odrzuca określony globalny blok pamięci. Nie dotyczy.
GlobalFlags, LocalFlags Zwraca informacje o określonym obiekcie pamięci globalnej. Nie dotyczy. Użyj HeapValidate, aby zweryfikować stertę.
GlobalFree, LocalFree Zwalnia określony obiekt pamięci globalnej. HeapFree
GlobalHandle, LocalHandle Pobiera uchwyt skojarzony z określonym wskaźnikiem do globalnego bloku pamięci. Ta funkcja powinna być używana tylko z funkcjami OLE i schowka, które jej wymagają. Nie dotyczy.
GlobalLockLocalLock Blokuje obiekt pamięci globalnej i zwraca wskaźnik do pierwszego bajtu bloku pamięci obiektu. Nie dotyczy.
GlobalReAlloc, LocalReAlloc Zmienia rozmiar lub atrybuty określonego obiektu pamięci globalnej. HeapReAlloc
GlobalSize, LocalSize Pobiera bieżący rozmiar określonego obiektu pamięci globalnej. HeapSize
GlobalUnlock, LocalUnlock Dekrementuje liczbę blokad skojarzonych z obiektem pamięci. Ta funkcja powinna być używana tylko z funkcjami OLE i schowka, które jej wymagają. Nie dotyczy.

Nieprawidłowe funkcje pamięci

Funkcja Opis
BadMemoryCallbackRoutine Funkcja zdefiniowana przez aplikację zarejestrowana w RegisterBadMemoryNotification funkcji wywoływanej po wykryciu co najmniej jednej nieprawidłowej pamięci.
GetMemoryErrorHandlingCapabilities Pobiera możliwości obsługi błędów pamięci systemu.
RegisterBadMemoryNotification Rejestruje nieprawidłowe powiadomienie o pamięci, które jest wywoływane po wykryciu co najmniej jednej złej pamięci.
UnregisterBadMemoryNotification Zamyka określony uchwyt powiadomień o nieprawidłowej pamięci.

Funkcje enklawy

Funkcja Opis
CreateEnclave Tworzy nową niezainicjowaną enklawę. Enklawa to izolowany region kodu i danych w przestrzeni adresowej aplikacji. Tylko kod uruchamiany w enklawie może uzyskiwać dostęp do danych w ramach tej samej enklawy.
initializeEnclave Inicjuje enklawę utworzoną i załadowaną z danymi.
IsEnclaveTypeSupported Pobiera, czy jest obsługiwany określony typ enklawy.
LoadEnclaveData Ładuje dane do niezainicjowanej enklawy utworzonej przez wywołanie CreateEnclave.

Funkcje ATL thunk

Funkcja Opis
AtlThunk_AllocateData Przydziela miejsce w pamięci dla atl thunk.
AtlThunk_DataToCode Zwraca funkcję wykonywalną odpowiadającą parametrowi AtlThunkData_t.
AtlThunk_FreeData Zwalnia pamięć skojarzona z atl thunk.
AtlThunk_InitData Inicjuje atl thunk.

Przestarzałe funkcje

Te funkcje są udostępniane tylko pod kątem zgodności z 16-bitowymi wersjami systemu Windows:

Poniższa funkcja może zwracać nieprawidłowe informacje i nie powinna być używana. Zamiast tego użyj funkcji GlobalMemoryStatusEx.