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 개체에 들어 있는 값을 반환합니다.