Home COM GDI+ WebBrowser Data Access

OLE and Data Transfer Structures

 

Structures

 

DVASPECTINFO
DVEXTENTINFO
DVTARGETDEVICE

FONTDESC
FORMATETC
OBJECTDESCRIPTOR
OLECMD
OLECMDTEXT
OLEINPLACEFRAMEINFO
OLEMENUGROUPWIDTHS
OLEUIBUSY
OLEUICHANGEICON
OLEUICHANGESOURCE

 

 

OLEUICONVERT

OLEUIEDITLINKS
OLEUIGNRLPROPS
OLEUIINSERTOBJECT
OLEUILINKPROPS
OLEUIOBJECTPROPS
OLEUIPASTEENTRY
OLEUIPASTESPECIAL
OLEUIVIEWPROPS
OLEVERB
POINTF
STATDATA
STGMEDIUM

 

DVASPECTINFO

 

The DVASPECTINFO structure is used in the IViewObject::Draw method to optimize rendering of an inactive object by making more efficient use of the GDI. The pvAspect parameter in IViewObject::Draw points to this structure.
 

 

TYPE DVASPECTINFO
  
cb AS DWORD
  
dwFlags AS DWORD
END TYPE
 

 

DVEXTENTINFO

 

The DVEXTENTINFO structure is used in IViewObjectEx::GetNaturalExtent.
 

 

TYPE DVEXTENTINFO
  
cb AS DWORD
  
dwExtentMode AS DWORD
  
sizelProposed AS SIZEL
END TYPE
 

 

DVTARGETDEVICE

 

Use the DVTARGETDEVICE structure to specify information about the target device for which data is being composed. DVTARGETDEVICE contains enough information about a Windows target device so a handle to a device context (hDC) can be created using the Windows CreateDC function.
 

 

TYPE DVTARGETDEVICE
  
tdSize AS DWORD
  
tdDriverNameOffset AS WORD
  
tdDeviceNameOffset AS WORD
  
tdPortNameOffset AS WORD
  
tdExtDevmodeOffset AS WORD
  
tdData(0) AS BYTE  ' Variable-length array of bytes
END TYPE
 

 

FONTDESC

 

The FONTDESC structure contains parameters used to create a font object through the OleCreateFontIndirect function.

 

 

TYPE FONTDESC
  
cbSizeofstruct AS DWORD
  
lpstrName AS DWORD
  
cySize AS CUR
  
sWeight AS INTEGER
  
sCharset AS INTEGER
  
fItalic AS LONG
  
fUnderline AS LONG
  
fStrikethrough AS LONG
END TYPE

 

 

FORMATETC

 

The FORMATETC structure is a generalized Clipboard format. It is enhanced to encompass a target device, the aspect or view of the data, and a storage medium indicator. Where one might expect to find a Clipboard format, OLE uses a FORMATETC data structure instead. This structure is used as a parameter in OLE functions and methods that require data format information.
 

 

TYPE FORMATETC DWORD
  
cfFormat AS WORD
  
ptd AS DVTARGETDEVICE PTR
  
dwAspect AS DWORD
  
lindex AS LONG
  
tymed AS DWORD
END TYPE
 

 

OBJECTDESCRIPTOR

 

The OBJECTDESCRIPTOR structure is the data structure used for the CF_OBJECTDESRIPTOR and CF_LINKSRCDESCRIPTOR file formats. These formats provide user interface information during data transfer operations, for example, the Paste Special dialog box or target feedback information during drag-and-drop operations.

 

 

TYPE OBJECTDESCRIPTOR
  
cbSize AS DWORD
  
rclsid AS GUID
  
dwDrawAspect AS DWORD
  
tsizel AS SIZEL
  
tpointl AS POINTL
  
dwStatus AS DWORD
  
dwFullUserTypeName AS DWORD
  
dwSrcOfCopy AS DWORD

END TYPE

 

 

OLECMD

 

