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 对象中的值,而不会返回存储在元数据存储区中的值。