封送處理 OLE 資料類型

若要更輕鬆地使用特定自動化和 OLE 資料類型,以及 COM 中經常使用的一些系統控制碼,這些資料類型的 typedefs 及其相關的協助程式函式都可以透過匯入Windows IDL 檔案並連結至 OLE 和 Automation DLL 檔案來取得。 這些檔案會自動安裝在您的系統上。

  • 若要在遠端程序呼叫中使用 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 位平臺的目標存根