IDataObject.GetCanonicalFormatEtc(FORMATETC, FORMATETC) Método

Definição

Fornece uma estrutura padrão FORMATETC logicamente equivalente a uma estrutura mais complexa. Use este método para determinar se duas estruturas diferentes FORMATETC devolveriam os mesmos dados, eliminando a necessidade de renderização duplicada.

public:
 int GetCanonicalFormatEtc(System::Runtime::InteropServices::ComTypes::FORMATETC % formatIn, [Runtime::InteropServices::Out] System::Runtime::InteropServices::ComTypes::FORMATETC % formatOut);
public int GetCanonicalFormatEtc(ref System.Runtime.InteropServices.ComTypes.FORMATETC formatIn, out System.Runtime.InteropServices.ComTypes.FORMATETC formatOut);
abstract member GetCanonicalFormatEtc : FORMATETC * FORMATETC -> int
Public Function GetCanonicalFormatEtc (ByRef formatIn As FORMATETC, ByRef formatOut As FORMATETC) As Integer

Parâmetros

formatIn
FORMATETC

Um ponteiro para uma FORMATETC estrutura, passado por referência, que define o formato, o meio e o dispositivo destino que o chamador gostaria de usar para recuperar dados numa chamada subsequente, como GetData(FORMATETC, STGMEDIUM). O TYMED membro não é significativo neste caso e deve ser ignorado.

formatOut
FORMATETC

Quando este método retorna, contém um ponteiro para uma FORMATETC estrutura que contém a informação mais geral possível para uma renderização específica, tornando-a canonicamente equivalente a formatetcIn. O chamador deve alocar esta estrutura e o GetCanonicalFormatEtc(FORMATETC, FORMATETC) método deve preencher os dados. Para recuperar dados numa chamada subsequente, como GetData(FORMATETC, STGMEDIUM), o chamador usa o valor fornecido de formatOut, a menos que o valor fornecido seja null. Este valor é null se o método devolver DATA_S_SAMEFORMATETC. O TYMED membro não é significativo neste caso e deve ser ignorado. Este parâmetro é passado sem inicializar.

Devoluções

Este método suporta os valores padrão de retorno E_INVALIDARG, E_UNEXPECTED e E_OUTOFMEMORY, bem como os seguintes:

Valor Descrição
S_OK A estrutura devolvida FORMATETC é diferente da que foi aprovada.
DATA_S_SAMEFORMATETC As FORMATETC estruturas são as mesmas e null são devolvidas no formatOut parâmetro.
DV_E_LINDEX Existe um valor inválido para lindex; atualmente, apenas -1 é suportado.
DV_E_FORMATETC Existe um valor inválido para o formatIn parâmetro.
OLE_E_NOTRUNNING A aplicação não está a correr.

Observações

Para mais informações, consulte o método IDataObject::GetCanonicalFormatEtc.

Aplica-se a