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, а не значение из хранилища метаданных.