NetApiBufferFree 函数 (lmapibuf.h)

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

语法

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

parameters

[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

网络管理功能

网络管理概述

网络管理功能缓冲区长度

网络管理功能缓冲区