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) |