IItemMetadata::TryGetFieldByteArray

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

HRESULT TryGetFieldByteArray(
  LPCWSTR pcszFieldName,
  BYTE * pbValue,
  ULONG * pcbValue);

Параметры

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

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

  • 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), если pbValue имеет недостаточный размер, чтобы вместить значение поля. В этом случае в параметре pcbValue возвращается необходимое число байтов.

Замечания

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

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

См. также

Справочник

Интерфейс IItemMetadata