IItemMetadata::TryGetFieldString

返回字符串字段的值。

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

参数

  • pcszFieldName
    [in, string] 字段的名称。
  • pszValue
    [in, out, size_is(*pcchValue)] 返回指定字段的值。
  • pcchValue
    [in, out] 指定 pszValue 中的字符数。如果 pszValue 太小,则返回检索指定字段值所需的字符数;否则返回写入的字符数,包括 Null 终止符。

返回值

  • S_OK。

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

  • E_POINTER。

  • E_INVALIDARG。

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

  • 如果字段不属于字符串,则返回值为 SYNC_E_METADATA_FIELD_INVALID_TYPE。

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

备注

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

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

请参阅

参考

IItemMetadata 接口