IItemMetadata::TryGetFieldByteArray
Obtém o valor do campo de uma matriz de bytes.
HRESULT TryGetFieldByteArray(
LPCWSTR pcszFieldName,
BYTE * pbValue,
ULONG * pcbValue);
Parâmetros
- pcszFieldName
[in, string] O nome do campo.
- pbValue
[in, out, unique, size_is(* pcbValue)] Retorna o valor do campo especificado.
- pcbValue
[in, out] Especifica o número de bytes em pbValue. Retorna o número de bytes necessários para recuperar o valor do campo especificado quando pbValue for muito pequeno; caso contrário, retorna o número de bytes gravados.
Valor de retorno
S_OK.
S_FALSE se o valor não estiver definido ou se estiver definido como NULL.
E_POINTER.
E_INVALIDARG.
SYNC_E_METADATA_FIELD_INVALID_NAME se o campo não existir.
SYNC_E_METADATA_FIELD_INVALID_TYPE se o campo não for uma matriz de byte.
HRESULT_FROM_WIN32(ERROR_MORE_DATA) quando pbValue não for grande o suficiente para receber o valor do campo. Nessa situação, pcbValue retorna o número de bytes necessários.
Comentários
Os campos personalizados devem ser definidos usando a estrutura CUSTOM_FIELD_DEFINITION quando os metadados da réplica forem inicializados pela primeira vez.
Se IItemMetadata::SetFieldByteArray for chamado para definir o valor do campo, mas a alteração não estiver salva por uma chamada a IReplicaMetadata::SaveItemMetadata, TryGetFieldByteArray retorna o valor contido no objeto IItemMetadata e não o valor do repositório de metadados.