⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ocidl.idl

📁 本源码是vc环境下的usb程序
💻 IDL
📖 第 1 页 / 共 3 页
字号:
//+---------------------------------------------------------------------------
//
//  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 + -