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 |