Compartilhar via


Método IPropertyBag::Write (oaidl.h)

Salve a propriedade nomeada em uma VARIANT inicializada pelo chamador.

Sintaxe

HRESULT Write(
  LPCOLESTR pszPropName,
  VARIANT   *pVar
);

Parâmetros

pszPropName

O endereço de uma cadeia de caracteres que contém o nome da propriedade a ser gravada. Não pode ser NULL.

pVar

O endereço do VARIANT inicializado pelo chamador que contém o valor da propriedade a ser salvo. O chamador é o proprietário dessa VARIANT e é responsável por todas as suas alocações. Ou seja, o recipiente de propriedades não tenta liberar dados na VARIANT.

Comentários

O método Write informa ao recipiente de propriedades para salvar a propriedade chamada com pszPropName usando o tipo e o valor na VARIANT inicializada pelo chamador em pVar. Em alguns casos, o chamador pode estar dizendo ao recipiente de propriedades para salvar outro objeto, por exemplo, quando pVar->vt é VT_UNKNOWN. Nesses casos, o recipiente de propriedades consulta esse ponteiro de objeto para uma interface de persistência, como IPersistStream ou IPersistPropertyBag, e faz com que esse objeto salve seus dados também. Normalmente, isso faz com que o recipiente de propriedades tenha alguma matriz de bytes para esse objeto, que pode ser salva como texto codificado, como cadeia de caracteres hexadecimal, MIME e assim por diante. Quando o recipiente de propriedades é usado posteriormente para reinicializar um controle, o cliente que possui o recipiente de propriedades deve recriar o objeto quando o chamador o solicitar, inicializando esse objeto com os bits salvos anteriormente.

Isso permite operações de persistência eficientes para propriedades de BLOB (Objeto Binário Grande), como uma imagem, em que o proprietário do recipiente de propriedades informa ao objeto de imagem (que é gerenciado como uma propriedade no controle que é salva) para salvar em um local específico. Isso evita possíveis operações extras de cópia que podem estar envolvidas com outros mecanismos de persistência baseados em propriedade.

E_NOTIMPL não é um código de retorno válido, pois qualquer objeto que implemente essa interface deve dar suporte a toda a funcionalidade da interface.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10 Build 20348
Servidor mínimo com suporte Windows 10 Build 20348
Cabeçalho oaidl.h