Поделиться через


IDataObject.GetCanonicalFormatEtc(FORMATETC, FORMATETC) Метод

Определение

Предоставляет стандартную структуру FORMATETC, которая логически эквивалентна более сложной структуре. Этот метод применяется, чтобы определить, будут ли две различные структуры FORMATETC возвращать одинаковые данные, что позволяет избежать ненужной повторной отрисовки.

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

Параметры

formatIn
FORMATETC

Указатель на структуру FORMATETC, переданную ссылкой, определяющую формат, среду передачи и целевое устройство, которые вызывающий объект хотел бы использовать для извлечения данных в последующем вызове, например GetData(FORMATETC, STGMEDIUM). В этом случае элемент TYMED не важен и должен быть проигнорирован.

formatOut
FORMATETC

При возвращении данного метода содержит указатель на структуру FORMATETC, которая содержит наиболее общие сведения для определенной отрисовки, делая его канонически эквивалентным formatetcIn. Вызывающий объект должен выделить эту структуру, а метод GetCanonicalFormatEtc(FORMATETC, FORMATETC) должен заполнить данные. Для извлечения данных в последующем вызове, например GetData(FORMATETC, STGMEDIUM), вызывающий объект использует предоставленное значение параметра formatOut, если предоставленное значение не равно null. Это значение равняется null, если метод возвращает DATA_S_SAMEFORMATETC. В этом случае элемент TYMED не важен и должен быть проигнорирован. Этот параметр передается неинициализированным.

Возвращаемое значение

Этот метод поддерживает стандартные возвращаемые значения E_INVALIDARG, E_UNEXPECTED и E_OUTOFMEMORY, а также следующие.

Значение Описание:
S_OK Возвращенная структура FORMATETC отличается от структуры, которая была передана.
DATA_S_SAMEFORMATETC Структуры FORMATETC — те же самые, и значение null возвращается в параметре formatOut.
DV_E_LINDEX Недопустимое значение для lindex; в настоящий момент поддерживается только значение -1.
DV_E_FORMATETC Недопустимое значение для параметра pFormatetc.
OLE_E_NOTRUNNING Приложение не выполняется.

Комментарии

Дополнительные сведения см. в разделе Метод IDataObject::GetCanonicalFormatEtc.

Применяется к