'oleidl.ab

#require <objidl.sbp>

Dim IID_IOleAdviseHolder = [&h00000111, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID
Interface IOleAdviseHolder
	Inherits IUnknown

	Function Advise(
		/* [unique][in] */ Advise As IAdviseSink,
		/* [out] */ ByRef dwConnection As DWord) As HRESULT
	Function Unadvise(
		/* [in] */ dwConnection As DWord) As HRESULT
	Function EnumAdvise(
		/* [out] */ ByRef enumAdvise As IEnumSTATDATA) As HRESULT
	Function SendOnRename(
		/* [unique][in] */ pmk As IMoniker) As HRESULT
	Function SendOnSave() As HRESULT
	Function SendOnClose() As HRESULT
End Interface

'IOleCache
'IOleCache2
'IOleCacheControl

/* interface IParseDisplayName */
/* [unique][uuid][object] */

Dim IID_IParseDisplayName = [&h0000011a, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID

Interface IParseDisplayName
	Inherits IUnknown

	Function ParseDisplayName(
		/* [unique][in] */ bc As IBindCtx,
		/* [in] */ pszDisplayName As LPOLESTR,
		/* [out] */ ByRef chEaten As DWord,
		/* [out] */ ByRef mkOut As IMoniker) As HRESULT
End Interface

/* interface IOleContainer */
/* [unique][uuid][object] */

Dim IID_IOleContainer = [&h0000011b, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID
Interface IOleContainer
	Inherits IParseDisplayName

	Function EnumObjects(
		/* [in] */ grfFlags As DWord,
		/* [out] */ ByRef enumUnk As IEnumUnknown) As HRESULT
	Function LockContainer(
		/* [in] */ fLock As BOOL) As HRESULT
End Interface

Const Enum OLERENDER
	OLERENDER_NONE = 0
	OLERENDER_DRAW = 1
	OLERENDER_FORMAT = 2
	OLERENDER_ASIS = 3
End Enum

Dim IID_IOleClientSite = [&h00000118, &h0000, &h0000, [&hC0, &h00, &h00, &h00, &h00, &h00, &h00, &h46]] As IID
Interface IOleClientSite
	Inherits IUnknown

	Function SaveObject() As HRESULT
	Function GetMoniker(
		/* [in] */ dwAssign As DWord,
		/* [in] */ dwWhichMoniker As DWord,
		/* [out] */ ByRef mk As IMoniker) As HRESULT
	Function GetContainer(
		/* [out] */ ByRef Container As IOleContainer) As HRESULT
	Function ShowObject() As HRESULT
	Function OnShowWindow(
		fShow As BOOL) As HRESULT
	Function RequestNewObjectLayout() As HRESULT
End Interface

/* interface IOleObject */
/* [unique][uuid][object] */

Const Enum  OLEGETMONIKER
	OLEGETMONIKER_ONLYIFTHERE = 1
	OLEGETMONIKER_FORCEASSIGN = 2
	OLEGETMONIKER_UNASSIGN = 3
	OLEGETMONIKER_TEMPFORUSER = 4
End Enum

Const Enum  OLEWHICHMK
	OLEWHICHMK_CONTAINER = 1
	OLEWHICHMK_OBJREL = 2
	OLEWHICHMK_OBJFULL = 3
End Enum

Const Enum  USERCLASSTYPE
	USERCLASSTYPE_FULL = 1
	USERCLASSTYPE_SHORT = 2
	USERCLASSTYPE_APPNAME = 3
End Enum

Const Enum  OLEMISC
	OLEMISC_RECOMPOSEONRESIZE = &h1
	OLEMISC_ONLYICONIC = &h2
	OLEMISC_INSERTNOTREPLACE = &h4
	OLEMISC_STATIC = &h8
	OLEMISC_CANTLINKINSIDE = &h10
	OLEMISC_CANLINKBYOLE1 = &h20
	OLEMISC_ISLINKOBJECT = &h40
	OLEMISC_INSIDEOUT = &h80
	OLEMISC_ACTIVATEWHENVISIBLE = &h100
	OLEMISC_RENDERINGISDEVICEINDEPENDENT = &h200
	OLEMISC_INVISIBLEATRUNTIME = &h400
	OLEMISC_ALWAYSRUN = &h800
	OLEMISC_ACTSLIKEBUTTON = &h1000
	OLEMISC_ACTSLIKELABEL = &h2000
	OLEMISC_NOUIACTIVATE = &h4000
	OLEMISC_ALIGNABLE = &h8000
	OLEMISC_SIMPLEFRAME = &h10000
	OLEMISC_SETCLIENTSITEFIRST = &h20000
	OLEMISC_IMEMODE = &h40000
	OLEMISC_IGNOREACTIVATEWHENVISIBLE = &h80000
	OLEMISC_WANTSTOMENUMERGE = &h100000
	OLEMISC_SUPPORTSMULTILEVELUNDO = &h200000
End Enum

Const Enum OLECLOSE
	OLECLOSE_SAVEIFDIRTY = 0
	OLECLOSE_NOSAVE = 1
	OLECLOSE_PROMPTSAVE = 2
End Enum

Dim IID_IOleObject = [&h00000112, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID
Interface IOleObject
	Inherits IUnknown

	Function SetClientSite(
		/* [unique][in] */ ClientSite As IOleClientSite) As HRESULT
	Function GetClientSite(
		/* [out] */ ByRef ClientSite As IOleClientSite) As HRESULT
	Function SetHostNames(
		/* [in] */ szContainerApp As LPCOLESTR,
		/* [unique][in] */ szContainerObj As LPCOLESTR) As HRESULT
	Function Close(
		/* [in] */ dwSaveOption As DWord) As HRESULT
	Function SetMoniker(
		/* [in] */ dwWhichMoniker As DWord,
		/* [unique][in] */ mk As IMoniker) As HRESULT
	Function GetMoniker(
		/* [in] */ dwAssign As DWord,
		/* [in] */ dwWhichMoniker As DWord,
		/* [out] */ ByRef mk As IMoniker) As HRESULT
	Function InitFromData(
		/* [unique][in] */ DataObject As IDataObject,
		/* [in] */ fCreation As BOOL,
		/* [in] */ dwReserved As DWord) As HRESULT
	Function GetClipboardData(
		/* [in] */ dwReserved As DWord,
		/* [out] */ ByRef DataObject As IDataObject) As HRESULT
	Function DoVerb(
		/* [in] */ iVerb As Long,
		/* [unique][in] */ lpmsg As *MSG,
		/* [unique][in] */ ActiveSite As IOleClientSite,
		/* [in] */ lindex As Long,
		/* [in] */ hwndParent As HWND,
		/* [unique][in] */ lprcPosRect As *RECT /*LPCRECT*/) As HRESULT
	Function EnumVerbs(
		/* [out] */ ByRef EnumOleVerb As IUnknown /*IEnumOLEVERB*/) As HRESULT
	Function Update() As HRESULT
	Function IsUpToDate() As HRESULT
	Function GetUserClassID(
		/* [out] */ ByRef Clsid As CLSID) As HRESULT
	Function GetUserType(
		/* [in] */ dwFormOfType As DWord,
		/* [out] */ ByRef pszUserType As LPOLESTR) As HRESULT
	Function SetExtent(
		/* [in] */ dwDrawAspect As DWord,
		/* [in] */ ByRef sizel As SIZEL) As HRESULT
	Function GetExtent(
		/* [in] */ dwDrawAspect As DWord,
		/* [out] */ ByRef sizel As SIZEL) As HRESULT
	Function Advise(
		/* [unique][in] */ AdvSink As IAdviseSink,
		/* [out] */ ByRef dwConnection As DWord) As HRESULT
	Function Unadvise(
		/* [in] */ dwConnection As DWord) As HRESULT
	Function EnumAdvise(
		/* [out] */ ByRef penumAdvise As IEnumSTATDATA) As HRESULT
	Function GetMiscStatus(
		/* [in] */ dwAspect As DWord,
		/* [out] */ ByRef dwStatus As DWord) As HRESULT
	Function SetColorScheme(
		/* [in] */ ByRef Logpal As LOGPALETTE) As HRESULT
End Interface

/* interface IOleWindow */
/* [unique][uuid][object] */

Dim IID_IOleWindow = [&h00000114, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID
Interface IOleWindow
	Inherits IUnknown

	/* [input_sync] */ Function GetWindow(
		/* [out] */ ByRef hwnd As HWND) As HRESULT
	Function ContextSensitiveHelp(
		/* [in] */ fEnterMode As BOOL) As HRESULT
End Interface

'IOleLink
'IOleItemContainer
'IOleInPlaceUIWindow
'IOleInPlaceActiveObject
Interface IOleInPlaceActiveObject
	Inherits IOleWindow
End Interface

'IOleInPlaceFrame
Interface IOleInPlaceFrame
	Inherits IOleWindow
End Interface

'IOleInPlaceObject
'IOleInPlaceSite
'IContinue
'IViewObject
'IViewObject2

/* interface IDropSource */
/* [uuid][object][local] */

Dim IID_IDropSource = [&h00000121, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID

Interface IDropSource
	Inherits IUnknown

	Function QueryContinueDrag(
		fEscapePressed As DWord,
		grfKeyState As DWord) As HRESULT
	Function GiveFeedback(
		dwEffect As DWord) As HRESULT
End Interface

/* interface IDropTarget */
/* [unique][uuid][object] */

Const MK_ALT = &h20

Const DROPEFFECT_NONE = 0
Const DROPEFFECT_COPY = 1
Const DROPEFFECT_MOVE = 2
Const DROPEFFECT_LINK = 4
Const DROPEFFECT_SCROLL = &h80000000

Const DD_DEFSCROLLINSET = 11
Const DD_DEFSCROLLDELAY = 50
Const DD_DEFSCROLLINTERVAL = 50
Const DD_DEFDRAGDELAY = 200
Const DD_DEFDRAGMINDIST = 2

Dim IID_IDropTarget = [&h00000122, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID
Interface IDropTarget
	Inherits IUnknown

	Function DragEnter(
		/* [unique][in] */ DataObj As IDataObject,
		/* [in] */ grfKeyState As DWord,
		/* [in] */ x As Long, y As Long,
		/* [out][in] */ ByRef effect As DWord) As HRESULT
	Function DragOver(
		/* [in] */ grfKeyState As DWord,
		/* [in] */ x As Long, y As Long,
		/* [out][in] */ ByRef effect As DWord) As HRESULT
	Function DragLeave() As HRESULT
	Function Drop(
		/* [unique][in] */ DataObj As IDataObject,
		/* [in] */ grfKeyState As DWord,
		/* [in] */ x As Long, y As Long,
		/* [out][in] */ ByRef effect As DWord) As HRESULT
End Interface

/* interface IDropSourceNotify */
/* [unique][uuid][object][local] */

Dim IID_IDropSourceNotify = [&h0000012B, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID
Interface IDropSourceNotify
	Inherits IUnknown

	Function DragEnterTarget(
		/* [in] */ hwndTarget As HWND) As HRESULT
	Function DragLeaveTarget() As HRESULT
End Interface

/* interface IEnumOLEVERB */
/* [unique][uuid][object] */

Type OLEVERB
	lVerb As Long
	lpszVerbName As LPOLESTR
	fuFlags As DWord
	grfAttribs As DWord
End Type

/* [v1_enum] */ Const Enum OLEVERBATTRIB
	OLEVERBATTRIB_NEVERDIRTIES = 1
	OLEVERBATTRIB_ONCONTAINERMENU = 2
End Enum

Dim IID_IEnumOLEVERB = [&h00000104, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID
Interface IEnumOLEVERB
	Inherits IUnknown

	/* [local] */ Function Next_(
		/* [in] */ celt As DWord,
		/* [length_is][size_is][out] */ rgelt As *OLEVERB,
		/* [out] */ ByRef celtFetched As DWord) As HRESULT
	Function Skip(
		/* [in] */ celt As DWord) As HRESULT
	Function Reset() As HRESULT
	Function Clone(
		/* [out] */ ByRef enumOleVerb As IEnumOLEVERB) As HRESULT
End Interface
