Funzioni di gestione della memoria

Funzioni di memoria generali

Funzione Descrizione
AddSecureMemoryCacheCallback Registra una funzione di callback da chiamare quando viene liberato un intervallo di memoria protetto o le relative protezioni vengono modificate.
CopyMemory Copia un blocco di memoria da una posizione a un'altra.
CreateMemoryResourceNotification Crea un oggetto notifica della risorsa di memoria.
FillMemory Riempie un blocco di memoria con un valore specificato.
GetLargePageMinimum Recupera le dimensioni minime di una pagina di grandi dimensioni.
GetPhysicallyInstalledSystemMemory Recupera la quantità di RAM installata fisicamente nel computer.
GetSystemFileCacheSize Recupera i limiti di dimensione correnti per il working set della cache di sistema.
GetWriteWatch Recupera gli indirizzi delle pagine scritte in in un'area di memoria virtuale.
GlobalMemoryStatusEx Ottiene informazioni sull'utilizzo corrente del sistema sia della memoria fisica che virtuale.
MoveMemory Sposta un blocco di memoria da una posizione all'altra.
QueryMemoryResourceNotification Recupera lo stato dell'oggetto risorsa di memoria specificato.
RemoveSecureMemoryCacheCallback Annulla la registrazione di una funzione di callback registrata in precedenza con la funzione AddSecureMemoryCacheCallback .
ResetWriteWatch Reimposta lo stato di rilevamento della scrittura per un'area di memoria virtuale.
SecureMemoryCacheCallback Funzione definita dall'applicazione che viene chiamata quando viene liberato un intervallo di memoria protetto o le relative protezioni vengono modificate.
SecureZeroMemory Riempie un blocco di memoria con zeri.
SetSystemFileCacheSize Limita le dimensioni del working set per la cache del file system.
ZeroMemory Riempie un blocco di memoria con zeri.

Funzioni di prevenzione dell'esecuzione dei dati

Queste funzioni vengono usate con Data Execution Prevention (DEP).

Funzione Descrizione
GetProcessDEPPolicy Recupera le impostazioni DEP per un processo.
GetSystemDEPPolicy Recupera le impostazioni DEP per il sistema.
SetProcessDEPPolicy Modifica le impostazioni DEP per un processo.

Funzioni di mapping dei file

Queste funzioni vengono usate nel mapping dei file.

Funzione Descrizione
CreateFileMappingA Crea o apre un oggetto di mapping di file denominato o senza nome per un file specificato.
CreateFileMappingW Crea o apre un oggetto di mapping di file denominato o senza nome per un file specificato.
CreateFileMapping2 Crea o apre un oggetto di mapping di file denominato o senza nome per un file specificato. È possibile specificare un nodo NUMA preferito per la memoria fisica come parametro esteso; vedere il parametro ExtendedParameters .
CreateFileMappingFromApp Crea o apre un oggetto di mapping di file denominato o senza nome per un file specificato da un'app di Windows Store.
CreateFileMappingNuma Crea o apre un oggetto di mapping di file denominato o senza nome per un file specificato e specifica il nodo NUMA per la memoria fisica.
FlushViewOfFile Scrive nel disco un intervallo di byte all'interno di una visualizzazione mappata di un file.
GetMappedFileName Controlla se l'indirizzo specificato si trova all'interno di un file mappato alla memoria nello spazio indirizzi del processo specificato. In tal caso, la funzione restituisce il nome del file mappato alla memoria.
MapViewOfFile Mappe una visualizzazione di un mapping di file nello spazio indirizzi di un processo chiamante.
MapViewOfFile2 Mappe una visualizzazione di un file o di una sezione basata su file di pagina nello spazio degli indirizzi del processo specificato.
MapViewOfFile3 Mappe una visualizzazione di un file o di una sezione basata su file di pagina nello spazio degli indirizzi del processo specificato.
MapViewOfFile3FromApp Mappe una visualizzazione di un mapping di file nello spazio indirizzi di un processo chiamante da un'app di Windows Store.
MapViewOfFileEx Mappe una visualizzazione di un mapping di file nello spazio indirizzi di un processo chiamante. Un chiamante può facoltativamente specificare un indirizzo di memoria suggerito per la visualizzazione.
MapViewOfFileExNuma Mappe una visualizzazione di un mapping di file nello spazio degli indirizzi di un processo chiamante e specifica il nodo NUMA per la memoria fisica.
MapViewOfFileFromApp Mappe una visualizzazione di un mapping di file nello spazio indirizzi di un processo chiamante da un'app di Windows Store.
MapViewOfFileNuma2 Mappe una visualizzazione di un file o di una sezione basata su file di pagina nello spazio degli indirizzi del processo specificato.
OpenFileMapping Apre un oggetto di mapping di file denominato.
OpenFileMappingFromApp Apre un oggetto di mapping di file denominato.
UnmapViewOfFile Annulla il mapping di una visualizzazione mappata di un file dallo spazio indirizzi del processo chiamante.
UnmapViewOfFile2 Annulla il mapping di una visualizzazione mappata in precedenza di un file o di una sezione supportata da pagefile.
UnmapViewOfFileEx Annulla il mapping di una visualizzazione mappata in precedenza di un file o di una sezione supportata da pagefile.

