Metode ObjectControl::D eactivate (comsvcs.h)
Memungkinkan objek COM+ untuk melakukan pembersihan yang diperlukan sebelum didaur ulang atau dihancurkan.
Metode ini dipanggil oleh lingkungan run-time COM+ setiap kali objek dinonaktifkan. Jangan melakukan panggilan metode apa pun pada objek dalam aktivitas yang sama dari metode ini.
Sintaks
HRESULT Deactivate();
Mengembalikan nilai
Metode ini dapat mengembalikan nilai pengembalian standar E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, E_FAIL, dan S_OK.
Keterangan
Lingkungan run-time COM+ memanggil metode Nonaktifkan setiap kali objek yang mendukung antarmuka ObjectControl dinonaktifkan. Objek dinonaktifkan ketika kembali dari metode di mana metode yang disebut SetComplete atau SetAbort, ketika transaksi yang dijalankan dilakukan atau dibatalkan, atau ketika klien terakhir untuk memegang referensi pada objek merilis referensinya.
Jika komponen mendukung daur ulang (mengembalikan TRUE dari metode CanBePooled ), Anda harus menggunakan metode Nonaktifkan untuk mengatur ulang status objek ke status di mana metode Aktifkan mengharapkan untuk menemukannya. Anda juga dapat menggunakan metode Nonaktifkan untuk merilis konteks objek atau melakukan pembersihan khusus konteks lainnya. Bahkan jika objek mendukung daur ulang, akan bermanfaat untuk merilis sumber daya tertentu yang dapat digunakan kembali dalam metode Nonaktifkan . Misalnya, ODBC menyediakan pengumpulan koneksinya sendiri. Lebih efisien untuk mengumpulkan koneksi database di kumpulan koneksi umum di mana objek lain dapat menggunakannya daripada tetap terikat dengan objek tertentu dalam kumpulan objek.
COM+ secara tegas melarang panggilan ke dalam objek yang mengekspos ObjectControl setelah metode Nonaktifkan telah kembali (ketika berada di destruktornya). Panggilan seperti itu akan mengakibatkan kesalahan RPC_E_DISCONNECTED. Misalnya, jika objek telah mengeluarkan referensi ke dirinya sendiri dan kemudian memanggil kembali ke objek setelah Nonaktifkan kembali, hasil kesalahan yang terputus.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | comsvcs.h |