Bagikan melalui


Metode ISyncMgrSyncItem::GetItemID (syncmgr.h)

Mendapatkan ID unik item sinkronisasi.

Sintaks

HRESULT GetItemID(
  [out] LPWSTR *ppszItemID
);

Parameter

[out] ppszItemID

Jenis: LPWSTR*

Ketika metode ini kembali, berisi penunjuk ke buffer yang berisi ID item. String ini memiliki panjang maksimum MAX_SYNCMGR_ID termasuk karakter null yang mengakhiri.

Nilai kembali

Jenis: HRESULT

Jika metode ini berhasil, metode akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

ID yang diambil oleh metode ini tidak dapat berubah. Biasanya, ID dalam bentuk string GUID. Namun, ini bukan persyaratan. ID dapat berupa string apa pun yang unik dalam konteks handler.

Jika GetItemID gagal atau string kosong dikembalikan dalam ppszItemID, item sinkronisasi tidak ditampilkan di folder handler dan Sync Center tidak akan mencoba menyinkronkannya.

ID yang diambil oleh metode ini tersedia di antarmuka pengguna folder sebagai properti System.Sync.ItemID (PKEY_Sync_HandlerID).

Item bertanggung jawab untuk mengalokasikan buffer string yang ditunjukkan oleh ppszComment melalui CoTaskMemAlloc. Sync Center membatalkan alokasi buffer string melalui CoTaskMemFree.

Dalam implementasi Sync Manager yang lebih lama, data ini diambil melalui struktur SYNCMGRITEM .

Contoh

Contoh berikut menunjukkan implementasi metode ini.

STDMETHODIMP CMyDeviceSyncItem::GetItemID(__out LPWSTR *ppszItemID)
{
    HRESULT hr = S_OK;
    *ppszName = NULL;

    // Generate the string version of the ID.
    if (_pszItemID == NULL)
    {
        LPOLESTR pszItemID = NULL;
        hr = StringFromCLSID(_guidItemID, &_pszItemID);
    }

    if (SUCCEEDED(hr))
    {
        // Duplicate the item ID string for the caller.
        hr = SHCoAllocString(_pszItemID, ppszItemID);
    } 

    return hr;
}

Persyaratan

Persyaratan Nilai
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