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 deverá ser zero se a memória tiver sido alocada com NdisAllocateMemoryWithTagPriority. Com o NDIS 6.0 e versões posteriores, o NdisAllocateMemoryWithTagPriority é sempre usado para alocar memória.
Retornar valor
Nenhum
Comentários
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 sendo descarregado, um chamador de NdisFreeMemory geralmente está em execução em IRQL = PASSIVE_LEVEL para esses tipos de desalocações. De qualquer forma:
- 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 cache, um chamador de NdisFreeMemory deve estar em execução no IRQL < DISPATCH_LEVEL.
- Ao liberar memória que não é contígua nem não armazenada em cache, um chamador de NdisFreeMemory deve estar em execução no IRQL <= DISPATCH_LEVEL.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | 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. |
Plataforma de Destino | Universal |
Cabeçalho | ndis.h (inclua Ndis.h) |
Biblioteca | Ndis.lib |
IRQL | Consulte a seção Comentários |
Regras de conformidade da DDI | Irql_Miscellaneous_Function(ndis), NdisAllocateMemoryWithTagPriority_Cleanup(ndis), NdisAllocateMemoryWithTagPriority_InitFail(ndis), NdisQueryBindInstanceName(ndis) |