Método IHostMemoryManager::VirtualAlloc
Serve sistema autônomo um wrapper lógico para a função Win32 correspondente. A implementação de Win32 de VirtualAlloc reserva ou confirma uma região de páginas no espaço de endereço virtual do processo de chamada.
HRESULT VirtualAlloc (
[in] void* pAddress,
[in] SIZE_T dwSize,
[in] DWORD flAllocationType,
[in] DWORD flProtect,
[in] EMemoryCriticalLevel dwCriticalLevel,
[out] void** ppMem
);
Parâmetros
pAddress
[in] Um ponteiro para o endereço inicial da região para alocar.dwSize
[in] O dimensionar, em bytes, da região.flAllocationType
[in] O tipo de alocação de memória.flProtect
[in] Proteção de memória para a região de páginas a ser alocado.dwCriticalLevel
[in] An EMemoryCriticalLevel valor que indica o impacto de uma falha de alocação.ppMem
[out] Ponteiro para o endereço inicial de memória alocada ou nulo se a solicitação não pôde ser atendida.
Valor de retorno
HRESULT |
Descrição |
---|---|
S_OK |
VirtualAlloc retornado com êxito. |
HOST_E_CLRNOTAVAILABLE |
O common linguagem tempo de execução (CLR) não foi carregado em um processo ou o CLR está em um estado em que ele não possa executar código gerenciado ou processar a telefonar com êxito. |
HOST_E_TIMEOUT |
A telefonar expirou. |
HOST_E_NOT_OWNER |
O chamador não é proprietário do bloquear. |
HOST_E_ABANDONED |
Um evento foi cancelado enquanto um segmento bloqueado ou fibra estava aguardando nele. |
E_FAIL |
Ocorreu uma falha catastrófica desconhecida. Quando um método retorna E_FAIL, o CLR não é mais útil dentro do processo. As chamadas subseqüentes à hospedagem métodos retornam HOST_E_CLRNOTAVAILABLE. |
E_OUTOFMEMORY |
Não havia memória suficiente disponível para concluir a solicitação de alocação |
Comentários
Você reservar uma região no espaço de endereço do seu processo chamando VirtualAlloc. The pAddress parâmetro contém o endereço de início do bloco de memória desejada. Esse parâmetro normalmente é definido como nula. O sistema operacional mantém um registro de intervalos de endereços livres disponível para seu processo. A pAddress valor nulo instrui o sistema para reservar a região onde quer que ele vê adequado. Como alternativa, você pode fornecer um endereço inicial específico para o bloco de memória. Em ambos sistema autônomo casos, o parâmetro de saída ppMem é retornado sistema autônomo um ponteiro para a memória alocada. A própria função retorna um valor HRESULT.
O Win32 VirtualAlloc a função não tem um ppMem parâmetro e retorna o ponteiro para a memória alocada em vez disso. Para obter mais informações, consulte a documentação da plataforma Windows.
Requisitos
Plataformas: See Requisitos de sistema do .NET framework.
Cabeçalho: MSCorEE.idl
Biblioteca: Incluído sistema autônomo um recurso em MSCorEE.dll
.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0