共用方式為


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 介面