Partilhar via


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

Consulte também

Referência

Interface IHostMemoryManager