다음을 통해 공유


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 구조체가 같고 formatOut 매개 변수에서 null이 반환된 경우
DV_E_LINDEX lindex의 값이 잘못된 경우(현재 -1만 지원됨)
DV_E_FORMATETC pFormatetc 매개 변수의 값이 잘못된 경우
OLE_E_NOTRUNNING 애플리케이션이 실행되고 있지 않은 경우

설명

자세한 내용은 IDataObject::GetCanonicalFormatEtc 메서드를 참조하세요.

적용 대상