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。 藉由載入 物件並呼叫 IOleObject::GetUserClassID 方法,來源可以擷取 clsid。 請注意,對於連結對象,這個值與 IPersist::GetClassID 方法所傳回的值不同。
dwDrawAspect
對象的顯示層面。 這個值通常是DVASPECT_CONTENT或DVASPECT_ICON。 如果來源應用程式原本未繪製物件, dwDrawAspect 字段會包含零值 (與DVASPECT_CONTENT) 不同。 如需詳細資訊,請參閱 DVASPECT。
sizel
對象的真實範圍 (,而不需 在 HIMETRIC 單位中裁剪或調整) 。 設定此欄位是選擇性的。 對於未傳送物件的應用程式,此值可以 (0,0) 。 此欄位主要是由拖放作業的目標使用,因此他們可以向使用者提供適當的意見反應。
pointl
從物件左上角起始拖放作業的 HIMETRIC 單位位移。 此欄位僅適用於拖放傳輸作業,因為它對應於按下滑鼠以起始拖放作業的點。 針對其他傳輸情況,此值 (0,0) ,例如剪貼簿複製和貼上。
dwStatus
對象的狀態旗標複本。 這些旗標是由 OLEMISC 列舉所定義。 如果正在傳輸內嵌物件,則會藉由呼叫 IOleObject::GetMiscStatus 方法傳回這些物件。
dwFullUserTypeName
尋找要傳送之物件之完整使用者類型名稱的位移。 它會指定 從 OBJECTDESCRIPTOR 數據結構的開頭到 Null 終止字串的位移,以位元組為單位,指定要傳送之物件的完整使用者類型名稱。 如果字串不存在,此值為零。 數據傳輸的目的地會使用此字串,在 [ 貼上特殊 ] 對話框中建立標籤。 當省略此字串時,目的地應用程式必須能夠處理案例。
dwSrcOfCopy
從數據結構的開頭到指定傳輸來源之 Null 終止字串的位移,以位元組為單位。 dwSrcOfCopy 成員通常會實作為識別數據源之暫存Moniker的顯示名稱。 dwSrcOfCopy 的值會顯示在 [貼上特殊] 對話框的 [來源] 行中。 零值表示字串不存在。 如果 dwSrcOfCopy 為零,字串 “Unknown Source” 會顯示在 [ 貼上特殊 ] 對話框中。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
標頭 | oleidl.h |