Condividi tramite


Marshalling dei tipi di dati OLE

Per semplificare l'uso di determinati tipi di dati Automation e OLE, nonché alcuni handle di sistema usati di frequente in COM, sono disponibili typedef e funzioni helper per questi tipi di dati importando i file IDL di Windows e collegando i file DLL OLE e Automation. Questi file vengono installati automaticamente nel sistema.

  • Per usare il tipo di dati BSTR nelle chiamate di procedura remota, importare il file wtypes.idl nel file IDL (Interface Definition) e collegarsi a Oleaut32.lib durante la compilazione dell'applicazione distribuita. In questo modo i tuoi stub potranno utilizzare le funzioni helper predefinite BSTR_UserSize, BSTR_UserMarshal, BSTR_UserUnmarshale BSTR_UserFree.
  • Per usare altri tipi di dati di Automazione, ad esempio VARIANT e SAFEARRAYo tipi che usano tali tipi ( ad esempio, DISPPARAMS e EXCEPINFO), importare il file objidl.idl nel file IDL e collegarsi al file oleaut32.lib in fase di compilazione. In questo modo sarà possibile usare le routine di supporto appropriate.
  • Per usare tipi di dati OLE (ad esempio CLIPFORMAT, SNB, STGMEDIUM, ASYNC_STGMEDIUM) o handle di sistema (ad esempio HMETAFILE_PICT, HENHMETAFILE, HMETAFILE, HBITMAP, HPALETTE e HGLOBAL), importare il file objidl.idl nel file di definizione dell'interfaccia e collegarsi al file ole32.lib in fase di compilazione.
  • Gli handle OLE seguenti sono definiti anche con l'attributo [wire_marshal], ma solo come handle all'interno di un computer poiché non possono essere usati in chiamate di routine remota ad altri computer in questo momento: HWND, HMENU, HACCEL, HDC, HFONT, HICON, HBRUSH. Importare il file objidl.idl nel file IDL e collegare a ole32.lib in tempo di compilazione per usare questi handle nella comunicazione interprocesso su un unico computer.

Per altre informazioni, vedere L'attributo wire_marshal, La funzione type_UserSize, La funzione type_UserMarshal, La funzione type_UserUnmarshal, La funzione type_UserFreee la destinazione degli stub per piattaforme specifiche a 32 o a 64 bit.