Funzione ReleaseStgMedium (ole2.h)

Libera il supporto di archiviazione specificato.

Sintassi

void ReleaseStgMedium(
       LPSTGMEDIUM unnamedParam1
);

Parametri

unnamedParam1

Valore restituito

nessuno

Osservazioni

La funzione ReleaseStgMedium chiama il metodo o la funzione appropriati per rilasciare il supporto di archiviazione specificato. Usare questa funzione durante le operazioni di trasferimento dei dati in cui le strutture medie di archiviazione sono parametri, ad esempio IDataObject::GetData o IDataObject::SetData. Oltre a identificare il tipo del supporto di archiviazione, questa struttura specifica il metodo Release appropriato per rilasciare il supporto di archiviazione quando non è più necessario.

È comune passare un STGMEDIUM da un corpo di codice a un altro, ad esempio in IDataObject::GetData, in cui quello chiamato può allocare un mezzo e restituirlo al chiamante. ReleaseStgMedium consente la flessibilità se il corpo di ricezione del codice possiede il supporto o se il provider originale del supporto è ancora proprietario, nel qual caso il codice di ricezione deve informare il provider che può liberare il supporto.

Quando il provider originale del supporto è responsabile del liberamento del supporto, il provider chiama ReleaseStgMedium, specificando il supporto e il puntatore IUnknown appropriato come membro della struttura punkForRelease . A seconda del tipo di supporto di archiviazione liberato, viene eseguita una delle azioni seguenti, seguita da una chiamata al metodo IUnknown::Release nel puntatore IUnknown specificato.

Medio ReleaseStgMedium Action
TYMED_HGLOBAL Nessuno.
TYMED_GDI Nessuno.
TYMED_ENHMF Nessuno.
TYMED_MFPICT Nessuno.
TYMED_FILE Libera la stringa del nome file usando meccanismi di gestione della memoria standard.
TYMED_ISTREAM Chiama IStream::Release.
TYMED_ISTORAGE Chiama IStorage::Release.
 

Il provider indica che il ricevitore del supporto è responsabile della liberazione del supporto specificando NULL per il membro della struttura punkForRelease . Il ricevitore chiama quindi ReleaseStgMedium, che effettua una chiamata come descritto nella tabella seguente a seconda del tipo di supporto di archiviazione liberato.

Medio ReleaseStgMedium Action
TYMED_HGLOBAL Chiama la funzione GlobalFree nell'handle.
TYMED_GDI Chiama la funzione DeleteObject nell'handle.
TYMED_ENHMF Elimina il metafile avanzato.
TYMED_MFPICT L'hMF che contiene viene eliminato con la funzione DeleteMetaFile ; quindi l'handle stesso viene passato a GlobalFree.
TYMED_FILE Libera il file del disco eliminandolo. Libera la stringa del nome file usando i meccanismi di gestione della memoria standard.
TYMED_ISTREAM Chiama IStream::Release.
TYMED_ISTORAGE Chiama IStorage::Release.
 

In entrambi i casi, dopo la chiamata a ReleaseStgMedium, il supporto di archiviazione specificato non è valido e non può più essere usato.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ole2.h
Libreria Ole32.lib
DLL Ole32.dll
Set di API ext-ms-win-com-ole32-l1-1-3 (introdotta in Windows 10, versione 10.0.10240)

Vedi anche

STGMEDIUM