Compartir a través de


Función NetApiBufferFree (lmapibuf.h)

La función NetApiBufferFree libera la memoria que asigna la función NetApiBufferAllocate . Las aplicaciones también deben llamar a NetApiBufferFree para liberar la memoria que otras funciones de administración de red usan internamente para devolver información.

Sintaxis

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

Parámetros

[in] Buffer

Puntero a un búfer devuelto anteriormente por otra función de administración de red o memoria asignada mediante una llamada a la función NetApiBufferAllocate .

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto se NERR_Success.

Si se produce un error en la función, el valor devuelto es un código de error del sistema. Para obtener una lista de códigos de error, consulte Códigos de error del sistema.

Comentarios

La función NetApiBufferFree se usa para liberar memoria usada por las funciones de administración de red. Esta función se usa en dos casos:

  • Para liberar memoria asignada explícitamente por llamadas en una aplicación a la función NetApiBufferAllocate cuando la memoria ya no es necesaria.
  • Para liberar memoria asignada internamente mediante llamadas en una aplicación a funciones de administración de red remotables que devuelven información al autor de la llamada. La biblioteca en tiempo de ejecución rpc asigna internamente el búfer que contiene la información de retorno.

Muchas funciones de administración de red recuperan información y devuelven esta información como un búfer que puede contener una estructura compleja, una matriz de estructuras o una matriz de estructuras anidadas. Estas funciones usan la biblioteca en tiempo de ejecución rpc para asignar internamente el búfer que contiene la información de devolución, tanto si la llamada es a un equipo local como a un servidor remoto. Por ejemplo, la función NetServerEnum recupera una lista de servidores y devuelve esta información como una matriz de estructuras a las que apunta el parámetro bufptr . Cuando la función se ejecuta correctamente, la función NetServerEnum asigna internamente la memoria para almacenar la matriz de estructuras devueltas en el parámetro bufptr a la aplicación. Cuando esta matriz de estructuras ya no es necesaria, la aplicación debe llamar a la función NetApiBufferFree con el parámetro Buffer establecido en el parámetro bufptr devuelto por NetServerEnum para liberar esta memoria interna utilizada. En estos casos, la función NetApiBufferFree libera toda la memoria interna asignada para el búfer, incluida la memoria para estructuras anidadas, punteros a cadenas y otros datos.

No se requiere ninguna pertenencia especial a grupos para ejecutar correctamente la función NetApiBufferFree o cualquiera de las demás funciones apiBuffer.

Para obtener un ejemplo de código que muestra cómo usar la función NetApiBufferFree para liberar memoria asignada explícitamente por una aplicación, consulte la función NetApiBufferAllocate .

Para obtener un ejemplo de código que muestra cómo usar la función NetApiBufferFree para liberar memoria asignada internamente por una función de administración de red para devolver información, consulte la función NetServerEnum .

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado lmapibuf.h (include Lm.h)
Library Netapi32.lib
Archivo DLL Netapi32.dll

Consulte también

Funciones de búfer de API

NetApiBufferAllocate

NetApiBufferReallocate

NetApiBufferSize

Funciones de administración de red

Introducción a la administración de redes

Longitudes de búfer de funciones de administración de red

Búferes de funciones de administración de red