FORMATETC 구조체
FORMATETC 구조는 대상 디바이스, 데이터의 측면 또는 뷰 및 스토리지 매체를 포함하도록 향상된 일반화된 클립보드 형식입니다. OLE 컨테이너 애플리케이션과 같은 데이터 소비자는 복합 문서 개체와 같이 데이터 원본에서 원하는 데이터 형식을 나타내기 위해 IDataObject 호출에서 FORMATETC 구조를 인수로 전달합니다. 원본은 FORMATETC 구조를 사용하여 제공할 수 있는 형식을 설명합니다.
FORMATETC 는 모니커와 같은 다른 개체를 포함하여 거의 모든 데이터를 설명할 수 있습니다. 컨테이너는 IEnumFORMATETC 인터페이스를 구현하는 열거자 개체를 반환하는 IDataObject::EnumFormatEtc를 호출하여 포함된 개체 중 하나에 데이터 형식을 나열하도록 요청할 수 있습니다. 단순히 "텍스트 및 비트맵"이 있다고 회신하는 대신, 개체는 렌더링되는 디바이스(일반적으로 화면 또는 프린터), 사용자에게 표시되는 측면(전체 콘텐츠, 축소판 그림, 아이콘 또는 인쇄 형식) 및 데이터를 포함하는 스토리지 매체(전역 메모리, 디스크 파일, 스토리지 개체 또는 스트림). 데이터를 긴밀하게 설명하는 이 기능은 시간이 지나면 더 높은 품질의 프린터 및 화면 출력뿐만 아니라 데이터 검색의 효율성을 높일 수 있습니다. 여기서 미리 보기 스케치는 완전히 상세한 렌더링보다 검색 및 표시 속도가 훨씬 빠릅니다.
다음 표에서는 FORMATETC 데이터 구조의 필드와 지정한 정보를 나열합니다.
필드 | 설명 |
---|---|
cfFormat |
데이터를 렌더링할 형식으로, 표준 클립보드 형식, 독점 형식 또는 OLE 형식일 수 있습니다. OLE 형식에 대한 자세한 내용은 복합 문서를 참조하세요. |
ptd |
화면 또는 프린터와 같은 Windows 대상 디바이스에 대한 충분한 정보를 포함하는 DVTARGETDEVICE 구조체로, CreateDC 함수를 사용하여 hDC(디바이스 컨텍스트)에 대한 핸들을 만들 수 있습니다. |
dwAspect |
렌더링할 데이터의 측면 또는 뷰입니다. 은 전체 내용, 축소판 그림 스케치, 아이콘 또는 인쇄 형식일 수 있습니다. |
lindex |
관심 있는 측면의 일부; 의 경우 값은 -1이어야 하며 전체 보기가 관심 있음을 나타냅니다. |
tymed |
글로벌 메모리, 디스크 파일 또는 COM의 구조적 스토리지 인터페이스 중 하나의 instance 수 있는 데이터의 스토리지 매체입니다. |