Compartilhar via


Função NetApiBufferFree (lmapibuf.h)

A função NetApiBufferFree libera a memória alocada pela função NetApiBufferAllocate . Os aplicativos também devem chamar NetApiBufferFree para liberar a memória que outras funções de gerenciamento de rede usam internamente para retornar informações.

Sintaxe

NET_API_STATUS NET_API_FUNCTION NetApiBufferFree(
  [in] _Frees_ptr_opt_ LPVOID Buffer
);

Parâmetros

[in] Buffer

Um ponteiro para um buffer retornado anteriormente por outra função de gerenciamento de rede ou memória alocada chamando a função NetApiBufferAllocate .

Valor retornado

Se a função for bem-sucedida, o valor retornado será NERR_Success.

Se a função falhar, o valor retornado será um código de erro do sistema. Para obter uma lista de códigos de erro, consulte Códigos de erro do sistema.

Comentários

A função NetApiBufferFree é usada para liberar a memória usada pelas funções de gerenciamento de rede. Essa função é usada em dois casos:

  • Para liberar memória explicitamente alocada por chamadas em um aplicativo para a função NetApiBufferAllocate quando a memória não for mais necessária.
  • Para liberar memória alocada internamente por chamadas em um aplicativo para funções remotas de gerenciamento de rede que retornam informações ao chamador. A biblioteca de tempo de execução RPC aloca internamente o buffer que contém as informações de retorno.

Muitas funções de gerenciamento de rede recuperam informações e retornam essas informações como um buffer que pode conter uma estrutura complexa, uma matriz de estruturas ou uma matriz de estruturas aninhadas. Essas funções usam a biblioteca de tempo de execução RPC para alocar internamente o buffer que contém as informações de retorno, seja a chamada para um computador local ou um servidor remoto. Por exemplo, a função NetServerEnum recupera uma lista de servidores e retorna essas informações como uma matriz de estruturas apontadas pelo parâmetro bufptr . Quando a função é bem-sucedida, a memória é alocada internamente pela função NetServerEnum para armazenar a matriz de estruturas retornadas no parâmetro bufptr para o aplicativo. Quando essa matriz de estruturas não for mais necessária, a função NetApiBufferFree deverá ser chamada pelo aplicativo com o parâmetro Buffer definido como o parâmetro bufptr retornado por NetServerEnum para liberar essa memória interna usada. Nesses casos, a função NetApiBufferFree libera toda a memória interna alocada para o buffer, incluindo memória para estruturas aninhadas, ponteiros para cadeias de caracteres e outros dados.

Nenhuma associação de grupo especial é necessária para executar com êxito a função NetApiBufferFree ou qualquer uma das outras funções do ApiBuffer.

Para obter um exemplo de código que demonstra como usar a função NetApiBufferFree para liberar memória explicitamente alocada por um aplicativo, consulte a função NetApiBufferAllocate .

Para obter um exemplo de código que demonstra como usar a função NetApiBufferFree para liberar memória alocada internamente por uma função de gerenciamento de rede para retornar informações, consulte a função NetServerEnum .

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho lmapibuf.h (inclua Lm.h)
Biblioteca Netapi32.lib
DLL Netapi32.dll

Confira também

Funções de buffer de API

NetApiBufferAllocate

NetApiBufferReallocate

NetApiBufferSize

Funções de gerenciamento de rede

Visão geral do gerenciamento de rede

Comprimentos do buffer da função de gerenciamento de rede

Buffers de função de gerenciamento de rede