The OLECMD structure associates command flags from the OLECMDF enumeration with a command identifier through a call to IOleCommandTarget::QueryStatus.

 

 

TYPE OLECMD
   cmdID AS DWORD
   cmdf AS DWORD
END TYPE

 

 

OLECMDTEXT

 

The OLECMDTEXT structure specifies a text name or status string for a single command identifier. This structure is used with IOleCommandTarget::QueryStatus.

 

 

TYPE OLECMDTEXT
   cmdtextf AS DWORD
   cwActual AS DWORD
   cwBuf AS DWORD
   rgwz AS DWORD
END TYPE

 

 

OLEINPLACEFRAMEINFO

 

The OLEINPLACEFRAMEINFO structure contains information about the accelerators supported by a container during an in-place session. The structure is used in the IOleInPlaceSite::GetWindowContext method and the OleTranslateAccelerator function.

 

 

TYPE OLEINPLACEFRAMEINFO
  
cb AS DWORD
  
fMDIApp AS LONG
  
hwndFrame AS DWORD
  
haccel AS DWORD
  
cAccelEntries AS DWORD
END TYPE
 

 

OLEMENUGROUPWIDTHS

 

The OLEMENUGROUPWIDTHS structure is the mechanism for building a shared menu. It indicates the number of menu items in each of the six menu groups of a menu shared between a container and an object server during an in-place editing session.

 

 

TYPE OLEMENUGROUPWIDTHS
   lWidth(5) AS LONG

END TYPE

 

 

OLEUIBUSY

 

The OLEUIBUSY structure contains information that the OLE User Interface Library uses to initialize the Busy dialog box, and space for the library to return information when the dialog box is dismissed.

 

 

TYPE OLEUIBUSY
  
' // These IN fields are standard across all OLEUI dialog box functions.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
hWndOwner AS DWORD
  
lpszCaption AS ASCIIZ PTR
  
lpfnHook AS DWORD
  
lCustData AS DWORD
  
hInstance AS DWORD
  
lpszTemplate AS ASCIIZ PTR
  
hResource AS DWORD
  
' // Specifics for OLEUIBUSY.
  
hTask AS DWORD
  
lphWndDialog AS DWORD
END TYPE

 

TYPE OLEUIBUSYW
  
' // These IN fields are standard across all OLEUI dialog box functions.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
hWndOwner AS DWORD
  
lpszCaption AS DWORD
  
lpfnHook AS DWORD
  
lCustData AS DWORD
  
hInstance AS DWORD
  
lpszTemplate AS DWORD
  
hResource AS DWORD
  
' // Specifics for OLEUIBUSY.
  
hTask AS DWORD
  
lphWndDialog AS DWORD
END TYPE

 

 

OLEUICHANGEICON

 

The OLEUICHANGEICON structure contains information that the OLE User Interface Library uses to initialize the Change Icon dialog box, and it contains space for the library to return information when the dialog box is dismissed.

 

 

TYPE OLEUICHANGEICON
  
' // These IN fields are standard across all OLEUI dialog box functions.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
hWndOwner AS DWORD
  
lpszCaption AS ASCIIZ PTR
  
lpfnHook AS DWORD
  
lCustData AS DWORD
  
hInstance AS DWORD
  
lpszTemplate AS ASCIIZ PTR
  
hResource AS DWORD
  
' // Specifics for OLEUICHANGEICON.
  
hMetaPict AS DWORD
  
rclsid AS GUID
  
szIconExe AS STRING * %OLEUI_CCHPATHMAX
  
cchIconExe AS LONG
END TYPE

 

TYPE OLEUICHANGEICONW
  
' // These IN fields are standard across all OLEUI dialog box functions.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
hWndOwner AS DWORD
  
lpszCaption AS DWORD
  
lpfnHook AS DWORD
  
lCustData AS DWORD
  
hInstance AS DWORD
  
lpszTemplate AS DWORD
  
hResource AS DWORD
  
' // Specifics for OLEUICHANGEICON.
  
hMetaPict AS DWORD
  
