Bagikan melalui


Fungsi CoGetStdMarshalEx (combaseapi.h)

Membuat marshaler standar agregat untuk digunakan dengan handler sisi klien yang ringan.

Sintaks

HRESULT CoGetStdMarshalEx(
  [in]  LPUNKNOWN pUnkOuter,
  [in]  DWORD     smexflags,
  [out] LPUNKNOWN *ppUnkInner
);

Parameter

[in] pUnkOuter

Penunjuk ke IUnknown yang mengendalikan.

[in] smexflags

Salah satu dari dua nilai yang menunjukkan apakah marshaler standar agregat berada di sisi klien atau sisi server. Bendera ini didefinisikan dalam enumerasi STDMSHLFLAGS .

Nilai Makna
SMEXF_SERVER
0x01
Menunjukkan marshaler standar agregat sisi server.
SMEXF_HANDLER
0x0
Menunjukkan marshaler standar agregat sisi klien (handler).

[out] ppUnkInner

Pada pengembalian yang berhasil, alamat pointer ke antarmuka IUnknown pada marshaler standar agregat yang baru dibuat. Jika terjadi kesalahan, nilai ini adalah NULL.

Nilai kembali

Fungsi ini mengembalikan S_OK.

Keterangan

Server memanggil CoGetStdMarshalEx yang meneruskan bendera SMEXF_SERVER. Ini menciptakan marshaler standar sisi server (dikenal sebagai manajer stub). Handler memanggil CoGetStdMarshalEx yang meneruskan bendera SMEXF_HANDLER. Ini membuat marshaler standar sisi klien (dikenal sebagai manajer proksi). Perhatikan bahwa saat memanggil fungsi ini, handler harus meneruskan pengontrol asli yang tidak diketahui yang diteruskan ke handler saat handler dibuat. Ini akan menjadi sistem yang diimplementasikan mengendalikan tidak diketahui. Kegagalan untuk meneruskan IUnknown yang benar menghasilkan kesalahan yang dikembalikan. Jika berhasil, ppUnkInner yang dikembalikan adalah pengontrol yang tidak diketahui dari objek dalam. Server dan handler harus menyimpan pointer ini, dan dapat menggunakannya untuk memanggil IUnknown::QueryInterface untuk antarmuka IMarshal .

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header combaseapi.h (termasuk Objbase.h)
Pustaka Ole32.lib
DLL Ole32.dll

Lihat juga

IMarshal

IStdMarshalInfo

Handler Client-Side Ringan