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。

  • 如果尚未设置值或者值已设置为 NULL,则返回值为 S_FALSE。

  • E_POINTER。

  • E_INVALIDARG。

  • 如果字段不存在,则返回值为 SYNC_E_METADATA_FIELD_INVALID_NAME。

  • 如果字段不是字节数组,则返回值为 SYNC_E_METADATA_FIELD_INVALID_TYPE。

  • 如果 pbValue 的大小不足以接收字段值,则返回值为 HRESULT_FROM_WIN32(ERROR_MORE_DATA)。在这种情况下,pcbValue 返回必需的字节数。

备注

首次初始化副本元数据时,必须使用 CUSTOM_FIELD_DEFINITION 结构定义自定义字段。

如果为了设置字段值而调用了 IItemMetadata::SetFieldByteArray,但尚未通过调用 IReplicaMetadata::SaveItemMetadata 来保存该变更,则 TryGetFieldByteArray 会返回包含在 IItemMetadata 对象中的值,而不会返回存储在元数据存储区中的值。

请参阅

参考

IItemMetadata 接口