Funzioni AWE

Queste sono le funzioni AWE.

Funzione Descrizione
AllocateUserPhysicalPages Alloca le pagine di memoria fisica da mappare e annullare il mapping all'interno di qualsiasi area AWE del processo.
AllocateUserPhysicalPagesNuma Alloca le pagine di memoria fisica da mappare e annullare il mapping all'interno di qualsiasi area AWE del processo e specifica il nodo NUMA per la memoria fisica.
FreeUserPhysicalPages Libera le pagine di memoria fisica assegnate in precedenza con AllocateUserPhysicalPages.
MapUserPhysicalPages Mappe le pagine di memoria fisica assegnate in precedenza all'indirizzo specificato all'interno di un'area AWE.
MapUserPhysicalPagesScatter Mappe le pagine di memoria fisica assegnate in precedenza all'indirizzo specificato all'interno di un'area AWE.

Funzioni heap

Queste sono le funzioni heap.

Funzione Descrizione
GetProcessHeap Ottiene un handle per l'heap del processo di chiamata.
GetProcessHeaps Ottiene gli handle a tutti gli heaps validi per il processo di chiamata.
HeapAlloc Alloca un blocco di memoria da un heap.
HeapCompact Coalesces blocchi liberi adiacenti di memoria su un heap.
HeapCreate Crea un oggetto heap.
HeapDestroy Elimina l'oggetto heap specificato.
HeapFree Libera un blocco di memoria allocato da un heap.
HeapLock Tenta di acquisire il blocco associato a un heap specificato.
HeapQueryInformation Recupera informazioni sull'heap specificato.
HeapReAlloc Realloca un blocco di memoria da un heap.
HeapSetInformation Imposta le informazioni sull'heap per l'heap specificato.
HeapSize Recupera le dimensioni di un blocco di memoria allocato da un heap.
HeapUnlock Rilascia la proprietà del blocco associato a un heap specificato.
HeapValidate Tenta di convalidare un heap specificato.
HeapWalk Enumera i blocchi di memoria in un heap specificato.

Funzioni di memoria virtuale

Queste sono le funzioni di memoria virtuale.

Funzione Descrizione
RimuoviVirtualMemory Rimuove il contenuto della memoria di un intervallo di pagine di memoria, senza decommettere la memoria. Il contenuto della memoria ignorata non è definito e deve essere riscritto dall'applicazione.
OfferVirtualMemory Indica che i dati contenuti in un intervallo di pagine di memoria non sono più necessari dall'applicazione e possono essere rimossi dal sistema, se necessario.
PrefetchVirtualMemory Precuperi gli intervalli di indirizzi virtuali nella memoria fisica.
QueryVirtualMemoryInformation Restituisce informazioni su una pagina o un set di pagine all'interno dello spazio indirizzi virtuale del processo specificato.
RecuperaVirtualMemory Recupera un intervallo di pagine di memoria offerte al sistema con OfferVirtualMemory.
SetProcessValidCallTargets Fornisce CFG con un elenco di destinazioni di chiamata indirette valide e specifica se devono essere contrassegnate o meno.
Virtualalloc Riserva o esegue il commit di un'area di pagine nello spazio indirizzi virtuale del processo chiamante.
VirtualAlloc2 Riserva, commit o modifica lo stato di un'area di memoria all'interno dello spazio indirizzi virtuale di un processo specificato. La funzione inizializza la memoria allocata a zero.
VirtualAlloc2FromApp Riserva, commit o modifica lo stato di un'area di pagine nello spazio indirizzi virtuale del processo chiamante. La memoria allocata da questa funzione viene inizializzata automaticamente su zero.
VirtualAllocEx Riserva o esegue il commit di un'area di pagine nello spazio indirizzi virtuale del processo specificato.
VirtualAllocExNuma Riserva o esegue il commit di un'area di memoria all'interno dello spazio indirizzi virtuale del processo specificato e specifica il nodo NUMA per la memoria fisica.
VirtualAllocFromApp Riserva, commit o modifica lo stato di un'area di pagine nello spazio indirizzi virtuale del processo chiamante. La memoria allocata da questa funzione viene inizializzata automaticamente su zero.
Virtualfree Rilascia o decommette un'area di pagine all'interno dello spazio indirizzi virtuale del processo chiamante.
VirtualFreeEx Rilascia o decommette un'area di memoria all'interno dello spazio indirizzi virtuale di un processo specificato.
VirtualLock Blocca l'area specificata dello spazio indirizzi virtuale del processo nella memoria fisica.
VirtualProtect Modifica la protezione di accesso in un'area delle pagine di commit nello spazio indirizzi virtuale del processo di chiamata.
VirtualProtectEx Modifica la protezione di accesso in un'area delle pagine di commit nello spazio indirizzi virtuale del processo di chiamata.
VirtualProtectFromApp Modifica la protezione in un'area di pagine di commit nello spazio indirizzi virtuale del processo di chiamata.
VirtualQuery Fornisce informazioni su un intervallo di pagine nello spazio indirizzi virtuale del processo chiamante.
VirtualQueryEx Fornisce informazioni su un intervallo di pagine nello spazio indirizzi virtuale del processo chiamante.
VirtualUnlock Sblocca un intervallo specificato di pagine nello spazio indirizzi virtuale di un processo.

