Metode ISyncMgrHandler::GetObject (syncmgr.h)
Membuat jenis objek tertentu yang terkait dengan handler.
Sintaks
HRESULT GetObject(
[in] REFGUID rguidObjectID,
[in] REFIID riid,
[out] void **ppv
);
Parameter
[in] rguidObjectID
Jenis: REFGUID
GUID yang mengidentifikasi jenis objek yang akan dibuat. Salah satu nilai berikut seperti yang didefinisikan dalam shlguid.h.
SYNCMGR_OBJECTID_BrowseContent
Objek yang mengimplementasikan antarmuka ISyncMgrUIOperation yang menunjukkan UI yang memungkinkan pengguna menelusuri konten item yang dikelola oleh handler, seperti folder, perangkat, komputer di jaringan, atau aplikasi.
Pusat Sinkronisasi hanya meminta objek ini jika bendera kemampuan SYNCMGR_HCM_CAN_BROWSE_CONTENT diatur dalam masker yang diambil oleh GetCapabilities.
SYNCMGR_OBJECTID_ConflictStore
Objek yang mengimplementasikan antarmuka ISyncMgrConflictStore yang memungkinkan handler untuk memberikan konflik. Konflik ini ditampilkan di folder Konflik Pusat Sinkronisasi. Penyimpanan konflik harus mencakup konflik untuk handler serta konflik untuk semua itemnya. Untuk menyertakan konflik hanya untuk item tertentu, Pusat Sinkronisasi memanggil GetObject.
Pusat Sinkronisasi hanya meminta objek ini jika bendera kemampuan SYNCMGR_HCM_CONFLICT_STORE diatur dalam masker yang diambil oleh GetCapabilities.
SYNCMGR_OBJECTID_EventLinkClick
Objek yang mengimplementasikan antarmuka ISyncMgrEventLinkUIOperation yang mengimplementasikan tindakan klik untuk tautan yang disediakan pada peristiwa yang ditampilkan di folder Hasil Sinkronisasi.
SYNCMGR_OBJECTID_EventStore
Objek yang mengimplementasikan antarmuka ISyncMgrEventStore yang memungkinkan handler untuk menyediakan sumber peristiwanya sendiri. Peristiwa ini ditampilkan di folder Hasil Sinkronisasi. Penyimpanan peristiwa harus menyertakan peristiwa untuk handler serta untuk semua itemnya. Untuk menyertakan hanya peristiwa untuk item tertentu, Pusat Sinkronisasi memanggil GetObject. Penyimpanan peristiwa diminta untuk menghapus peristiwa handler saat penangan disinkronkan di lain waktu. Penyimpanan peristiwa default menghapus menyeluruh peristiwanya saat pengguna keluar.
Pusat Sinkronisasi hanya meminta objek ini jika bendera kemampuan SYNCMGR_HCM_EVENT_STORE diatur dalam masker yang diambil oleh GetCapabilities.
Handler tidak diperlukan untuk menyediakan penyimpanan peristiwa. Penyimpanan peristiwa default yang disediakan oleh Sync Center dapat digunakan jika memenuhi persyaratan handler.
SYNCMGR_OBJECTID_Icon
Objek ekstraksi ikon yang mengimplementasikan antarmuka IExtractIcon yang digunakan untuk menampilkan ikon untuk handler. Objek ini hanya boleh disediakan jika handler mendapatkan ikonnya secara dinamis pada durasi. Mekanisme yang disukai untuk menyediakan ikon adalah mendaftarkan ikon sebagai DefaultIcon di registri.
Pusat Sinkronisasi hanya meminta objek ini jika bendera kemampuan SYNCMGR_HCM_PROVIDES_ICON diatur dalam masker yang diambil oleh GetCapabilities.
SYNCMGR_OBJECTID_QueryBeforeActivate
Objek yang mengimplementasikan antarmuka ISyncMgrUIOperation yang menampilkan UI yang memungkinkan pengguna mengonfigurasi handler. UI ini ditampilkan saat pengguna memilih handler di folder Penyiapan Sinkronisasi, lalu memilih tugas Penyetelan . Sebelum meminta objek ini, Sync Center membuat utas terpisah untuk operasi ini dan instans baru handler.
Pusat Sinkronisasi hanya meminta objek ini jika bendera kemampuan SYNCMGR_HCM_QUERY_BEFORE_ACTIVATE diatur dalam masker yang diambil oleh GetCapabilities dan bendera kebijakan SYNCMGR_HPM_PREVENT_ACTIVATE tidak diatur dalam masker yang diambil oleh GetPolicies.
SYNCMGR_OBJECTID_QueryBeforeDeactivate
Objek yang mengimplementasikan antarmuka ISyncMgrUIOperation yang menampilkan UI saat pengguna memilih handler di folder Pusat Sinkronisasi, lalu memilih tugas Hapus . Sebelum meminta objek ini, Sync Center membuat utas terpisah untuk operasi ini dan instans baru handler.
Pusat Sinkronisasi hanya meminta objek ini jika bendera kemampuan SYNCMGR_HCM_QUERY_BEFORE_DEACTIVATE diatur dalam masker yang diambil oleh GetCapabilities dan bendera kebijakan SYNCMGR_HPM_PREVENT_DEACTIVATE tidak diatur dalam masker yang diambil oleh GetPolicies.
SYNCMGR_OBJECTID_QueryBeforeEnable
Objek yang mengimplementasikan antarmuka ISyncMgrUIOperation yang menampilkan UI saat pengguna memilih handler di folder Pusat Sinkronisasi lalu memilih tugas Aktifkan . Sebelum meminta objek ini, Sync Center membuat utas terpisah untuk operasi ini dan instans baru handler.
Pusat Sinkronisasi hanya meminta objek ini jika bendera kemampuan SYNCMGR_HCM_CAN_ENABLE dan SYNCMGR_HCM_QUERY_BEFORE_ENABLE diatur dalam masker yang diambil oleh GetCapabilities.
SYNCMGR_OBJECTID_QueryBeforeDisable
Objek yang mengimplementasikan antarmuka ISyncMgrUIOperation yang menampilkan UI saat pengguna memilih handler di folder Pusat Sinkronisasi lalu memilih tugas Nonaktifkan . Sebelum meminta objek ini, Sync Center membuat utas terpisah untuk operasi ini dan instans baru handler.
Pusat Sinkronisasi hanya meminta objek ini jika bendera kemampuan SYNCMGR_HCM_CAN_DISABLE dan SYNCMGR_HCM_QUERY_BEFORE_DISABLE diatur dalam masker yang diambil oleh GetCapabilities.
SYNCMGR_OBJECTID_ShowSchedule
Objek yang mengimplementasikan antarmuka ISyncMgrUIOperation yang menampilkan UI yang memungkinkan pengguna mengonfigurasi jadwal untuk handler. Sebelum meminta objek ini, Sync Center membuat utas terpisah untuk operasi ini dan instans baru handler.
Pusat Sinkronisasi hanya meminta objek ini jika bendera kemampuan SYNCMGR_HCM_CAN_SHOW_SCHEDULE diatur dalam masker yang diambil oleh GetCapabilities.
[in] riid
Jenis: REFIID
IID antarmuka yang diminta. Ini tergantung pada jenis objek bernama dalam rguidObjectID.
[out] ppv
Jenis: batal**
Ketika metode ini kembali, berisi alamat penunjuk ke antarmuka yang diminta.
Menampilkan nilai
Jenis: HRESULT
Mengembalikan S_OK jika berhasil, atau nilai kesalahan sebaliknya. Mengembalikan E_NOTIMPL jika handler tidak mendukung jenis objek yang diminta.
Keterangan
Handler dapat mengimplementasikan antarmuka yang diminta pada dirinya sendiri atau dapat mengimplementasikannya pada objek yang berbeda.
Contoh
Contoh berikut menunjukkan implementasi metode ini.
STDMETHODIMP CMyDeviceHandler::GetObject( __in REFGUID rguidObjectID,
__in REFIID riid,
__out void **ppv)
{
HRESULT hr = E_NOTIMPL;
*ppv = NULL;
if (rguidObjectID == SYNCMGR_OBJECTID_QueryBeforeActivate)
{
hr = _CreateSetupObject(riid, ppv);
}
else if (rguidObjectID == SYNCMGR_OBJECTID_EventStore)
{
hr = _CreateEventStore(NULL, riid, ppv);
}
return hr;
}
Persyaratan
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | syncmgr.h |