Função NdisFreeMemory (ndis.h)
A função NdisFreeMemory libera um bloco de memória que foi alocado anteriormente com a função NdisAllocateMemoryWithTagPriority.
Sintaxe
void NdisFreeMemory(
[in] PVOID VirtualAddress,
[in] UINT Length,
[in] UINT MemoryFlags
);
Parâmetros
[in] VirtualAddress
Um ponteiro para o endereço virtual base da memória alocada. Esse endereço foi retornado pela função NdisAllocateMemoryWithTagPriority.
[in] Length
O tamanho, em bytes, do bloco de memória a ser liberado. Se a memória foi alocada com NdisAllocateMemoryWithTagPriority ou o parâmetro MemoryFlags for zero, esse parâmetro será ignorado.
[in] MemoryFlags
Um conjunto de sinalizadores que especificam o tipo de memória a ser livre. Esse valor deve ser zero se a memória foi alocada com NdisAllocateMemoryWithTagPriority. Com o NDIS 6.0 e versões posteriores, o NdisAllocateMemoryWithTagPriority é sempre usado para alocar memória.
Valor de retorno
Nenhum
Observações
Como memória não armazenada em cache e memória contígua raramente são liberadas até que o driver de miniporto alocador esteja descarregando, um chamador de NdisFreeMemory geralmente está em execução em IRQL = PASSIVE_LEVEL para esses tipos de desalocações. Em qualquer caso:
- Ao liberar memória contígua, um chamador de NdisFreeMemory deve estar em execução em IRQL = PASSIVE_LEVEL.
- Ao liberar memória não em cache, um chamador de NdisFreeMemory deve estar em execução no < DISPATCH_LEVEL IRQL.
- Ao liberar memória que não seja contígua nem não armazenada em cache, um chamador de NdisFreeMemory deve estar em execução no IRQL <= DISPATCH_LEVEL.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte NdisFreeMemory (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte NdisFreeMemory (NDIS 5.1)) no Windows XP. |
da Plataforma de Destino | Universal |
cabeçalho | ndis.h (inclua Ndis.h) |
biblioteca | Ndis.lib |
IRQL | Consulte a seção Comentários |
regras de conformidade de DDI | Irql_Miscellaneous_Function(ndis), NdisAllocateMemoryWithTagPriority_Cleanup(ndis), NdisAllocateMemoryWithTagPriority_InitFail(ndis), NdisQueryBindInstanceName(ndis) |