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