Bagikan melalui


IMarshal::ReleaseMarshalData method (objidl.h)

Menghancurkan paket data marshaled.

Sintaks

HRESULT ReleaseMarshalData(
  [in] IStream *pStm
);

Parameter

[in] pStm

Penunjuk ke aliran yang berisi paket data yang akan dihancurkan.

Mengembalikan nilai

Metode ini dapat mengembalikan nilai pengembalian standar S_OK dan E_FAIL, serta salah satu kesalahan akses aliran untuk antarmuka IStream .

Keterangan

Jika paket data marshal objek tidak dilepaskan dalam ruang proses klien dan paket tidak lagi diperlukan, klien memanggil ReleaseMarshalData pada implementasi IMarshal proksi untuk menginstruksikan objek untuk menghancurkan paket data. Panggilan terjadi dalam fungsi CoReleaseMarshalData . Paket data berfungsi sebagai referensi tambahan pada objek , dan melepaskan data seperti melepaskan penunjuk antarmuka dengan memanggil Rilis.

Jika paket data marshaled entah bagaimana tidak tiba dalam proses klien atau jika ReleaseMarshalData tidak berhasil dibuat ulang di proksi, COM dapat memanggil metode ini pada objek itu sendiri.

Catatan untuk Penelepon

Anda akan jarang jika pernah memiliki kesempatan untuk menyebut metode ini sendiri. Kemungkinan pengecualian adalah jika Anda menerapkan IMarshal di pabrik kelas untuk objek kelas tempat Anda juga menerapkan IMarshal. Dalam hal ini, jika Anda menghirup objek ke tabel di mana objek tersebut dapat diambil oleh beberapa klien, Anda mungkin, sebagai bagian dari rutinitas anda yang belum menikah, panggil ReleaseMarshalData untuk merilis paket data untuk setiap proksi.

Catatan untuk Pelaksana

Jika implementasi Anda menyimpan informasi status tentang paket data marshaled, Anda dapat menggunakan metode ini untuk merilis informasi status yang terkait dengan paket data yang diwakili oleh pStm. Implementasi Anda juga harus memposisikan penunjuk pencarian di aliran melewati byte data terakhir.

Persyaratan

Persyaratan Nilai
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 objidl.h (termasuk ObjIdl.h)

Lihat juga

CoReleaseMarshalData

IMarshal