NetApiBufferFree-Funktion (lmapibuf.h)
Die NetApiBufferFree-Funktion gibt den Arbeitsspeicher frei, den die NetApiBufferAllocate-Funktion zuordnet. Anwendungen sollten auch NetApiBufferFree aufrufen, um den Speicher freizugeben, den andere Netzwerkverwaltungsfunktionen intern verwenden, um Informationen zurückzugeben.
Syntax
NET_API_STATUS NET_API_FUNCTION NetApiBufferFree(
[in] _Frees_ptr_opt_ LPVOID Buffer
);
Parameter
[in] Buffer
Ein Zeiger auf einen Puffer, der zuvor von einer anderen Netzwerkverwaltungsfunktion oder einem durch Aufrufen der NetApiBufferAllocate-Funktion zugewiesenen Speicher zurückgegeben wurde.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert NERR_Success.
Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Systemfehlercode. Eine Liste der Fehlercodes finden Sie unter Systemfehlercodes.
Hinweise
Die NetApiBufferFree-Funktion wird verwendet, um Arbeitsspeicher freizugeben, der von Netzwerkverwaltungsfunktionen verwendet wird. Diese Funktion wird in zwei Fällen verwendet:
- Zum Freigeben von Arbeitsspeicher, der explizit durch Aufrufe der NetApiBufferAllocate-Funktion in einer Anwendung zugewiesen wurde, wenn der Arbeitsspeicher nicht mehr benötigt wird.
- Freigeben von intern zugewiesenem Arbeitsspeicher durch Aufrufe in einer Anwendung an remotable-Netzwerkverwaltungsfunktionen, die Informationen an den Aufrufer zurückgeben. Die RPC-Laufzeitbibliothek weist intern den Puffer zu, der die Rückgabeinformationen enthält.
Viele Netzwerkverwaltungsfunktionen rufen Informationen ab und geben diese Informationen als Puffer zurück, der eine komplexe Struktur, ein Array von Strukturen oder ein Array geschachtelter Strukturen enthalten kann. Diese Funktionen verwenden die RPC-Laufzeitbibliothek, um den Puffer mit den Rückgabeinformationen intern zuzuordnen, unabhängig davon, ob es sich um einen lokalen Computer oder einen Remoteserver handelt. Beispielsweise ruft die NetServerEnum-Funktion eine Liste von Servern ab und gibt diese Informationen als Array von Strukturen zurück, auf die vom bufptr-Parameter verwiesen wird. Wenn die Funktion erfolgreich ist, wird der Arbeitsspeicher intern von der NetServerEnum-Funktion zugewiesen, um das Array von Strukturen zu speichern, die im bufptr-Parameter der Anwendung zurückgegeben werden. Wenn dieses Array von Strukturen nicht mehr benötigt wird, sollte die NetApiBufferFree-Funktion von der Anwendung aufgerufen werden, wobei der Buffer-Parameter auf den von NetServerEnum zurückgegebenenbufptr-Parameter festgelegt ist, um diesen verwendeten internen Speicher freizugeben. In diesen Fällen gibt die NetApiBufferFree-Funktion den gesamten internen Speicher frei, der dem Puffer zugewiesen ist, einschließlich Arbeitsspeicher für geschachtelte Strukturen, Zeiger auf Zeichenfolgen und andere Daten.
Es ist keine spezielle Gruppenmitgliedschaft erforderlich, um die NetApiBufferFree-Funktion oder eine der anderen ApiBuffer-Funktionen erfolgreich auszuführen.
Ein Codebeispiel, das veranschaulicht, wie Sie die NetApiBufferFree-Funktion verwenden, um den von einer Anwendung explizit zugewiesenen Arbeitsspeicher freizugeben, finden Sie in der NetApiBufferAllocate-Funktion .
Ein Codebeispiel, das veranschaulicht, wie die NetApiBufferFree-Funktion verwendet wird, um intern von einer Netzwerkverwaltungsfunktion zugewiesenen Arbeitsspeicher freizugeben, um Informationen zurückzugeben, finden Sie in der NetServerEnum-Funktion .
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | lmapibuf.h (include Lm.h) |
Bibliothek | Netapi32.lib |
DLL | Netapi32.dll |
Weitere Informationen
Übersicht über die Netzwerkverwaltung