Что означает код NTSTATUS 0xC000CF03 (STATUS_CLOUD_FILE_METADATA_TOO_LARGE)?

 
Предыдущий Следующий
STATUS_CLOUD_FILE_METADATA_CORRUPT STATUS_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED

STATUS_CLOUD_FILE_METADATA_TOO_LARGE

Метаданные Cloud Files не предназначены для хранения произвольной базы данных поставщика. Поставщик синхронизации передаёт непрозрачные идентичности корня синхронизации и заполнителей, однако API задаёт явные ограничения размера этих значений. Слишком крупные идентичности или полезные нагрузки метаданных следует считать ошибкой проектирования сериализации, а не поводом обрезать байты до успешного выполнения вызова.

Измеряйте длину в байтах после кодирования каждого значения, передаваемого платформе, включая поля версии и двоичные оболочки. Храните в идентичности Cloud Files только стабильный ключ и компактную версию схемы; крупные манифесты, историю и специфичные для поставщика индексы сохраняйте в собственном хранилище поставщика.

Полезные проверки

  • Записывайте количество байтов после сериализации, а не только длину исходных строк.
  • До регистрации или создания заполнителя убедитесь, что размеры идентичностей корня синхронизации и файла ограничены.
  • Явно версионируйте компактные идентичности, чтобы обновлённая версия могла декодировать старые записи без встраивания крупных данных совместимости.

Связанная документация

  • CfRegisterSyncRoot описывает поля идентичности и их максимальные размеры.
  • CfGetPlaceholderInfo показывает, как предоставленная поставщиком идентичность файла представляется платформой.

Нужно найти другой код? Найти другой код состояния или ошибки.