Compartilhar via


IDataObject.GetCanonicalFormatEtc(FORMATETC, FORMATETC) Método

Definição

Fornece uma estrutura FORMATETC padrão logicamente equivalente a uma estrutura mais complexa. Use esse método para determinar se duas estruturas FORMATETC diferentes retornariam os mesmos dados, acabando com 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 estrutura FORMATETC, passado por referência, que define o formato, o meio e o dispositivo de destino que o chamador gostaria de usar para recuperar dados em uma chamada subsequente, como GetData(FORMATETC, STGMEDIUM). O membro TYMED não é significativo nesse caso e deve ser ignorado.

formatOut
FORMATETC

Quando esse método retorna, contém um ponteiro para uma FORMATETC estrutura que contém as informações mais gerais possíveis para uma renderização específica, tornando-a canonicamente equivalente a formatetcIn. O chamador deve alocar esta estrutura e o método GetCanonicalFormatEtc(FORMATETC, FORMATETC) deve preencher os dados. Para recuperar dados em uma chamada subsequente, como GetData(FORMATETC, STGMEDIUM), o chamador usa o valor fornecido de formatOut, a menos que o valor fornecido seja null. Esse valor será null se o método retornar DATA_S_SAMEFORMATETC. O membro TYMED não é significativo nesse caso e deve ser ignorado. Este parâmetro é passado não inicializado.

Retornos

Este método é compatível com os valores retornados padrão E_INVALIDARG, E_UNEXPECTED e E_OUTOFMEMORY e também com os seguintes:

Valor Descrição
S_OK A estrutura FORMATETC retornada é diferente da que foi passada.
DATA_S_SAMEFORMATETC As estruturas FORMATETC são iguais e null é retornado no parâmetro formatOut.
DV_E_LINDEX Há um valor inválido para lindex; no momento, apenas -1 é compatível.
DV_E_FORMATETC Há um valor inválido para o parâmetro pFormatetc.
OLE_E_NOTRUNNING O aplicativo não está em execução.

Comentários

Para obter mais informações, consulte Método IDataObject::GetCanonicalFormatEtc.

Aplica-se a