Partager via


NetApiBufferFree, fonction (lmapibuf.h)

La fonction NetApiBufferFree libère la mémoire que la fonction NetApiBufferAllocate alloue. Les applications doivent également appeler NetApiBufferFree pour libérer la mémoire que d’autres fonctions de gestion réseau utilisent en interne pour retourner des informations.

Syntaxe

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

Paramètres

[in] Buffer

Pointeur vers une mémoire tampon retournée précédemment par une autre fonction de gestion réseau ou la mémoire allouée en appelant la fonction NetApiBufferAllocate .

Valeur retournée

Si la fonction réussit, la valeur de retour est NERR_Success.

Si la fonction échoue, la valeur de retour est un code d’erreur système. Pour obtenir la liste des codes d’erreur, consultez Codes d’erreur système.

Notes

La fonction NetApiBufferFree est utilisée pour libérer de la mémoire utilisée par les fonctions de gestion réseau. Cette fonction est utilisée dans deux cas :

  • Pour libérer de la mémoire explicitement allouée par les appels d’une application à la fonction NetApiBufferAllocate lorsque la mémoire n’est plus nécessaire.
  • Pour libérer de la mémoire allouée en interne par les appels dans une application aux fonctions de gestion réseau accessibles à distance qui retournent des informations à l’appelant. La bibliothèque d’exécution RPC alloue en interne la mémoire tampon contenant les informations de retour.

De nombreuses fonctions de gestion réseau récupèrent des informations et retournent ces informations sous la forme d’une mémoire tampon qui peut contenir une structure complexe, un tableau de structures ou un tableau de structures imbriquées. Ces fonctions utilisent la bibliothèque d’exécution RPC pour allouer en interne la mémoire tampon contenant les informations de retour, que l’appel soit à un ordinateur local ou à un serveur distant. Par exemple, la fonction NetServerEnum récupère une liste de serveurs et retourne ces informations sous la forme d’un tableau de structures pointées par le paramètre bufptr . Lorsque la fonction réussit, la mémoire est allouée en interne par la fonction NetServerEnum pour stocker le tableau de structures retourné dans le paramètre bufptr à l’application. Lorsque ce tableau de structures n’est plus nécessaire, la fonction NetApiBufferFree doit être appelée par l’application avec le paramètre Buffer défini sur le paramètre bufptr retourné par NetServerEnum pour libérer cette mémoire interne utilisée. Dans ce cas, la fonction NetApiBufferFree libère toute la mémoire interne allouée à la mémoire tampon, y compris la mémoire pour les structures imbriquées, les pointeurs vers des chaînes et d’autres données.

Aucune appartenance à un groupe spécial n’est requise pour exécuter correctement la fonction NetApiBufferFree ou l’une des autres fonctions ApiBuffer.

Pour obtenir un exemple de code qui montre comment utiliser la fonction NetApiBufferFree pour libérer de la mémoire explicitement allouée par une application, consultez la fonction NetApiBufferAllocate .

Pour obtenir un exemple de code qui montre comment utiliser la fonction NetApiBufferFree pour libérer de la mémoire allouée en interne par une fonction de gestion réseau pour retourner des informations, consultez la fonction NetServerEnum .

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête lmapibuf.h (include Lm.h)
Bibliothèque Netapi32.lib
DLL Netapi32.dll

Voir aussi

Fonctions de mémoire tampon d’API

NetApiBufferAllocate

NetApiBufferReallocate

NetApiBufferSize

Fonctions de gestion réseau

Vue d’ensemble de la gestion du réseau

Longueurs des mémoires tampons des fonctions de gestion du réseau

Mémoires tampons de fonction de gestion du réseau