Funzioni globali e locali

Vedere anche funzioni globali e locali. Queste funzioni vengono fornite per la compatibilità con Windows a 16 bit e vengono usate con i dati dinamici Exchange (DDE), le funzioni degli Appunti e gli oggetti dati OLE. A meno che la documentazione non indichi specificamente che deve essere usata una funzione globale o locale, le nuove applicazioni devono usare la funzione heap corrispondente con l'handle restituito da GetProcessHeap. Per le funzionalità equivalenti alla funzione globale o locale, impostare il parametro dwFlags della funzione heap su 0.

Funzione Descrizione Funzione heap corrispondente
GlobalAlloc, LocalAlloc Alloca il numero specificato di byte dall'heap. HeapAlloc
GlobalDiscard, LocalDiscard Rimuove il blocco di memoria globale specificato. Non applicabile.
GlobalFlags, LocalFlags Restituisce informazioni sull'oggetto memoria globale specificato. Non applicabile. Usare HeapValidate per convalidare l'heap.
GlobalFree, LocalFree Libera l'oggetto memoria globale specificato. HeapFree
GlobalHandle, LocalHandle Recupera l'handle associato al puntatore specificato a un blocco di memoria globale. Questa funzione deve essere usata solo con le funzioni OLE e Appunti che lo richiedono. Non applicabile.
GlobalLock, LocalLock Blocca un oggetto memoria globale e restituisce un puntatore al primo byte del blocco di memoria dell'oggetto. Non applicabile.
GlobalReAlloc, LocalReAlloc Modifica le dimensioni o gli attributi di un oggetto di memoria globale specificato. HeapReAlloc
GlobalSize, LocalSize Recupera le dimensioni correnti dell'oggetto memoria globale specificato. HeapSize
GlobalUnlock, LocalUnlock Decrementa il conteggio dei blocchi associato a un oggetto memory. Questa funzione deve essere usata solo con le funzioni OLE e Appunti che lo richiedono. Non applicabile.

Funzioni di memoria non valida

Funzione Descrizione
BadMemoryCallbackRoutine Funzione definita dall'applicazione registrata con la funzione RegisterBadMemoryNotification chiamata quando vengono rilevate una o più pagine di memoria non valida.
GetMemoryErrorHandlingCapabilities Ottiene le funzionalità di gestione degli errori di memoria del sistema.
RegisterBadMemoryNotification Registra una notifica di memoria non valida chiamata quando vengono rilevate una o più pagine di memoria non valida.
UnregisterBadMemoryNotification Chiude l'handle di notifica di memoria non valido specificato.

Funzioni enclave

Funzione Descrizione
CreateEnclave Crea un nuovo enclave non inizializzato. Un enclave è un'area isolata di codice e dati all'interno dello spazio indirizzi per un'applicazione. Solo il codice eseguito all'interno dell'enclave può accedere ai dati all'interno dello stesso enclave.
InitializeEnclave Inizializza un enclave creato e caricato con i dati.
IsEnclaveTypeSupported Recupera se il tipo specificato di enclave è supportato.
LoadEnclaveData Carica i dati in un enclave non inizializzato creato chiamando CreateEnclave.

Funzioni DI THUNK ATL

Funzione Descrizione
AtlThunk_AllocateData Alloca lo spazio in memoria per un thunk ATL.
AtlThunk_DataToCode Restituisce una funzione eseguibile corrispondente al parametro AtlThunkData_t.
AtlThunk_FreeData Libera memoria associata a un thunk ATL.
AtlThunk_InitData Inizializza un thunk ATL.

Funzioni obsolete

Queste funzioni vengono fornite solo per la compatibilità con versioni a 16 bit di Windows:

La funzione seguente può restituire informazioni non corrette e non deve essere usata. Usare invece la funzione GlobalMemoryStatusEx .