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 物件中包含的值,而不是中繼資料存放區中儲存的值。