Bagikan melalui


Fungsi CoSwitchCallContext (combaseapi.h)

Mengalihkan objek konteks panggilan yang digunakan oleh CoGetCallContext.

Sintaks

HRESULT CoSwitchCallContext(
  [in, optional] IUnknown *pNewObject,
  [out]          IUnknown **ppOldObject
);

Parameter

[in, optional] pNewObject

Penunjuk ke antarmuka pada objek konteks panggilan baru. COM menyimpan pointer ini tanpa menambahkan referensi ke pointer hingga CoSwitchCallContext dipanggil dengan objek lain. Parameter ini mungkin NULL jika Anda memanggil CoSwitchCallContext untuk beralih kembali ke konteks panggilan asli tetapi tidak ada konteks panggilan asli.

[out] ppOldObject

Alamat variabel pointer yang menerima penunjuk ke objek konteks panggilan panggilan yang saat ini sedang berlangsung. Nilai ini dikembalikan sehingga konteks panggilan asli dapat dipulihkan oleh marshaller kustom. Penunjuk yang dikembalikan akan menjadi NULL jika tidak ada panggilan yang sedang berlangsung.

Nilai kembali

Fungsi ini dapat mengembalikan nilai berikut.

Menampilkan kode Deskripsi
S_OK
Fungsi berhasil.
E_OUT_OF_MEMORY
Kehabisan memori.

Keterangan

Marsekalator kustom memanggil CoSwitchCallContext untuk mengubah objek konteks panggilan yang digunakan oleh fungsi CoGetCallContext . Sebelum mengirimkan panggilan yang tiba, marshaller kustom memanggil CoSwitchCallContext, menentukan objek konteks baru. Setelah mengirim balasan, mereka harus memulihkan konteks panggilan asli dengan memanggil CoSwitchCallContext lagi, kali ini meneruskan pointer ke objek konteks asli.

CoSwitchCallContext tidak menambahkan referensi ke objek konteks baru. Marshaller kustom harus memastikan bahwa masa pakai objek konteksnya berlanjut sepanjang panggilan mereka dan sampai panggilan untuk memulihkan konteks asli. Marshaller kustom tidak boleh melepaskan nilai yang mereka tempatkan ke dalam parameter ppOldObject ketika mereka mengatur konteksnya.

Memanggil objek konteks yang disediakan oleh marshaller kustom harus mendukung antarmuka IServerSecurity .

Persyaratan

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

Lihat juga

CoGetCallContext

IServerSecurity

Keamanan di COM