Función CoGetInterfaceAndReleaseStream (combaseapi.h)

Desmarshala un búfer que contiene un puntero de interfaz y libera la secuencia cuando un puntero de interfaz se ha serializado desde otro subproceso hasta el subproceso que realiza la llamada.

Sintaxis

HRESULT CoGetInterfaceAndReleaseStream(
  [in]  LPSTREAM pStm,
  [in]  REFIID   iid,
  [out] LPVOID   *ppv
);

Parámetros

[in] pStm

Puntero a la interfaz IStream de la secuencia que se va a desmarcar.

[in] iid

Referencia al identificador de la interfaz solicitada desde el objeto no separado.

[out] ppv

Dirección de la variable de puntero que recibe el puntero de interfaz solicitado en riid. Tras la devolución correcta, *ppv contiene el puntero de interfaz solicitado a la interfaz no registrada.

Valor devuelto

Esta función puede devolver los valores devueltos estándar S_OK y E_INVALIDARG, así como cualquiera de los valores devueltos por CoUnmarshalInterface.

Comentarios

Importante  

Nota de seguridad: llamar a este método con datos que no son de confianza es un riesgo de seguridad. Llame a este método solo con datos de confianza.

 
La función CoGetInterfaceAndReleaseStream realiza las siguientes tareas:
  • Llama a CoUnmarshalInterface para desmarshalar un puntero de interfaz pasado anteriormente en una llamada a CoMarshalInterThreadInterfaceInStream.
  • Libera el puntero de secuencia. Incluso si se produce un error en la desmarshaling, la secuencia todavía se libera porque no hay ninguna manera eficaz de recuperarse de un error de este tipo.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado combaseapi.h (incluya Objbase.h)
Library Ole32.lib
Archivo DLL Ole32.dll

Consulte también

CoMarshalInterThreadInterfaceInStream

CoUnmarshalInterface