rclsid AS GUID
  
szIconExe AS STRING * %OLEUI_CCHPATHMAX * 2
  
cchIconExe AS LONG
END TYPE

 

 

OLEUICHANGESOURCE

 

This structure is used to initialize the standard Change Source dialog box. It allows the user to modify the destination or source of a link. This may simply entail selecting a different file name for the link, or possibly changing the item reference within the file, for example, changing the destination range of cells within the spreadsheet that the link is to.

 

 

TYPE OLEUICHANGESOURCE
  
' // These IN fields are standard across all OLEUI dialog box functions.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
hWndOwner AS DWORD
  
lpszCaption AS ASCIIZ PTR
  
lpfnHook AS DWORD
  
lCustData AS DWORD
  
hInstance AS DWORD
  
lpszTemplate AS ASCIIZ PTR
  
hResource AS DWORD
  
' // INTERNAL ONLY: do not modify these members
  
lpOFN AS DWORD ' OPENFILENAME PTR
  
dwReserved1 (0 TO 3) AS DWORD
  
' // Specifics for OLEUICHANGESOURCE.
  
lpOleUILinkContainer AS DWORD PTR
  
dwLink AS DWORD
  
lpszDisplayName AS ASCIIZ PTR
  
nFileLength AS DWORD
  
lpszFrom AS ASCIIZ PTR
  
lpszTo AS ASCIIZ PTR
END TYPE

 

TYPE OLEUICHANGESOURCEW
  
' // These IN fields are standard across all OLEUI dialog box functions.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
hWndOwner AS DWORD
  
lpszCaption AS DWORD
  
lpfnHook AS DWORD
  
lCustData AS DWORD
  
hInstance AS DWORD
  
lpszTemplate AS DWORD
  
hResource AS DWORD
  
' // INTERNAL ONLY: do not modify these members
  
lpOFN AS DWORD ' OPENFILENAME PTR
  
dwReserved1 (0 TO 3) AS DWORD
  
' // Specifics for OLEUICHANGESOURCE.
  
lpOleUILinkContainer AS DWORD PTR
  
dwLink AS DWORD
  
lpszDisplayName AS DWORD
  
nFileLength AS DWORD
  
lpszFrom AS DWORD
  
lpszTo AS DWORD
END TYPE

 

 

OLEUICONVERT

 

The OLEUICONVERT structure contains information that the OLE User Interface Library uses to initialize the Convert dialog box, and space for the library to return information when the dialog box is dismissed.

 

 

TYPE OLEUICONVERT
  
' // These IN fields are standard across all OLEUI dialog box functions.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
hWndOwner AS DWORD
  
lpszCaption AS ASCIIZ PTR
  
lpfnHook AS DWORD
  
lCustData AS DWORD
  
hInstance AS DWORD
  
lpszTemplate AS ASCIIZ PTR
  
hResource AS DWORD

   ' // Specifics for OLEUICONVERT.
  
rclsid AS GUID
  
rclsidConvertDefault AS GUID
  
rclsidActivateDefault AS GUID
  
rclsidNew AS GUID
  
dvAspect AS DWORD
  
wFormat AS DWORD
  
fIsLinkedObject AS LONG
  
hMetaPict AS DWORD
  
lpszUserType AS ASCIIZ PTR
  
fObjectsIconChanged AS LONG
  
lpszDefLabel AS ASCIIZ PTR
  
cClsidExclude AS DWORD
  
lpClsidExclude AS GUID PTR
END TYPE

 

TYPE OLEUICONVERTW
  
' // These IN fields are standard across all OLEUI dialog box functions.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
hWndOwner AS DWORD
  
lpszCaption AS DWORD
  
lpfnHook AS DWORD
  
lCustData AS DWORD
  
hInstance AS DWORD
  
lpszTemplate AS DWORD
  
hResource AS DWORD

   ' // Specifics for OLEUICONVERT.
  
rclsid AS GUID
  
rclsidConvertDefault AS GUID
  
