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

Obtém a ID exclusiva de um item de sincronização.

Sintaxe

HRESULT GetItemID(
  [out] LPWSTR *ppszItemID
);

Parâmetros

[out] ppszItemID

Tipo: LPWSTR*

Quando esse método retorna, contém um ponteiro para um buffer que contém a ID do item. Essa cadeia de caracteres tem comprimento máximo MAX_SYNCMGR_ID incluindo o caractere nulo de terminação.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

A ID recuperada por esse método não pode ser alterada. Normalmente, a ID está na forma de uma cadeia de caracteres GUID. No entanto, isso não é um requisito. A ID pode ser qualquer cadeia de caracteres exclusiva no contexto do manipulador.

Se GetItemID falhar ou uma cadeia de caracteres vazia for retornada em ppszItemID, o item de sincronização não será mostrado na pasta do manipulador e o Centro de Sincronização não tentará sincronizá-lo.

A ID recuperada por esse método está disponível na interface do usuário da pasta como a propriedade System.Sync.ItemID (PKEY_Sync_HandlerID).

O item é responsável por alocar o buffer de cadeia de caracteres apontado por ppszComment por meio de CoTaskMemAlloc. O Sync Center desaloca o buffer de cadeia de caracteres por meio de CoTaskMemFree.

Em implementações mais antigas do Gerenciador de Sincronização, esses dados foram recuperados por meio da estrutura SYNCMGRITEM .

Exemplos

O exemplo a seguir mostra uma implementação desse 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 Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho syncmgr.h