다음을 통해 공유


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 인터페이스