rclsidActivateDefault AS GUID
  
rclsidNew AS GUID
  
dvAspect AS DWORD
  
wFormat AS DWORD
  
fIsLinkedObject AS LONG
  
hMetaPict AS DWORD
  
lpszUserType AS DWORD
  
fObjectsIconChanged AS LONG
  
lpszDefLabel AS DWORD
  
cClsidExclude AS DWORD
  
lpClsidExclude AS GUID PTR
END TYPE

 

 

OLEUIEDITLINKS

 

The OLEUIEDITLINKS structure contains information that the OLE User Interface Library uses to initialize the Edit Links dialog box, and contains space for the library to return information when the dialog box is dismissed.

 

 

TYPE OLEUIEDITLINKS
  
' // These IN fields are standard across all OLEUI dialog box functions.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
hWndOwner AS DWORD
  
lpszCaption AS ASCIIZ PTR
  
lpfnHook AS DWORD
  
lCustData AS DWORD
  
hInstance AS DWORD
  
lpszTemplate AS ASCIIZ PTR
  
hResource AS DWORD

   ' // Specifics for OLEUIEDITLINKS.
  
lpOleUILinkContainer AS DWORD PTR
END TYPE

 

TYPE OLEUIEDITLINKSW
  
' // These IN fields are standard across all OLEUI dialog box functions.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
hWndOwner AS DWORD
  
lpszCaption AS DWORD
  
lpfnHook AS DWORD
  
lCustData AS DWORD
  
hInstance AS DWORD
  
lpszTemplate AS DWORD
  
hResource AS DWORD

   ' // Specifics for OLEUIEDITLINKS.
  
lpOleUILinkContainer AS DWORD PTR
END TYPE

 

 

 

OLEUIGNRLPROPS

 

This structure is used to initialize the General tab of the Object Properties dialog box. A reference to it is passed in as part of the OLEUIOBJECTPROPS structure to the OleUIObjectProperties function. This tab shows the type and size of an OLE embedding and allows it the user to tunnel to the Convert dialog box. This tab also shows the link destination if the object is a link.

 

 

TYPE OLEUIGNRLPROPS
  
' // These IN fields are standard across all OLEUI property pages.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
dwReserved1 (0 TO 1) AS DWORD
  
lpfnHook AS DWORD PTR
  
lCustData AS LONG
  
dwReserved2 (0 TO 2) AS DWORD
  
lpOP AS OLEUIOBJECTPROPS PTR
END TYPE
 

 

OLEUIINSERTOBJECT

 

The OLEUIINSERTOBJECT structure contains information that the OLE User Interface Library uses to initialize the Insert Object dialog box, and space for the library to return information when the dialog box is dismissed.

 

 

TYPE OLEUIINSERTOBJECT
  
' // These IN fields are standard across all OLEUI dialog box functions.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
hWndOwner AS DWORD
  
lpszCaption AS ASCIIZ PTR
  
lpfnHook AS DWORD
  
lCustData AS LONG
  
hInstance AS DWORD
  
lpszTemplate AS ASCIIZ PTR
  
hResource AS DWORD
   '
// Specifics for OLEUIINSERTOBJECT.
  
rclsid AS GUID
  
lpszFile AS ASCIIZ PTR
  
chFile AS DWORD
  
cClsidExclude AS DWORD
  
lpClsidExclude AS GUID PTR
  
iid AS GUID
  
' // Specific to create objects if flags say so
  
oleRender AS DWORD
  
lpFormatEtc AS FORMATETC PTR
  
lpIOleClientSite AS DWORD PTR
  
lpIStorage AS DWORD PTR
  
ppvObj AS DWORD PTR
  
sc AS LONG
  
hMetaPict AS DWORD
END TYPE
 

TYPE OLEUIINSERTOBJECTW
  
' // These IN fields are standard across all OLEUI dialog box functions.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
hWndOwner AS DWORD
  
lpszCaption AS DWORD
  
lpfnHook AS DWORD
  
