Método ICallUnmarshal::ReleaseMarshalData (callobj.h)

Libera los recursos que pueden mantener los punteros de interfaz que residen en un paquete de datos serializado. Este método busca todos los punteros de interfaz en el paquete y llama a la función CoReleaseMarshalData en cada puntero de interfaz.

Sintaxis

HRESULT ReleaseMarshalData(
  [in] ULONG                    iMethod,
  [in] PVOID                    pBuffer,
  [in] ULONG                    cbBuffer,
  [in] ULONG                    ibFirstRelease,
  [in] RPCOLEDATAREP            dataRep,
  [in] CALLFRAME_MARSHALCONTEXT *pcontext
);

Parámetros

[in] iMethod

Número de método.

[in] pBuffer

Puntero al búfer que contiene los parámetros serializado.

[in] cbBuffer

Tamaño del búfer, en bytes.

[in] ibFirstRelease

Primer byte del búfer que se va a liberar. Un valor de cero implica que se liberarán los punteros de interfaz en todo el búfer. La idea es que otros mecanismos ya han liberado los punteros de interfaz serializado antes del byte indicado.

[in] dataRep

Representación de datos con la que se serializaron los datos.

[in] pcontext

Puntero a una estructura CALLFRAME_MARSHALCONTEXT que contiene información sobre el contexto en el que se va a realizar la desenlazación.

Valor devuelto

Este método puede devolver los valores siguientes.

Código devuelto Descripción
S_OK
El método se completó correctamente.
E_UNEXPECTED
Se produjo un error inesperado.

Comentarios

Para limpiar los recursos contenidos en el búfer serializado, se debe llamar al método ReleaseMarshalData . Sin embargo, cuando la enumeración MSHLFLAGS se establece en normal, esto se hace automáticamente al desacoplar.

ReleaseMarshalData se puede usar en parámetros de in y out serializado.

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 callobj.h

Consulte también

ICallUnmarshal