Función ReleaseStgMedium (ole2.h)
Libera el medio de almacenamiento especificado.
Sintaxis
void ReleaseStgMedium(
LPSTGMEDIUM unnamedParam1
);
Parámetros
unnamedParam1
Valor devuelto
None
Observaciones
La función ReleaseStgMedium llama al método o función adecuado para liberar el medio de almacenamiento especificado. Use esta función durante las operaciones de transferencia de datos en las que las estructuras medianas de almacenamiento son parámetros, como IDataObject::GetData o IDataObject::SetData. Además de identificar el tipo del medio de almacenamiento, esta estructura especifica el método Release adecuado para liberar el medio de almacenamiento cuando ya no es necesario.
Es habitual pasar un STGMEDIUM de un cuerpo de código a otro, como en IDataObject::GetData, en el que el llamado puede asignar un medio y devolverlo al autor de la llamada. ReleaseStgMedium permite flexibilidad en si el cuerpo receptor de código posee el medio, o si el proveedor original del medio lo posee, en cuyo caso el código receptor necesita informar al proveedor de que puede liberar el medio.
Cuando el proveedor original del medio es responsable de liberar el medio, el proveedor llama a ReleaseStgMedium, especificando el medio y el puntero IUnknown adecuado como miembro de estructura punkForRelease . Según el tipo de medio de almacenamiento que se libere, se realiza una de las siguientes acciones, seguida de una llamada al método IUnknown::Release en el puntero IUnknown especificado.
Media | Acción ReleaseStgMedium |
---|---|
TYMED_HGLOBAL | Ninguno. |
TYMED_GDI | Ninguno. |
TYMED_ENHMF | Ninguno. |
TYMED_MFPICT | Ninguno. |
TYMED_FILE | Libera la cadena de nombre de archivo mediante mecanismos de administración de memoria estándar. |
TYMED_ISTREAM | Llama a IStream::Release. |
TYMED_ISTORAGE | Llama a IStorage::Release. |
El proveedor indica que el receptor del medio es responsable de liberar el medio especificando NULL para el miembro de estructura punkForRelease . A continuación, el receptor llama a ReleaseStgMedium, que realiza una llamada como se describe en la tabla siguiente en función del tipo de medio de almacenamiento que se libera.
Media | Acción ReleaseStgMedium |
---|---|
TYMED_HGLOBAL | Llama a la función GlobalFree en el identificador. |
TYMED_GDI | Llama a la función DeleteObject en el identificador. |
TYMED_ENHMF | Elimina el metarchivo mejorado. |
TYMED_MFPICT | El hMF que contiene se elimina con la función DeleteMetaFile ; después, el propio identificador se pasa a GlobalFree. |
TYMED_FILE | Libera el archivo de disco eliminándolo. Libera la cadena de nombre de archivo mediante los mecanismos de administración de memoria estándar. |
TYMED_ISTREAM | Llama a IStream::Release. |
TYMED_ISTORAGE | Llama a IStorage::Release. |
En cualquier caso, después de la llamada a ReleaseStgMedium, el medio de almacenamiento especificado no es válido y ya no se puede usar.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | ole2.h |
Library | Ole32.lib |
Archivo DLL | Ole32.dll |
Conjunto de API | ext-ms-win-com-ole32-l1-1-3 (introducido en Windows 10, versión 10.0.10240) |