NetApiBufferFree 函数 (lmapibuf.h)

NetApiBufferFree 函数释放 NetApiBufferAllocate 函数分配的内存。 应用程序还应调用 NetApiBufferFree 来释放其他网络管理功能在内部用于返回信息的内存。

语法

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

参数

[in] Buffer

指向以前由另一个网络管理函数或通过调用 NetApiBufferAllocate 函数分配的内存返回的缓冲区的指针。

返回值

如果函数成功,则返回值NERR_Success。

如果函数失败,则返回值为系统错误代码。 有关错误代码的列表,请参阅 系统错误代码

注解

NetApiBufferFree 函数用于释放网络管理功能使用的内存。 此函数在两种情况下使用:

  • 在不再需要内存时,在应用程序中通过调用显式分配内存来释放 NetApiBufferAllocate 函数的内存。
  • 若要释放应用程序中调用内部分配的内存,以远程处理将信息返回到调用方的网络管理功能。 RPC 运行时库在内部分配包含返回信息的缓冲区。

许多网络管理功能检索信息,并将此信息作为缓冲区返回,该缓冲区可能包含复杂结构、结构数组或嵌套结构数组。 这些函数使用 RPC 运行时库在内部分配包含返回信息的缓冲区,无论是对本地计算机还是远程服务器进行调用。 例如, NetServerEnum 函数检索服务器列表,并将此信息作为 bufptr 参数指向的结构数组返回。 函数成功后, NetServerEnum 函数在内部分配内存,以存储 在 bufptr 参数中返回的结构数组到应用程序。 不再需要此结构数组时,NetApiBufferFree 函数应由应用程序调用,并将 Buffer 参数设置为 NetServerEnum 返回的 bufptr 参数,以释放所使用的内部内存。 在这些情况下, NetApiBufferFree 函数释放为缓冲区分配的所有内部内存,包括嵌套结构的内存、字符串指针和其他数据。

无需特殊组成员身份才能成功执行 NetApiBufferFree 函数或任何其他 ApiBuffer 函数

有关演示如何使用 NetApiBufferFree 函数释放应用程序显式分配的内存的代码示例,请参阅 NetApiBufferAllocate 函数。

有关演示如何使用 NetApiBufferFree 函数释放网络管理函数内部分配的内存以返回信息的代码示例,请参阅 NetServerEnum 函数。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 lmapibuf.h (包括 Lm.h)
Library Netapi32.lib
DLL Netapi32.dll

另请参阅

Api 缓冲区函数

NetApiBufferAllocate

NetApiBufferReallocate

NetApiBufferSize

网络管理功能

网络管理概述

网络管理功能缓冲区长度

网络管理功能缓冲区