Condividi tramite


Metodo ISyncMgrSyncItem::GetItemID (syncmgr.h)

Ottiene l'ID univoco di un elemento di sincronizzazione.

Sintassi

HRESULT GetItemID(
  [out] LPWSTR *ppszItemID
);

Parametri

[out] ppszItemID

Tipo: LPWSTR*

Quando questo metodo restituisce, contiene un puntatore a un buffer contenente l'ID dell'elemento. Questa stringa è di lunghezza massima MAX_SYNCMGR_ID incluso il carattere null terminante.

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

L'ID recuperato da questo metodo non può modificare. In genere, l'ID è sotto forma di una stringa GUID. Tuttavia, questo non è un requisito. L'ID può essere qualsiasi stringa univoca nel contesto del gestore.

Se GetItemID ha esito negativo o viene restituita una stringa vuota in ppszItemID, l'elemento di sincronizzazione non viene visualizzato nella cartella del gestore e Sync Center non tenterà di sincronizzarlo.

L'ID recuperato da questo metodo è disponibile nell'interfaccia utente della cartella come proprietà System.Sync.ItemID (PKEY_Sync_HandlerID).

L'elemento è responsabile dell'allocazione del buffer stringa a cui fa riferimento ppszComment tramite CoTaskMemAlloc. Sync Center dealloca il buffer stringa tramite CoTaskMemFree.

Nelle implementazioni di Sync Manager precedenti, questi dati sono stati recuperati tramite la struttura SYNCMGRITEM .

Esempio

Nell'esempio seguente viene illustrata un'implementazione di questo metodo.

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;
}

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione syncmgr.h