Partager via


Fonction ReleaseStgMedium (ole2.h)

Libère le support de stockage spécifié.

Syntaxe

void ReleaseStgMedium(
       LPSTGMEDIUM unnamedParam1
);

Paramètres

unnamedParam1

Valeur de retour

None

Remarques

La fonction ReleaseStgMedium appelle la méthode ou la fonction appropriée pour libérer le support de stockage spécifié. Utilisez cette fonction lors des opérations de transfert de données où les structures de support de stockage sont des paramètres, tels que IDataObject ::GetData ou IDataObject ::SetData. En plus d’identifier le type du support de stockage, cette structure spécifie la méthode Release appropriée pour libérer le support de stockage lorsqu’il n’est plus nécessaire.

Il est courant de passer un STGMEDIUM d’un corps de code à un autre, comme dans IDataObject ::GetData, dans lequel celui appelé peut allouer un support et le renvoyer à l’appelant. ReleaseStgMedium permet une certaine flexibilité quant à savoir si le corps récepteur du code est propriétaire du support ou si le fournisseur d’origine du support en est toujours propriétaire, auquel cas le code de réception doit informer le fournisseur qu’il peut libérer le support.

Lorsque le fournisseur d’origine du support est chargé de libérer le support, le fournisseur appelle ReleaseStgMedium, en spécifiant le support et le pointeur IUnknown approprié comme membre de la structure punkForRelease . Selon le type de support de stockage libéré, l’une des actions suivantes est effectuée, suivie d’un appel à la méthode IUnknown ::Release sur le pointeur IUnknown spécifié.

Moyenne ReleaseStgMedium Action
TYMED_HGLOBAL Aucun.
TYMED_GDI Aucun.
TYMED_ENHMF Aucun.
TYMED_MFPICT Aucun.
TYMED_FILE Libère la chaîne de nom de fichier à l’aide de mécanismes de gestion de mémoire standard.
TYMED_ISTREAM Appelle IStream ::Release.
TYMED_ISTORAGE Appelle IStorage ::Release.
 

Le fournisseur indique que le récepteur du support est responsable de la libération du support en spécifiant NULL pour le membre de structure punkForRelease . Ensuite, le récepteur appelle ReleaseStgMedium, qui effectue un appel comme décrit dans le tableau suivant en fonction du type de support de stockage libéré.

Moyenne ReleaseStgMedium Action
TYMED_HGLOBAL Appelle la fonction GlobalFree sur le handle.
TYMED_GDI Appelle la fonction DeleteObject sur le handle.
TYMED_ENHMF Supprime le métafichier amélioré.
TYMED_MFPICT Le hMF qu’il contient est supprimé avec la fonction DeleteMetaFile ; puis le handle lui-même est passé à GlobalFree.
TYMED_FILE Libère le fichier disque en le supprimant. Libère la chaîne de nom de fichier à l’aide des mécanismes de gestion de la mémoire standard.
TYMED_ISTREAM Appelle IStream ::Release.
TYMED_ISTORAGE Appelle IStorage ::Release.
 

Dans les deux cas, après l’appel à ReleaseStgMedium, le support de stockage spécifié n’est pas valide et ne peut plus être utilisé.

Configuration requise

Condition requise Valeur
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 ole2.h
Bibliothèque Ole32.lib
DLL Ole32.dll
Ensemble d’API ext-ms-win-com-ole32-l1-1-3 (introduit dans Windows 10, version 10.0.10240)

Voir aussi

STGMEDIUM