Compartilhar via


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.

Consulte também

Referência

Interface IItemMetadata