OBJECTDESCRIPTOR 구조체(oleidl.h)
CF_OBJECTDESRIPTOR 및 CF_LINKSRCDESCRIPTOR 파일 형식에 사용되는 데이터 구조를 나타냅니다. 이러한 형식은 데이터 전송 작업 중에 사용자 인터페이스 정보를 제공합니다(예: 특수 붙여넣기 대화 상자 또는 끌어서 놓기 작업 중 대상 피드백 정보).
구문
typedef struct tagOBJECTDESCRIPTOR {
ULONG cbSize;
CLSID clsid;
DWORD dwDrawAspect;
SIZEL sizel;
POINTL pointl;
DWORD dwStatus;
DWORD dwFullUserTypeName;
DWORD dwSrcOfCopy;
} OBJECTDESCRIPTOR, *POBJECTDESCRIPTOR, *LPOBJECTDESCRIPTOR, LINKSRCDESCRIPTOR, *PLINKSRCDESCRIPTOR, *LPLINKSRCDESCRIPTOR;
멤버
cbSize
구조체의 크기(바이트)입니다.
clsid
전송되는 개체의 CLSID입니다. clsid는 붙여넣기 특수 대화 상자에서 아이콘으로 표시 옵션의 아이콘을 가져오는 데 사용되며 포함 원본 또는 포함된 개체 형식이 제공되는 경우에만 적용됩니다. 둘 다 제공되지 않으면 clsid 값을 CLSID_NULL 합니다. clsid는 개체를 로드하고 IOleObject::GetUserClassID 메서드를 호출하여 원본에서 검색할 수 있습니다. 링크 개체의 경우 이 값은 IPersist::GetClassID 메서드에서 반환하는 값과 다릅니다.
dwDrawAspect
개체의 표시 측면입니다. 일반적으로 이 값은 DVASPECT_CONTENT 또는 DVASPECT_ICON. 원본 애플리케이션이 원래 개체를 그리지 않은 경우 dwDrawAspect 필드에 0 값(DVASPECT_CONTENT 같지 않음)이 포함됩니다. 자세한 내용은 DVASPECT을 참조하세요.
sizel
HIMETRIC 단위에서 개체의 실제 익스텐트입니다(자르거나 스케일링하지 않음). 이 필드를 설정하는 것은 선택 사항입니다. 값은 전송되는 개체를 그리지 않는 애플리케이션의 경우 (0,0)일 수 있습니다. 이 필드는 주로 끌어서 놓기 작업의 대상에서 사용되므로 사용자에게 적절한 피드백을 제공할 수 있습니다.
pointl
끌어서 놓기 작업이 시작된 개체의 왼쪽 위 모서리에 있는 HIMETRIC 단위의 오프셋입니다. 이 필드는 끌어서 놓기 작업을 시작하기 위해 마우스를 클릭한 지점에 해당하므로 끌어서 놓기 전송 작업에만 의미가 있습니다. 값은 클립보드 복사본 및 붙여넣기와 같은 다른 전송 상황의 경우 (0,0)입니다.
dwStatus
개체에 대한 상태 플래그의 복사본입니다. 이러한 플래그는 OLEMISC 열거형으로 정의됩니다. 포함된 개체가 전송되는 경우 IOleObject::GetMiscStatus 메서드를 호출하여 반환됩니다.
dwFullUserTypeName
전송되는 개체의 전체 사용자 유형 이름을 찾기 위한 오프셋입니다. 개체DESCRIPTOR 데이터 구조의 시작부터 전송되는 개체의 전체 사용자 유형 이름을 지정하는 null로 끝나는 문자열까지 오프셋(바이트)을 지정합니다. 문자열이 없으면 값이 0입니다. 이 문자열은 데이터 전송 대상에서 특수 붙여넣 기 대화 상자에서 레이블을 만드는 데 사용됩니다. 대상 애플리케이션은 이 문자열을 생략할 때 사례를 처리할 수 있어야 합니다.
dwSrcOfCopy
데이터 구조의 시작부터 전송 원본을 지정하는 null로 끝나는 문자열까지의 오프셋(바이트)입니다. dwSrcOfCopy 멤버는 일반적으로 데이터 원본을 식별하는 임시 모니커의 표시 이름으로 구현됩니다. dwSrcOfCopy 값은 붙여넣기 특수 대화 상자의 원본 줄에 표시됩니다. 값이 0이면 문자열이 없음을 나타냅니다. dwSrcOfCopy가 0이면 특수 붙여넣기 대화 상자에 "알 수 없는 원본" 문자열이 표시됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
머리글 | oleidl.h |