Compartir a través de


Método ISyncMgrSyncItem::GetItemID (syncmgr.h)

Obtiene el identificador único de un elemento de sincronización.

Sintaxis

HRESULT GetItemID(
  [out] LPWSTR *ppszItemID
);

Parámetros

[out] ppszItemID

Tipo: LPWSTR*

Cuando este método vuelve, contiene un puntero a un búfer que contiene el identificador del elemento. Esta cadena tiene una longitud máxima MAX_SYNCMGR_ID incluido el carácter nulo de terminación.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

El identificador recuperado por este método no puede cambiar. Normalmente, el identificador tiene la forma de una cadena GUID. Sin embargo, esto no es un requisito. El identificador puede ser cualquier cadena que sea única en el contexto del controlador.

Si se produce un error en GetItemID o se devuelve una cadena vacía en ppszItemID, el elemento de sincronización no se muestra en la carpeta del controlador y el Centro de sincronización no intentará sincronizarlo.

El identificador recuperado por este método está disponible en la interfaz de usuario de la carpeta como la propiedad System.Sync.ItemID (PKEY_Sync_HandlerID).

El elemento es responsable de asignar el búfer de cadena al que apunta ppszComment a través de CoTaskMemAlloc. Sync Center desasigna el búfer de cadena a través de CoTaskMemFree.

En implementaciones anteriores del Administrador de sincronización, estos datos se recuperaron a través de la estructura SYNCMGRITEM .

Ejemplos

En el ejemplo siguiente se muestra una implementación de este método.

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

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado syncmgr.h