Поделиться через


IItemMetadata::TryGetFieldString

Возвращает значение строкового поля.

HRESULT TryGetFieldString(
  LPCWSTR pcszFieldName,
  LPWSTR pszValue,
  ULONG * pcchValue);

Параметры

  • pcszFieldName
    [in, string] Имя поля.
  • pszValue
    [in, out, size_is(*pcchValue)] Возвращает значение указанного поля.
  • pcchValue
    [in, out] Указывает длину pszValue в символах. Возвращает число символов, необходимое для получения заданного значения поля, если размер pszValue слишком мал. В противном случае возвращает число записанных символов, включая нулевой признак конца.

Возвращаемое значение

  • S_OK.

  • S_FALSE, если значение не задано или было установлено в значение NULL.

  • E_POINTER.

  • E_INVALIDARG.

  • SYNC_E_METADATA_FIELD_INVALID_NAME, если поле не существует.

  • SYNC_E_METADATA_FIELD_INVALID_TYPE, если поле не является строковым.

  • HRESULT_FROM_WIN32(ERROR_MORE_DATA), если pszValue имеет недостаточный размер, чтобы вместить значение поля. В этом случае pcchValue возвращает необходимое число символов.

Замечания

Пользовательские поля должны быть определены с помощью структуры CUSTOM_FIELD_DEFINITION при первой инициализации метаданных реплики.

Если установка значения поля производилось путем вызова метода IItemMetadata::SetFieldString, но изменение еще не сохранено с помощью вызова метода IReplicaMetadata::SaveItemMetadata, то TryGetFieldString возвращает значение, содержащееся в объекте IItemMetadata, а не значение из хранилища метаданных.

См. также

Справочник

Интерфейс IItemMetadata