封送 OLE 数据类型

为了更轻松地使用某些自动化和 OLE 数据类型以及 COM 中常用的某些系统句柄,可以通过导入 Windows IDL 文件并链接到 OLE 和自动化 DLL 文件来获取这些数据类型及其相关帮助程序函数的 typedefs。 这些文件会自动安装在系统上。

  • 若要在远程过程调用中使用 BSTR 数据类型,请在生成分布式应用程序时将 wtypes.idl 文件导入接口定义 (IDL) 文件并链接到 Oleaut32.lib。 这将允许存根使用现成的帮助程序函数 BSTR_UserSizeBSTR_UserMarshalBSTR_UserUnmarshalBSTR_UserFree
  • 若要使用其他自动化数据类型(如 VARIANTSAFEARRAY),或者使用这些类型 (例如 DISPPARAMSEXCEPINFO) ,请将 objidl.idl 文件导入 IDL 文件并在生成时链接到 oleaut32.lib。 这将允许你使用适当的帮助程序例程。
  • 若要使用 OLE 数据类型 (,如 CLIPFORMAT、SNB、STGMEDIUM、ASYNC_STGMEDIUM) 或系统句柄 (,例如 HMETAFILE_PICT、HENHMETAFILE、HMETAFILE、HBITMAP、HPALETTE 和 HGLOBAL) ,请将 objidl.idl 文件导入到接口定义文件并在生成时链接到 ole32.lib。
  • 以下 OLE 句柄也是使用 [wire_marshal] 属性定义的,但仅用作计算机中的句柄,因为它们目前不能用于对其他计算机的远程过程调用:HWND、HMENU、HACCEL、HDC、HFONT、HICON、HBRUSH。 将 objidl.idl 文件导入 IDL 文件,并在生成时链接到 ole32.lib,以在单个计算机上的进程间通信中使用这些句柄。

有关详细信息,请参阅 wire_marshal属性type_UserSize函数type_UserMarshal函数type_UserUnmarshal函数type_UserFree函数面向特定 32 位或 64 位平台的存根