IItemMetadata::TryGetFieldString
Retorna o valor de um campo de cadeia de caracteres.
HRESULT TryGetFieldString(
LPCWSTR pcszFieldName,
LPWSTR pszValue,
ULONG * pcchValue);
Parâmetros
- pcszFieldName
[in, string] O nome do campo.
- pszValue
[in, out, size_is(*pcchValue)] Retorna o valor do campo especificado.
- pcchValue
[in, out] Especifica o número de caracteres em pszValue. Retorna o número de caracteres necessários para recuperar o valor do campo especificado quando pszValue é muito pequeno; caso contrário, retorna o número de caracteres gravados, incluindo o terminador null.
Valor de retorno
S_OK.
S_FALSE se o valor não tiver sido definido ou se tiver sido definido como NULL.
E_POINTER.
E_INVALIDARG.
SYNC_E_METADATA_FIELD_INVALID_NAME se o campo não existir.
SYNC_E_METADATA_FIELD_INVALID_TYPE se o campo não for uma cadeia de caracteres.
HRESULT_FROM_WIN32(ERROR_MORE_DATA) quando pszValue não for grande o suficiente para receber o valor do campo. Nessa situação, pcchValue retorna o número necessário de caracteres.
Comentários
Os campos personalizados devem ser definidos usando uma estrutura CUSTOM_FIELD_DEFINITION ao inicializar pela primeira vez os metadados da réplica.
Se IItemMetadata::SetFieldString for chamado para definir o valor do campo, mas a alteração não estiver salva por uma chamada a IReplicaMetadata::SaveItemMetadata, TryGetFieldString retorna o valor contido no objeto IItemMetadata e não o valor do repositório de metadados.