Função ReleaseStgMedium (ole2.h)

Libera o meio de armazenamento especificado.

Sintaxe

void ReleaseStgMedium(
       LPSTGMEDIUM unnamedParam1
);

Parâmetros

unnamedParam1

Valor retornado

Nenhum

Comentários

A função ReleaseStgMedium chama o método ou função apropriado para liberar o meio de armazenamento especificado. Use essa função durante operações de transferência de dados em que as estruturas médias de armazenamento são parâmetros, como IDataObject::GetData ou IDataObject::SetData. Além de identificar o tipo do meio de armazenamento, essa estrutura especifica o método Release apropriado para liberar o meio de armazenamento quando ele não for mais necessário.

É comum passar um STGMEDIUM de um corpo de código para outro, como em IDataObject::GetData, no qual o chamado pode alocar um meio e devolvê-lo ao chamador. ReleaseStgMedium permite flexibilidade se o corpo receptor do código possui o meio ou se o provedor original do meio ainda o possui, nesse caso, o código receptor precisa informar ao provedor que ele pode liberar o meio.

Quando o provedor original do meio é responsável por liberar o meio, o provedor chama ReleaseStgMedium, especificando o meio e o ponteiro IUnknown apropriado como o membro da estrutura punkForRelease . Dependendo do tipo de meio de armazenamento que está sendo liberado, uma das seguintes ações é executada, seguida por uma chamada para o método IUnknown::Release no ponteiro IUnknown especificado.

Médio Ação ReleaseStgMedium
TYMED_HGLOBAL Nenhum.
TYMED_GDI Nenhum.
TYMED_ENHMF Nenhum.
TYMED_MFPICT Nenhum.
TYMED_FILE Libera a cadeia de caracteres de nome de arquivo usando mecanismos de gerenciamento de memória padrão.
TYMED_ISTREAM Chama IStream::Release.
TYMED_ISTORAGE Chama IStorage::Release.
 

O provedor indica que o receptor do meio é responsável por liberar o meio especificando NULL para o membro da estrutura punkForRelease . Em seguida, o receptor chama ReleaseStgMedium, que faz uma chamada conforme descrito na tabela a seguir, dependendo do tipo de meio de armazenamento que está sendo liberado.

Médio Ação ReleaseStgMedium
TYMED_HGLOBAL Chama a função GlobalFree no identificador .
TYMED_GDI Chama a função DeleteObject no identificador.
TYMED_ENHMF Exclui o metarquivo aprimorado.
TYMED_MFPICT O hMF que ele contém é excluído com a função DeleteMetaFile ; em seguida, o próprio identificador é passado para GlobalFree.
TYMED_FILE Libera o arquivo de disco excluindo-o. Libera a cadeia de caracteres de nome de arquivo usando os mecanismos de gerenciamento de memória padrão.
TYMED_ISTREAM Chama IStream::Release.
TYMED_ISTORAGE Chama IStorage::Release.
 

Em ambos os casos, após a chamada para ReleaseStgMedium, o meio de armazenamento especificado é inválido e não pode mais ser usado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho ole2.h
Biblioteca Ole32.lib
DLL Ole32.dll
Conjunto de APIs ext-ms-win-com-ole32-l1-1-3 (introduzido no Windows 10, versão 10.0.10240)

Confira também

STGMEDIUM