IItemMetadata::TryGetFieldByteArray
Gets the value of a byte array field.
S_OK.
S_FALSE if the value has not been set or if it has been set to NULL.
E_POINTER.
E_INVALIDARG.
SYNC_E_METADATA_FIELD_INVALID_NAME if the field does not exist.
SYNC_E_METADATA_FIELD_INVALID_TYPE if the field is not a byte array.
HRESULT_FROM_WIN32(ERROR_MORE_DATA) when pbValue is not large enough to receive the field value. In this situation, pcbValue returns the required number of bytes.
Custom fields must be defined by using a CUSTOM_FIELD_DEFINITION structure when the replica metadata is first initialized.
If IItemMetadata::SetFieldByteArray was called to set the field value, but the change has not yet been saved by a call to IReplicaMetadata::SaveItemMetadata, TryGetFieldByteArray returns the value that is contained in the IItemMetadata object and not the value that is stored in the metadata store.