lCustData AS LONG
  
hInstance AS DWORD
  
lpszTemplate AS DWORD
  
hResource AS DWORD
   '
// Specifics for OLEUIINSERTOBJECT.
  
rclsid AS GUID
  
lpszFile AS DWORD
  
chFile AS DWORD
  
cClsidExclude AS DWORD
  
lpClsidExclude AS GUID PTR
  
iid AS GUID
  
' // Specific to create objects if flags say so
  
oleRender AS DWORD
  
lpFormatEtc AS FORMATETC PTR
  
lpIOleClientSite AS DWORD PTR
  
lpIStorage AS DWORD PTR
  
ppvObj AS DWORD PTR
  
sc AS LONG
  
hMetaPict AS DWORD
END TYPE
 

 

OLEUILINKPROPS

 

This structure is used to initialize the Link tab of the Object Properties dialog box. A reference to it is passed in as part of the OLEUIOBJECTPROPS structure to the OleUIObjectProperties function. This tab shows the location, update status, and update time for a link. It allows the user to change the source of the link, toggle its update status between automatic and manual update, open the source, force an update of the link, or break the link (convert it to a static picture).

 

 

TYPE OLEUILINKPROPS
  
' // These IN fields are standard across all OLEUI property pages.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
dwReserved1 (0 TO 1) AS DWORD
  
lpfnHook AS DWORD PTR
  
lCustData AS LONG
  
dwReserved2 (0 TO 2) AS DWORD
  
lpOP AS DWORD   ' OLEUIOBJECTPROPS PTR
END TYPE
 

 

OLEUIOBJECTPROPS

 

This structure is used to initialize the standard Object Properties dialog box. It contains references to interfaces used to gather information about the embedding or link, references to three structures that are used to initialize the default tabs — General (OLEUIGNRLPROPS), View (OLEUIVIEWPROPS), and Link (OLEUILINKPROPS), if appropriate — and a standard property-sheet extensibility interface that allows the caller to add additional custom property sheets to the dialog box.

 

 

TYPE OLEUIOBJECTPROPS
  
' // These IN fields are standard across all OLEUI property sheets.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
' // Standard PROPSHEETHEADER used for extensibility
  
lpPS AS PROPSHEETHEADER PTR
  
' // Data which allows manipulation of the object
  
dwObject AS DWORD
  
lpObjInfo AS DWORD PTR
  
' // Data which allows manipulation of the link
  
dwLink AS DWORD
  
lpLinkInfo AS DWORD PTR
  
' // Data specific to each page
  
lpGP AS OLEUIGNRLPROPS PTR
  
lpVP AS OLEUIVIEWPROPS PTR
  
lpLP AS OLEUILINKPROPS PTR
END TYPE
 

 

OLEUIPASTEENTRY

 

An array of OLEUIPASTEENTRY structures is used in OLEUIPASTESPECIAL. Each entry includes a FORMATETC which specifies the formats that are acceptable, a string that is to represent the format in the dialog box's listbox, a string to customize the result text of the dialog box, and a set of flags from the OLEUIPASTEFLAG enumeration.

 

 

TYPE OLEUIPASTEENTRY
  
fmtetc AS FORMATETC
  
lpstrFormatName AS ASCIIZ PTR
  
lpstrResultText AS ASCIIZ PTR
  
dwFlags AS DWORD
  
dwScratchSpace AS DWORD
END TYPE

 

TYPE OLEUIPASTEENTRYW
  
fmtetc AS FORMATETC
  
lpstrFormatName AS DWORD
  
lpstrResultText AS DWORD
  
dwFlags AS DWORD
  
dwScratchSpace AS DWORD
END TYPE
 

 

OLEUIPASTESPECIAL

 

The OLEUIPASTESPECIAL structure contains information that the OLE User Interface Library uses to initialize the Paste Special dialog box, as well as space for the library to return information when the dialog box is dismissed.

 

 

TYPE OLEUIPASTESPECIAL
  
