Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Slouží jako logická obálka pro odpovídající funkci Win32. Implementace VirtualAlloc Win32 vyhrazuje nebo potvrdí oblast stránek ve virtuálním adresním prostoru volajícího procesu.
Syntaxe
HRESULT VirtualAlloc (
[in] void* pAddress,
[in] SIZE_T dwSize,
[in] DWORD flAllocationType,
[in] DWORD flProtect,
[in] EMemoryCriticalLevel dwCriticalLevel,
[out] void** ppMem
);
Parametry
pAddress
[v] Ukazatel na počáteční adresu oblasti, kterou chcete přidělit.
dwSize
[v] Velikost oblasti (v bajtech).
flAllocationType
[v] Typ přidělení paměti.
flProtect
[v] Ochrana paměti pro oblast stránek, které mají být přiděleny.
dwCriticalLevel
[v] EMemoryCriticalLevel Hodnota, která označuje dopad selhání přidělení.
ppMem
[out] Ukazatel na počáteční adresu přidělené paměti nebo hodnotu null, pokud požadavek nelze splnit.
Návratová hodnota
| HRESULT | Description |
|---|---|
| S_OK |
VirtualAlloc úspěšně vráceno. |
| HOST_E_CLRNOTAVAILABLE | Modul CLR (Common Language Runtime) nebyl načten do procesu nebo je ve stavu, ve kterém nemůže spustit spravovaný kód nebo úspěšně zpracovat volání. |
| HOST_E_TIMEOUT | Časový limit hovoru vypršel. |
| HOST_E_NOT_OWNER | Volající zámek nevlastní. |
| HOST_E_ABANDONED | Událost byla zrušena, zatímco na ni čekalo blokované vlákno nebo vlákno. |
| E_FAIL | Došlo k neznámému závažnému selhání. Když metoda vrátí E_FAIL, clr již není možné v rámci procesu použít. Následná volání metod hostování vrátí HOST_E_CLRNOTAVAILABLE. |
| E_OUTOFMEMORY | K dokončení žádosti o přidělení nebyl k dispozici dostatek paměti. |
Poznámky
Oblast v adresním prostoru procesu si zarezervujete voláním VirtualAllocmetody . Parametr pAddress obsahuje počáteční adresu požadovaného bloku paměti. Tento parametr je obvykle nastaven na hodnotu null. Operační systém uchovává záznamy o volných rozsazích adres, které jsou pro váš proces k dispozici. Hodnota pAddress null dává systému pokyn, aby si oblast rezervoval tam, kde to považuje za vhodné. Alternativně můžete zadat konkrétní počáteční adresu bloku paměti. V obou případech se výstupní parametr ppMem vrátí jako ukazatel na přidělenou paměť. Samotná funkce vrátí hodnotu HRESULT.
Funkce Win32 VirtualAlloc nemá ppMem parametr a místo toho vrací ukazatel na přidělenou paměť. Další informace najdete v dokumentaci k platformě Windows.
Požadavky
Platformy: Viz Požadavky na systém.
Záhlaví: MSCorEE.h
Knihovny: Zahrnutý jako prostředek v MSCorEE.dll
Verze rozhraní .NET Framework: K dispozici od verze 2.0