Megosztás:


IHostMemoryManager::VirtualAlloc metódus

A megfelelő Win32 függvény logikai burkolójaként szolgál. A Win32-implementáció VirtualAlloc fenntartja vagy véglegesíti a hívófolyamat virtuális címterében található oldalak egy régióját.

Szintaxis

HRESULT VirtualAlloc (  
    [in]  void*   pAddress,  
    [in]  SIZE_T  dwSize,  
    [in]  DWORD   flAllocationType,  
    [in]  DWORD   flProtect,  
    [in]  EMemoryCriticalLevel dwCriticalLevel,  
    [out] void**  ppMem  
);  

Paraméterek

pAddress
[in] Mutató a lefoglalni kívánt régió kezdőcímére.

dwSize
[in] A régió mérete bájtban.

flAllocationType
[in] A memóriafoglalás típusa.

flProtect
[in] Memóriavédelem a lefoglalandó lapok régiójában.

dwCriticalLevel
[in] Egy EMemoryCriticalLevel érték, amely egy foglalási hiba hatását jelzi.

ppMem
[kifelé] Mutasson a lefoglalt memória kezdőcímére, vagy null értékűre, ha a kérés nem teljesíthető.

Visszatérési érték

HRESULT Description
S_OK VirtualAlloc sikeresen visszaadott.
HOST_E_CLRNOTAVAILABLE A közös nyelvi futtatókörnyezet (CLR) nincs betöltve egy folyamatba, vagy a CLR olyan állapotban van, amelyben nem tudja futtatni a felügyelt kódot, vagy nem tudja sikeresen feldolgozni a hívást.
HOST_E_TIMEOUT A hívás túllépte az időkorlátot.
HOST_E_NOT_OWNER A hívó nem rendelkezik a zárral.
HOST_E_ABANDONED Egy esemény megszakadt, miközben egy blokkolt szál vagy szál várt rá.
E_FAIL Ismeretlen katasztrofális hiba történt. Amikor egy metódus E_FAIL ad vissza, a CLR már nem használható a folyamaton belül. Az üzemeltetési módszerek későbbi hívásai HOST_E_CLRNOTAVAILABLE ad vissza.
E_OUTOFMEMORY Nem volt elegendő memória a foglalási kérelem befejezéséhez

Megjegyzések

A folyamat címterében egy régiót foglal le a meghívásával VirtualAlloc. A pAddress paraméter a kívánt memóriablokk kezdőcímét tartalmazza. Ez a paraméter általában null értékre van állítva. Az operációs rendszer nyilvántartást vezet a folyamat számára elérhető ingyenes címtartományokról. A pAddress null érték arra utasítja a rendszert, hogy fenntartsa a régiót bárhol, ahol látja. Másik lehetőségként megadhat egy adott kezdőcímet a memóriablokkhoz. A kimeneti paraméter ppMem mindkét esetben a lefoglalt memória mutatójaként lesz visszaadva. Maga a függvény egy HRESULT értéket ad vissza.

A Win32 VirtualAlloc függvény nem rendelkezik paraméterrel ppMem , és inkább a lefoglalt memóriára mutató mutatót adja vissza. További információt a Windows Platform dokumentációjában talál.

Követelmények

Platformok: Lásd: Rendszerkövetelmények.

Fejléc: MSCorEE.h

Könyvtár: Erőforrásként szerepel a MSCorEE.dll

.NET-keretrendszer verziók: 2.0 óta elérhető

Lásd még