📄 ocidl.idl
字号:
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// File: ocidl.idl
//
//----------------------------------------------------------------------------
cpp_quote("//+-------------------------------------------------------------------------")
cpp_quote("//")
cpp_quote("// Microsoft Windows")
cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.")
cpp_quote("//")
cpp_quote("//--------------------------------------------------------------------------")
cpp_quote("#if ( _MSC_VER >= 1020 )")
cpp_quote("#pragma once")
cpp_quote("#endif")
#ifndef DO_NO_IMPORTS
import "oleidl.idl";
import "oaidl.idl";
import "servprov.idl";
import "urlmon.idl";
#endif
interface IEnumConnections;
interface IEnumConnectionPoints;
interface IConnectionPoint;
interface IConnectionPointContainer;
interface IClassFactory2;
interface IProvideClassInfo;
interface IProvideClassInfo2;
interface IProvideMultipleClassInfo;
interface IOleControl;
interface IOleControlSite;
interface IPropertyPage;
interface IPropertyPage2;
interface IPropertyPageSite;
interface IPropertyNotifySink;
interface ISpecifyPropertyPages;
interface IPersistMemory;
interface IPersistStreamInit;
interface IPersistPropertyBag;
interface ISimpleFrameSite;
interface IFont;
interface IPicture;
interface IFontEventsDisp;
interface IFontDisp;
interface IPictureDisp;
interface IAdviseSinkEx;
interface IOleInPlaceObjectWindowless;
interface IOleInPlaceSiteEx;
interface IOleInPlaceSiteWindowless;
interface IViewObjectEx;
interface IOleUndoUnit;
interface IOleParentUndoUnit;
interface IEnumOleUndoUnits;
interface IOleUndoManager;
interface IPointerInactive;
interface IObjectWithSite;
interface IErrorLog;
interface IPropertyBag;
interface IPerPropertyBrowsing;
interface IPropertyBag2;
interface IPersistPropertyBag2;
interface IQuickActivate;
#if !defined(_DCOM_OA_REMOTING_) && !defined(_DCOM_OC_REMOTING_)
[
version(1.0), pointer_default(unique)
]
interface IOleControlTypes
{
typedef [v1_enum] enum tagUASFLAGS {
UAS_NORMAL = 0x00,
UAS_BLOCKED = 0x01,
UAS_NOPARENTENABLE = 0x02,
UAS_MASK = 0x03
} UASFLAGS;
cpp_quote("/* State values for the DISPID_READYSTATE property */")
typedef [v1_enum] enum tagREADYSTATE {
READYSTATE_UNINITIALIZED= 0, // Never used except as default init state
READYSTATE_LOADING = 1, // Control is loading its properties
READYSTATE_LOADED = 2, // Has been init'ed via IPersist*::Load
READYSTATE_INTERACTIVE = 3, // Interactive but not all data available
READYSTATE_COMPLETE = 4 // Control has all its data
} READYSTATE;
#if _MIDL_USER_MARSHAL_DISABLED
#define HWND UserHWND
#define HACCEL UserHACCEL
#define HDC UserHDC
#define HFONT UserHFONT
#define MSG UserMSG
#define BSTR UserBSTR
#define VARIANT UserVARIANT
#define EXCEPINFO UserEXCEPINFO
typedef struct tagUserHWND {
wireHWND pRemHwnd;
} UserHWND;
typedef struct tagUserHWND UserHACCEL;
typedef struct tagUserHWND UserHDC;
typedef struct tagUserHWND UserHFONT;
typedef struct tagUserMSG {
wireHWND pRemHwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
} UserMSG;
typedef struct tagUserBSTR {
wireBSTR pBstrBlob;
} UserBSTR;
typedef struct tagVARIANT_BLOB {
DWORD clSize;
DWORD rpcReserved;
[size_is(clSize-1)] ULONGLONG ahData[];
} * wireVARIANT_BLOB;
typedef struct tagUserVARIANT {
wireVARIANT_BLOB pVarBlob;
} UserVARIANT;
typedef struct tagUserEXCEPINFO {
WORD wCode;
WORD wReserved;
wireBSTR bstrSource;
wireBSTR bstrDescription;
wireBSTR bstrHelpFile;
DWORD dwHelpContext;
ULONG_PTR pvReserved;
ULONG_PTR pfnDeferredFillIn;
SCODE scode;
} UserEXCEPINFO;
#endif // _MIDL_USER_MARSHAL_DISABLED
}
[
object,
uuid(B196B287-BAB4-101A-B69C-00AA00341D07),
pointer_default(unique)
]
interface IEnumConnections : IUnknown
{
typedef IEnumConnections * PENUMCONNECTIONS;
typedef IEnumConnections * LPENUMCONNECTIONS;
typedef struct tagCONNECTDATA {
IUnknown * pUnk;
DWORD dwCookie;
} CONNECTDATA;
typedef struct tagCONNECTDATA * PCONNECTDATA;
typedef struct tagCONNECTDATA * LPCONNECTDATA;
[local]
HRESULT Next(
[in] ULONG cConnections,
[out, size_is(cConnections), length_is(*pcFetched)]
LPCONNECTDATA rgcd,
[out] ULONG * pcFetched
);
[call_as(Next)]
HRESULT RemoteNext(
[in] ULONG cConnections,
[out, size_is(cConnections), length_is(*pcFetched)]
LPCONNECTDATA rgcd,
[out] ULONG * pcFetched
);
HRESULT Skip(
[in] ULONG cConnections
);
HRESULT Reset(
void
);
HRESULT Clone(
[out] IEnumConnections ** ppEnum
);
}
[
object,
uuid(B196B286-BAB4-101A-B69C-00AA00341D07),
pointer_default(unique)
]
interface IConnectionPoint : IUnknown
{
typedef IConnectionPoint * PCONNECTIONPOINT;
typedef IConnectionPoint * LPCONNECTIONPOINT;
HRESULT GetConnectionInterface(
[out] IID * pIID
);
HRESULT GetConnectionPointContainer(
[out] IConnectionPointContainer ** ppCPC
);
HRESULT Advise(
[in] IUnknown * pUnkSink,
[out] DWORD * pdwCookie
);
HRESULT Unadvise(
[in] DWORD dwCookie
);
HRESULT EnumConnections(
[out] IEnumConnections ** ppEnum
);
}
[
object,
uuid(B196B285-BAB4-101A-B69C-00AA00341D07),
pointer_default(unique)
]
interface IEnumConnectionPoints : IUnknown
{
typedef IEnumConnectionPoints * PENUMCONNECTIONPOINTS;
typedef IEnumConnectionPoints * LPENUMCONNECTIONPOINTS;
[local]
HRESULT Next(
[in] ULONG cConnections,
[out, size_is(cConnections), length_is(*pcFetched)]
LPCONNECTIONPOINT * ppCP,
[out] ULONG * pcFetched
);
[call_as(Next)]
HRESULT RemoteNext(
[in] ULONG cConnections,
[out, size_is(cConnections), length_is(*pcFetched)]
LPCONNECTIONPOINT * ppCP,
[out] ULONG * pcFetched
);
HRESULT Skip(
[in] ULONG cConnections
);
HRESULT Reset(
void
);
HRESULT Clone(
[out] IEnumConnectionPoints ** ppEnum
);
}
[
object,
uuid(B196B284-BAB4-101A-B69C-00AA00341D07),
pointer_default(unique)
]
interface IConnectionPointContainer : IUnknown
{
typedef IConnectionPointContainer * PCONNECTIONPOINTCONTAINER;
typedef IConnectionPointContainer * LPCONNECTIONPOINTCONTAINER;
HRESULT EnumConnectionPoints
(
[out] IEnumConnectionPoints ** ppEnum
);
HRESULT FindConnectionPoint
(
[in] REFIID riid,
[out] IConnectionPoint ** ppCP
);
}
[
object,
uuid(B196B28F-BAB4-101A-B69C-00AA00341D07),
pointer_default(unique)
]
interface IClassFactory2 : IClassFactory
{
typedef IClassFactory2 * LPCLASSFACTORY2;
typedef struct tagLICINFO {
LONG cbLicInfo;
BOOL fRuntimeKeyAvail;
BOOL fLicVerified;
} LICINFO;
typedef struct tagLICINFO * LPLICINFO;
HRESULT GetLicInfo(
[out] LICINFO * pLicInfo
);
HRESULT RequestLicKey(
[in] DWORD dwReserved,
[out] BSTR * pBstrKey
);
[local]
HRESULT CreateInstanceLic(
[in] IUnknown * pUnkOuter,
[in] IUnknown * pUnkReserved,
[in] REFIID riid,
[in] BSTR bstrKey,
[out, iid_is(riid)] PVOID * ppvObj
);
[call_as(CreateInstanceLic)]
HRESULT RemoteCreateInstanceLic(
[in] REFIID riid,
[in] BSTR bstrKey,
[out, iid_is(riid)] IUnknown ** ppvObj
);
}
[
object,
uuid(B196B283-BAB4-101A-B69C-00AA00341D07),
pointer_default(unique)
]
interface IProvideClassInfo : IUnknown
{
typedef IProvideClassInfo * LPPROVIDECLASSINFO;
HRESULT GetClassInfo(
[out] ITypeInfo ** ppTI
);
}
[
object,
uuid(A6BC3AC0-DBAA-11CE-9DE3-00AA004BB851),
pointer_default(unique)
]
interface IProvideClassInfo2 : IProvideClassInfo
{
typedef IProvideClassInfo2 * LPPROVIDECLASSINFO2;
typedef enum tagGUIDKIND {
GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1
} GUIDKIND;
HRESULT GetGUID(
[in] DWORD dwGuidKind,
[out] GUID * pGUID
);
}
[
object,
uuid(A7ABA9C1-8983-11cf-8F20-00805F2CD064),
pointer_default(unique)
]
interface IProvideMultipleClassInfo : IProvideClassInfo2
{
cpp_quote("#define MULTICLASSINFO_GETTYPEINFO 0x00000001")
cpp_quote("#define MULTICLASSINFO_GETNUMRESERVEDDISPIDS 0x00000002")
cpp_quote("#define MULTICLASSINFO_GETIIDPRIMARY 0x00000004")
cpp_quote("#define MULTICLASSINFO_GETIIDSOURCE 0x00000008")
cpp_quote("#define TIFLAGS_EXTENDDISPATCHONLY 0x00000001")
typedef IProvideMultipleClassInfo * LPPROVIDEMULTIPLECLASSINFO;
HRESULT GetMultiTypeInfoCount(
[out] ULONG * pcti
);
HRESULT GetInfoOfIndex(
[in] ULONG iti,
[in] DWORD dwFlags,
[out] ITypeInfo ** pptiCoClass,
[out] DWORD * pdwTIFlags,
[out] ULONG * pcdispidReserved,
[out] IID * piidPrimary,
[out] IID * piidSource
);
}
[
object,
uuid(B196B288-BAB4-101A-B69C-00AA00341D07),
pointer_default(unique)
]
interface IOleControl : IUnknown
{
typedef IOleControl * LPOLECONTROL;
typedef struct tagCONTROLINFO {
ULONG cb;
HACCEL hAccel;
USHORT cAccel;
DWORD dwFlags;
} CONTROLINFO;
typedef struct tagCONTROLINFO * LPCONTROLINFO;
typedef enum tagCTRLINFO {
CTRLINFO_EATS_RETURN = 1,
CTRLINFO_EATS_ESCAPE = 2
} CTRLINFO;
HRESULT GetControlInfo(
[out] CONTROLINFO * pCI
);
HRESULT OnMnemonic(
[in] MSG * pMsg
);
HRESULT OnAmbientPropertyChange(
[in] DISPID dispID
);
HRESULT FreezeEvents(
[in] BOOL bFreeze
);
}
[
object,
uuid(B196B289-BAB4-101A-B69C-00AA00341D07),
pointer_default(unique)
]
interface IOleControlSite : IUnknown
{
typedef IOleControlSite * LPOLECONTROLSITE;
typedef struct tagPOINTF {
FLOAT x;
FLOAT y;
} POINTF;
typedef struct tagPOINTF * LPPOINTF;
typedef enum tagXFORMCOORDS {
XFORMCOORDS_POSITION = 0x1,
XFORMCOORDS_SIZE = 0x2,
XFORMCOORDS_HIMETRICTOCONTAINER = 0x4,
XFORMCOORDS_CONTAINERTOHIMETRIC = 0x8,
XFORMCOORDS_EVENTCOMPAT = 0x10
} XFORMCOORDS;
HRESULT OnControlInfoChanged(
void
);
HRESULT LockInPlaceActive(
[in] BOOL fLock
);
HRESULT GetExtendedControl(
[out] IDispatch ** ppDisp
);
HRESULT TransformCoords(
[in, out] POINTL * pPtlHimetric,
[in, out] POINTF * pPtfContainer,
[in] DWORD dwFlags
);
HRESULT TranslateAccelerator(
[in] MSG * pMsg,
[in] DWORD grfModifiers
);
HRESULT OnFocus(
[in] BOOL fGotFocus
);
HRESULT ShowPropertyFrame(
void
);
}
[
object,
uuid(B196B28D-BAB4-101A-B69C-00AA00341D07),
pointer_default(unique)
]
interface IPropertyPage : IUnknown
{
typedef IPropertyPage * LPPROPERTYPAGE;
typedef struct tagPROPPAGEINFO {
ULONG cb;
LPOLESTR pszTitle;
SIZE size;
LPOLESTR pszDocString;
LPOLESTR pszHelpFile;
DWORD dwHelpContext;
} PROPPAGEINFO;
typedef struct tagPROPPAGEINFO * LPPROPPAGEINFO;
HRESULT SetPageSite(
[in] IPropertyPageSite * pPageSite
);
HRESULT Activate(
[in] HWND hWndParent,
[in] LPCRECT pRect,
[in] BOOL bModal
);
HRESULT Deactivate(
void
);
HRESULT GetPageInfo(
[out] PROPPAGEINFO * pPageInfo
);
HRESULT SetObjects(
[in] ULONG cObjects,
[in, size_is(cObjects)] IUnknown ** ppUnk
);
HRESULT Show(
[in] UINT nCmdShow
);
HRESULT Move(
[in] LPCRECT pRect
);
HRESULT IsPageDirty(
void
);
HRESULT Apply(
void
);
HRESULT Help(
[in] LPCOLESTR pszHelpDir
);
HRESULT TranslateAccelerator(
[in] MSG * pMsg
);
}
[
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -