Compartir a través de


Serialización de tipos de datos OLE

Para facilitar el uso de determinados tipos de datos Automation y OLE, así como algunos identificadores del sistema que se usan con frecuencia en COM, las definiciones de tipo para estos tipos de datos y sus funciones auxiliares relacionadas están disponibles mediante la importación de archivos IDL de Windows y la vinculación a los archivos DLL ole y Automation. Estos archivos se instalan automáticamente en el sistema.

  • Para usar el tipo de datos BSTR en llamadas a procedimientos remotos, importe el archivo wtypes.idl en el archivo de definición de interfaz (IDL) y vincule a Oleaut32.lib al compilar la aplicación distribuida. Esto permitirá que los códigos auxiliares usen las funciones auxiliares listas para usar BSTR_UserSize, BSTR_UserMarshal, BSTR_UserUnmarshal y BSTR_UserFree.
  • Para usar otros tipos de datos de Automation, como VARIANT y SAFEARRAY, o tipos que usan esos tipos (por ejemplo, DISPPARAMS y EXCEPINFO), importe el archivo objidl.idl en el archivo IDL y vincule a oleaut32.lib en tiempo de compilación. Esto le permitirá usar las rutinas auxiliares adecuadas.
  • Para usar tipos de datos OLE (como CLIPFORMAT, SNB, STGMEDIUM, ASYNC_STGMEDIUM) o identificadores del sistema (como HMETAFILE_PICT, HENHMETAFILE, HMETAFILE, HBITMAP, HPALETTE y HGLOBAL), importe el archivo objidl.idl en el archivo de definición de interfaz y vincule a ole32.lib en tiempo de compilación.
  • Los siguientes identificadores OLE también se definen con el atributo [wire_marshal], pero solo como identificadores dentro de un equipo, ya que no se pueden usar en llamadas de procedimiento remoto a otros equipos en este momento: HWND, HMENU, HACCEL, HDC, HFONT, HICON, HBRUSH. Importe el archivo objidl.idl en el archivo IDL y vincule a ole32.lib en tiempo de compilación para usar estos identificadores en la comunicación entre procesos en un solo equipo.

Para obtener más información, vea The wire_marshal Attribute, The type_UserSize Function, The type_UserMarshalFunction, The type_UserUnmarshal Function, The type_UserFree Function, and Targeting Stubs for Specific 32-bit or 64-bit Platforms.