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) |
程式庫 | Netapi32.lib |
Dll | Netapi32.dll |