IRunnableObject::Run method (objidl.h)
Memaksa objek untuk dijalankan.
Sintaks
HRESULT Run(
[in] LPBINDCTX pbc
);
Parameter
[in] pbc
Penunjuk ke konteks pengikatan operasi eksekusi. Lihat IBindCtx. Parameter ini bisa NULL.
Nilai kembali
Metode ini dapat mengembalikan nilai pengembalian standar E_INVALIDARG, E_UNEXPECTED, dan S_OK.
Keterangan
Kontainer memanggil IRunnableObject::Run untuk memaksa objek mereka memasuki status berjalan. Jika objek belum berjalan, memanggil Jalankan bisa menjadi operasi yang mahal, pada urutan banyak detik. Jika objek sudah berjalan, maka metode ini tidak berpengaruh pada objek .
Catatan untuk Penelepon
Ketika dipanggil pada objek tertaut yang telah dikonversi ke kelas baru sejak tautan terakhir diaktifkan, IRunnableObject::Run dapat mengembalikan OLE_E_CLASSDIFF. Dalam hal ini, klien harus memanggil IOleLink::BindToSource.OleRun adalah fungsi pembantu yang dengan mudah mengemas ulang fungsionalitas yang ditawarkan oleh IRunnableObject::Run. Dengan rilis OLE 2.01, implementasi OleRun diubah sehingga memanggil QueryInterface, meminta IRunnableObject, dan kemudian memanggil IRunnableObject::Run. Dengan kata lain, Anda dapat menggunakan antarmuka dan fungsi pembantu secara bergantian.
Catatan untuk Pelaksana
Objek harus mendaftar dalam tabel objek yang sedang berjalan jika memiliki moniker yang ditetapkan. Objek tidak boleh memegang kunci yang kuat pada dirinya sendiri; sebaliknya, seharusnya tetap dalam keadaan tidak stabil dan tidak terkunci. Objek harus dikunci ketika koneksi eksternal pertama dibuat ke objek.Objek yang disematkan harus menahan kunci pada kontainer penyematannya saat berada dalam status berjalan. Handler default yang disediakan oleh OLE 2 mengurus penguncian kontainer penyematan atas nama objek yang diterapkan oleh aplikasi objek EXE. Objek yang diimplementasikan oleh aplikasi objek DLL harus secara eksplisit mengunci kontainer penyematannya, yang mereka lakukan dengan terlebih dahulu memanggil IOleClientSite::GetContainer untuk mendapatkan pointer ke kontainer, lalu memanggil IOleContainer::LockContainer untuk benar-benar menempatkan kunci. Kunci ini harus dilepaskan ketika IOleObject::Close dipanggil.
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 | objidl.h |