Bagikan melalui


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