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.
CopyDeviceMemory Copia memoria da una posizione a un'altra senza interferenze dalle ottimizzazioni del compilatore in situazioni in cui lo sviluppatore deve anche assicurarsi che gli errori di allineamento non verranno generati durante l'accesso alla memoria del dispositivo.
CopyMemory Copia un blocco di memoria da una posizione a un'altra.
CopyVolatileMemory Copia il contenuto di un blocco di memoria di origine in un blocco di memoria di destinazione.
CreateMemoryResourceNotification Crea un oggetto notifica della risorsa di memoria.
FillDeviceMemory Imposta il contenuto di un buffer senza interferenze dalle ottimizzazioni del compilatore in situazioni in cui lo sviluppatore deve inoltre assicurarsi che gli errori di allineamento non vengano generati durante l'accesso alla memoria del dispositivo.
FillMemory Riempie un blocco di memoria con un valore specificato.
FillVolatileMemory Riempie un blocco di memoria con il valore di riempimento 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 delle dimensioni 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 a un'altra.
MoveVolatileMemory Copia il contenuto di un blocco di memoria di origine in un blocco di memoria di destinazione e supporta blocchi di memoria di origine e di destinazione sovrapposti.
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 delle scritture per un'area di memoria virtuale.
SecureMemoryCacheCallback Funzione definita dall'applicazione chiamata quando viene liberato un intervallo di memoria protetto o le relative protezioni vengono modificate.
SecureZeroMemory Riempie un blocco di memoria con zeri.
SecureZeroMemory2 Riempie un blocco di memoria con zeri in modo da garantire la sicurezza.
SetSystemFileCacheSize Limita le dimensioni del working set per la cache del file system.
ZeroDeviceMemory Imposta il contenuto di un buffer su zero senza interferenze dalle ottimizzazioni del compilatore in situazioni in cui lo sviluppatore deve inoltre assicurarsi che gli errori di allineamento non vengano generati durante l'accesso alla memoria del dispositivo.
ZeroMemory Riempie un blocco di memoria con zeri.
ZeroVolatileMemory Riempie un blocco di memoria con zeri.

Funzioni di prevenzione dell'esecuzione dei dati

Queste funzioni vengono usate con La prevenzione dell'esecuzione dei dati (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 di 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 paging nello spazio degli indirizzi del processo specificato.
MapViewOfFile3 Mappe una visualizzazione di un file o di una sezione basata su file di paging 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 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 paging 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 Rimuove 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 file di pagina.
UnmapViewOfFileEx Annulla il mapping di una visualizzazione mappata in precedenza di un file o di una sezione supportata da file di pagina.

Funzioni AWE

Queste sono le funzioni AWE.

Funzione Descrizione
AllocateUserPhysicalPages Alloca le pagine di memoria fisica di cui eseguire il mapping e il mapping all'interno di qualsiasi area AWE del processo.
AllocateUserPhysicalPagesNuma Alloca le pagine di memoria fisica di cui eseguire il mapping e 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 allocate in precedenza con AllocateUserPhysicalPages.
MapUserPhysicalPages Mappe pagine di memoria fisica precedentemente allocate all'indirizzo specificato all'interno di un'area AWE.
MapUserPhysicalPagesScatter Mappe pagine di memoria fisica precedentemente allocate all'indirizzo specificato all'interno di un'area AWE.

Funzioni heap

Queste sono le funzioni dell'heap.

Funzione Descrizione
GetProcessHeap Ottiene un handle per l'heap del processo chiamante.
GetProcessHeaps Ottiene gli handle per tutti gli heap validi per il processo chiamante.
HeapAlloc Alloca un blocco di memoria da un heap.
HeapCompact Coalesces blocchi liberi adiacenti di memoria in un heap.
HeapCreare Crea un oggetto heap.
HeapDestroy Elimina definitivamente 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 Rialloca 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
DiscardVirtualMemory Elimina il contenuto della memoria di un intervallo di pagine di memoria, senza decommettere la memoria. Il contenuto della memoria rimossa 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 per l'applicazione e possono essere rimossi dal sistema, se necessario.
PrefetchVirtualMemory Prelettura degli 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.
ReclaimVirtualMemory 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 come valide o meno.
Virtualalloc Riserva o esegue il commit di un'area di pagine nello spazio degli indirizzi virtuali 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 degli indirizzi virtuali 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 degli indirizzi virtuali 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 di pagine di cui è stato eseguito il commit nello spazio indirizzi virtuale del processo chiamante.
VirtualProtectEx Modifica la protezione di accesso in un'area di pagine di cui è stato eseguito il commit nello spazio indirizzi virtuale del processo chiamante.
VirtualProtectFromApp Modifica la protezione in un'area di pagine di cui è stato eseguito il commit nello spazio degli indirizzi virtuali del processo chiamante.
VirtualQuery Fornisce informazioni su un intervallo di pagine nello spazio degli indirizzi virtuali del processo chiamante.
VirtualQueryEx Fornisce informazioni su un intervallo di pagine nello spazio degli indirizzi virtuali 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 Dynamic Data 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 la funzionalità equivalente 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 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 memoria. 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 che viene 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 una nuova enclave non inizializzata. 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 della stessa enclave.
InitializeEnclave Inizializza un enclave creato e caricato con i dati.
IsEnclaveTypeSupported Recupera un valore che indica se il tipo di enclave specificato è supportato.
LoadEnclaveData Carica i dati in un enclave non inizializzato creato chiamando CreateEnclave.

Funzioni di atl thunk

Funzione Descrizione
AtlThunk_AllocateData Alloca spazio in memoria per un file ATL.Allocate space in memory for an ATL enumerato.
AtlThunk_DataToCode Restituisce una funzione eseguibile corrispondente al parametro AtlThunkData_t.
AtlThunk_FreeData Libera la memoria associata a un pacchetto ATL.
AtlThunk_InitData Inizializza un pacchetto ATL.Initialize an ATL integerk.

Funzioni obsolete

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

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