Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Karşılık gelen Win32 işlevi için mantıksal sarmalayıcı işlevi görür. Win32 uygulaması, çağrı işleminin VirtualAlloc sanal adres alanında sayfaların bir bölgesini ayırır veya işler.
Sözdizimi
HRESULT VirtualAlloc (
[in] void* pAddress,
[in] SIZE_T dwSize,
[in] DWORD flAllocationType,
[in] DWORD flProtect,
[in] EMemoryCriticalLevel dwCriticalLevel,
[out] void** ppMem
);
Parametreler
pAddress
[in] Ayrılacak bölgenin başlangıç adresinin işaretçisi.
dwSize
[in] Bölgenin bayt cinsinden boyutu.
flAllocationType
[in] Bellek ayırma türü.
flProtect
[in] Ayrılacak sayfaların bölgesi için bellek koruması.
dwCriticalLevel
[in] Ayırma hatasının etkisini gösteren bir EMemoryCriticalLevel değeri.
ppMem
[out] Ayrılan belleğin başlangıç adresinin işaretçisi veya istek karşılanamadıysa null.
Dönüş Değeri
| HRESULT | Description |
|---|---|
| S_OK |
VirtualAlloc başarıyla döndürüldü. |
| HOST_E_CLRNOTAVAILABLE | Ortak dil çalışma zamanı (CLR) bir işleme yüklenmemiş veya CLR yönetilen kodu çalıştıramadığı veya çağrıyı başarıyla işleyemediği bir durumda. |
| HOST_E_TIMEOUT | Arama zaman aşımına uğradı. |
| HOST_E_NOT_OWNER | Çağıranın kilidi yoktur. |
| HOST_E_ABANDONED | Engellenen bir iş parçacığı veya fiber beklerken bir olay iptal edildi. |
| E_FAIL | Bilinmeyen bir yıkıcı hata oluştu. Bir yöntem E_FAIL döndürdüğünde, CLR artık işlem içinde kullanılamaz. Barındırma yöntemlerine yapılan sonraki çağrılar HOST_E_CLRNOTAVAILABLE döndürür. |
| E_OUTOFMEMORY | Ayırma isteğini tamamlamak için yeterli bellek yoktu |
Açıklamalar
çağrısı VirtualAllocyaparak işleminizin adres alanında bir bölge ayırabilirsiniz.
pAddress parametresi, istediğiniz bellek bloğunun başlangıç adresini içerir. Bu parametre genellikle null olarak ayarlanır. İşletim sistemi, işleminizde kullanılabilen ücretsiz adres aralıklarının kaydını tutar.
pAddress null değeri sisteme uygun gördüğü her yerde bölgeyi ayırmasını emreder. Alternatif olarak, bellek bloğu için belirli bir başlangıç adresi sağlayabilirsiniz. Her iki durumda da çıkış parametresi ppMem ayrılan belleğin işaretçisi olarak döndürülür. İşlevin kendisi bir HRESULT değeri döndürür.
Win32 VirtualAlloc işlevinin bir ppMem parametresi yoktur ve bunun yerine ayrılan belleğin işaretçisini döndürür. Daha fazla bilgi için Windows Platformu belgelerine bakın.
Gereksinimler
Platform: Bkz. Sistem Gereksinimleri.
Üstbilgi: MSCorEE.h
Kitaplığı: MSCorEE.dll'da kaynak olarak dahil edilen
.NET Framework Sürümleri: 2.0 sürümünden itibaren kullanılabilir