Funzione NetApiBufferFree (lmapibuf.h)

La funzione NetApiBufferFree libera la memoria allocata dalla funzione NetApiBufferAllocate . Le applicazioni devono anche chiamare NetApiBufferFree per liberare la memoria usata da altre funzioni di gestione di rete internamente per restituire informazioni.

Sintassi

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

Parametri

[in] Buffer

Puntatore a un buffer restituito in precedenza da un'altra funzione di gestione di rete o memoria allocata chiamando la funzione NetApiBufferAllocate .

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene NERR_Success.

Se la funzione ha esito negativo, il valore restituito è un codice di errore di sistema. Per un elenco dei codici di errore, vedere Codici errore di sistema.

Commenti

La funzione NetApiBufferFree viene usata per liberare memoria usata dalle funzioni di gestione di rete. Questa funzione viene usata in due casi:

  • Per liberare memoria allocata in modo esplicito dalle chiamate in un'applicazione alla funzione NetApiBufferAllocate quando la memoria non è più necessaria.
  • Per liberare memoria allocata internamente dalle chiamate in un'applicazione alle funzioni di gestione di rete remota che restituiscono informazioni al chiamante. La libreria di runtime RPC alloca internamente il buffer contenente le informazioni restituite.

Molte funzioni di gestione di rete recuperano informazioni e restituiscono queste informazioni come buffer che possono contenere una struttura complessa, una matrice di strutture o una matrice di strutture annidate. Queste funzioni usano la libreria di runtime RPC per allocare internamente il buffer contenente le informazioni restituite, indipendentemente dal fatto che la chiamata sia a un computer locale o a un server remoto. Ad esempio, la funzione NetServerEnum recupera un elenco di server e restituisce queste informazioni come matrice di strutture a cui punta il parametro bufptr . Quando la funzione ha esito positivo, la memoria viene allocata internamente dalla funzione NetServerEnum per archiviare la matrice di strutture restituite nel parametro bufptr all'applicazione. Quando questa matrice di strutture non è più necessaria, la funzione NetApiBufferFree deve essere chiamata dall'applicazione con il parametro Buffer impostato sul parametro bufptr restituito da NetServerEnum per liberare la memoria interna usata. In questi casi, la funzione NetApiBufferFree libera tutta la memoria interna allocata per il buffer, inclusa la memoria per le strutture nidificate, i puntatori alle stringhe e altri dati.

Non è necessaria alcuna appartenenza a gruppi speciali per eseguire correttamente la funzione NetApiBufferFree o una qualsiasi delle altre funzioni ApiBuffer.

Per un esempio di codice che illustra come usare la funzione NetApiBufferFree per liberare memoria allocata in modo esplicito da un'applicazione, vedere la funzione NetApiBufferAllocate .

Per un esempio di codice che illustra come usare la funzione NetApiBufferFree per liberare memoria allocata internamente da una funzione di gestione di rete per restituire informazioni, vedere la funzione NetServerEnum .

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione lmapibuf.h (include Lm.h)
Libreria Netapi32.lib
DLL Netapi32.dll

Vedi anche

Funzioni del buffer api

NetApiBufferAllocate

NetApiBufferReallocate

NetApiBufferSize

Funzioni di gestione di rete

Panoramica della gestione della rete

Lunghezze del buffer delle funzioni di gestione di rete

Buffer delle funzioni di gestione di rete