' // These IN fields are standard across all OLEUI dialog box functions.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
hWndOwner AS DWORD
  
lpszCaption AS ASCIIZ PTR
  
lpfnHook AS DWORD
  
lCustData AS DWORD
  
hInstance AS DWORD
  
lpszTemplate AS ASCIIZ PTR
  
hResource AS DWORD
  
' // Specifics for OLEUIPASTESPECIAL.
  
lpSrcDataObj AS DWORD PTR
  
arrPasteEntries AS OLEUIPASTEENTRY PTR
  
cPasteEntries AS LONG
  
arrLinkTypes AS DWORD PTR
  
cLinkTypes AS LONG
  
cClsidExclude AS DWORD
  
lpClsidExclude AS GUID PTR
  
nSelectedIndex AS LONG
  
fLink AS LONG
  
hMetaPict AS DWORD
  
tsizel AS SIZEL
END TYPE
 

TYPE OLEUIPASTESPECIALW
  
' // These IN fields are standard across all OLEUI dialog box functions.
  
cbStruct AS DWORD
  
dwFlags AS DWORD
  
hWndOwner AS DWORD
  
lpszCaption AS DWORD
  
lpfnHook AS DWORD
  
lCustData AS DWORD
  
hInstance AS DWORD
  
lpszTemplate AS DWORD
  
hResource AS DWORD
  
' // Specifics for OLEUIPASTESPECIAL.
  
lpSrcDataObj AS DWORD PTR
  
arrPasteEntries AS OLEUIPASTEENTRY PTR
  
cPasteEntries AS LONG
  
arrLinkTypes AS DWORD PTR
  
cLinkTypes AS LONG
  
cClsidExclude AS DWORD
  
lpClsidExclude AS GUID PTR
  
nSelectedIndex AS LONG
  
fLink AS LONG
  
hMetaPict AS DWORD
  
tsizel AS SIZEL
END TYPE

 

 

OLEVERB

 

The OLEVERB structure defines a verb that an object supports. The IOleObject::EnumVerbs method creates an enumerator that can enumerate these structures for an object, and supplies a pointer to the enumerator's IEnumOLEVERB.
 

 

TYPE OLEVERB
  
lVerb AS LONG
  
lpszVerbName AS DWORD
  
fuFlags AS DWORD
  
grfAttribs AS DWORD
END TYPE
 

 

POINTF

 

The POINTF structure is used in the IOleControlSite::TransformCoords method to convert between container units, expressed in floating point, and control units, expressed in HIMETRIC. The POINTF structure specifically holds the floating point container units. Controls do not attempt to interpret either value in the structure.
 

 

TYPE POINTF
  
x AS SINGLE
  
y AS SINGLE
END TYPE
 

 

STATDATA

 

The STATDATA structure is the data structure used to specify each advisory connection. It is used for enumerating current advisory connections. It holds data returned by the IEnumSTATDATA enumerator. This enumerator interface is returned by IDataObject:DAdvise. Each advisory connection is specified by a unique STATDATA structure.
 

 

TYPE STATDATA
  
tFormatetc AS FORMATETC
  
grfAdvf AS DWORD
  
pIAdvSink AS DWORD
  
dwConnection AS DWORD
END TYPE
 

 

STGMEDIUM

 

The STGMEDIUM structure is a generalized global memory handle used for data transfer operations by the IAdviseSink, IDataObject, and IOleCache interfaces.
 

 

UNION STGMEDIUMDATA
  
hBitmap AS DWORD
  
hMetaFilePict AS DWORD
  
hEnhMetaFile AS DWORD
  
hGlobal AS DWORD
  
lpszFileName AS DWORD
  
pstm AS DWORD
  
pstg AS DWORD
END UNION

TYPE
STGMEDIUM
  
tymed AS DWORD
  
STGMEDIUMDATA
  
pUnkForRelease AS DWORD
END TYPE
 

 

Page last updated on Monday, 11 December 2006 00:38:53 +0100