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

📄 oleidl.idl

📁 本源码是vc环境下的usb程序
💻 IDL
📖 第 1 页 / 共 2 页
字号:
    );

    HRESULT BindToSource
    (
        [in] DWORD bindflags,
        [in, unique] IBindCtx *pbc
    );

    HRESULT BindIfRunning
    (
        void
    );

    HRESULT GetBoundSource
    (
        [out] IUnknown **ppunk
    );

    HRESULT UnbindSource
    (
        void
    );

    HRESULT Update
    (
        [in, unique] IBindCtx *pbc
    );

}

[
    object,
    uuid(0000011c-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IOleItemContainer : IOleContainer
{

    typedef [unique] IOleItemContainer *LPOLEITEMCONTAINER;

    typedef enum tagBINDSPEED
    {
        BINDSPEED_INDEFINITE    = 1,
        BINDSPEED_MODERATE      = 2,
        BINDSPEED_IMMEDIATE     = 3
    } BINDSPEED;

    typedef [v1_enum] enum tagOLECONTF
    {
        OLECONTF_EMBEDDINGS     = 1,
        OLECONTF_LINKS          = 2,
        OLECONTF_OTHERS         = 4,
        OLECONTF_ONLYUSER       = 8,
        OLECONTF_ONLYIFRUNNING  = 16
    } OLECONTF;

    HRESULT GetObject(
        [in] LPOLESTR pszItem,
        [in] DWORD dwSpeedNeeded,
        [in, unique] IBindCtx *pbc,
        [in] REFIID riid,
        [out, iid_is(riid)] void **ppvObject);

    HRESULT GetObjectStorage(
        [in] LPOLESTR pszItem,
        [in, unique] IBindCtx *pbc,
        [in] REFIID riid,
        [out, iid_is(riid)] void **ppvStorage);

    HRESULT IsRunning(
        [in] LPOLESTR pszItem);
}

[
    object,
    uuid(00000115-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IOleInPlaceUIWindow : IOleWindow
{

    typedef [unique] IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;

    typedef RECT BORDERWIDTHS;

    typedef LPRECT LPBORDERWIDTHS;

    typedef LPCRECT LPCBORDERWIDTHS;


    [input_sync]
    HRESULT GetBorder
    (
        [out] LPRECT lprectBorder
    );

    [input_sync]
    HRESULT RequestBorderSpace
    (
        [in, unique] LPCBORDERWIDTHS pborderwidths
    );

    [input_sync]
    HRESULT SetBorderSpace
    (
        [in, unique] LPCBORDERWIDTHS pborderwidths
    );

  HRESULT SetActiveObject
    (
        [in, unique] IOleInPlaceActiveObject *pActiveObject,
    [in, string, unique] LPCOLESTR pszObjName
    );

}

[
    object,
    uuid(00000117-0000-0000-C000-000000000046)
]

interface IOleInPlaceActiveObject : IOleWindow
{

    typedef [unique] IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;

    [local]
    HRESULT TranslateAccelerator
    (
        [in] LPMSG lpmsg
    );

    [call_as(TranslateAccelerator)]
    HRESULT RemoteTranslateAccelerator();

    [input_sync]
    HRESULT OnFrameWindowActivate
    (
        [in] BOOL fActivate
    );

    [input_sync]
    HRESULT OnDocWindowActivate
    (
        [in] BOOL fActivate
    );

    [local]
    HRESULT ResizeBorder
    (
        [in] LPCRECT prcBorder,
        [in, unique] IOleInPlaceUIWindow *pUIWindow,
        [in] BOOL fFrameWindow
    );

    [call_as(ResizeBorder), input_sync]
    HRESULT RemoteResizeBorder
    (
        [in] LPCRECT prcBorder,
        [in] REFIID riid,
        [in, unique, iid_is(riid)] IOleInPlaceUIWindow *pUIWindow,
        [in] BOOL fFrameWindow
    );

    HRESULT EnableModeless
    (
        [in] BOOL fEnable
    );

}

[
    object,
    uuid(00000116-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IOleInPlaceFrame : IOleInPlaceUIWindow
{

    typedef [unique] IOleInPlaceFrame *LPOLEINPLACEFRAME;


typedef struct tagOIFI          // OleInPlaceFrameInfo
{
    UINT    cb;
    BOOL    fMDIApp;
    HWND    hwndFrame;
    HACCEL  haccel;
    UINT    cAccelEntries;
} OLEINPLACEFRAMEINFO, * LPOLEINPLACEFRAMEINFO;


typedef struct tagOleMenuGroupWidths
{
    LONG    width[6];
} OLEMENUGROUPWIDTHS, * LPOLEMENUGROUPWIDTHS;

    typedef HGLOBAL HOLEMENU;

    HRESULT InsertMenus
    (
        [in] HMENU hmenuShared,
        [in,out] LPOLEMENUGROUPWIDTHS lpMenuWidths
    );

    [input_sync]
    HRESULT SetMenu
    (
        [in] HMENU hmenuShared,
        [in] HOLEMENU holemenu,
        [in] HWND hwndActiveObject
    );

    HRESULT RemoveMenus
    (
        [in] HMENU hmenuShared
    );

    [input_sync]
    HRESULT SetStatusText
    (
        [in, unique] LPCOLESTR pszStatusText
    );

    HRESULT EnableModeless
    (
        [in] BOOL fEnable
    );

    HRESULT TranslateAccelerator
    (
        [in] LPMSG lpmsg,
        [in] WORD wID
    );

}

[
    object,
    uuid(00000113-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IOleInPlaceObject : IOleWindow
{

    typedef [unique] IOleInPlaceObject *LPOLEINPLACEOBJECT;


    HRESULT InPlaceDeactivate
    (
        void
    );

    HRESULT UIDeactivate
    (
        void
    );

    [input_sync]
    HRESULT SetObjectRects
    (
        [in] LPCRECT lprcPosRect,
        [in] LPCRECT lprcClipRect
    );

    HRESULT ReactivateAndUndo
    (
        void
    );
}

[
    object,
    uuid(00000119-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IOleInPlaceSite : IOleWindow
{

    typedef [unique] IOleInPlaceSite *LPOLEINPLACESITE;

    HRESULT CanInPlaceActivate
    (
        void
    );

    HRESULT OnInPlaceActivate
    (
        void
    );

    HRESULT OnUIActivate
    (
        void
    );

    HRESULT GetWindowContext
    (
        [out] IOleInPlaceFrame **ppFrame,
        [out] IOleInPlaceUIWindow **ppDoc,
        [out] LPRECT lprcPosRect,
        [out] LPRECT lprcClipRect,
        [in, out] LPOLEINPLACEFRAMEINFO lpFrameInfo
    );

    HRESULT Scroll
    (
        [in] SIZE scrollExtant
    );

    HRESULT OnUIDeactivate
    (
        [in] BOOL fUndoable
    );

    HRESULT OnInPlaceDeactivate
    (
        void
    );

    HRESULT DiscardUndoState
    (
        void
    );

    HRESULT DeactivateAndUndo
    (
        void
    );

    HRESULT OnPosRectChange
    (
        [in] LPCRECT lprcPosRect
    );

}

[
    object,
    uuid(0000012a-0000-0000-C000-000000000046)
]

interface IContinue : IUnknown
{
    HRESULT FContinue();
}

[
    object,
    uuid(0000010d-0000-0000-C000-000000000046)
]

interface IViewObject : IUnknown
{

    typedef [unique] IViewObject *LPVIEWOBJECT;

    [local]
    HRESULT Draw
    (
        [in] DWORD dwDrawAspect,
        [in] LONG lindex,
        [in, unique] void * pvAspect,
        [in, unique] DVTARGETDEVICE *ptd,
        [in] HDC hdcTargetDev,
        [in] HDC hdcDraw,
        [in] LPCRECTL lprcBounds,
        [in, unique] LPCRECTL lprcWBounds,
        [in] BOOL (*pfnContinue)(ULONG_PTR dwContinue),
        [in] ULONG_PTR dwContinue
    );

    [call_as(Draw)]
    HRESULT RemoteDraw
    (
        [in] DWORD dwDrawAspect,
        [in] LONG lindex,
        [in] ULONG_PTR pvAspect,
        [in, unique] DVTARGETDEVICE *ptd,
        [in] ULONG_PTR hdcTargetDev,
        [in] ULONG_PTR hdcDraw,
        [in] LPCRECTL lprcBounds,
        [in, unique] LPCRECTL lprcWBounds,
        [in] IContinue *pContinue
    );

    [local]
    HRESULT GetColorSet
    (
        [in] DWORD dwDrawAspect,
        [in] LONG lindex,
        [in, unique] void *pvAspect,
        [in, unique] DVTARGETDEVICE *ptd,
        [in] HDC hicTargetDev,
        [out] LOGPALETTE **ppColorSet
    );

    [call_as(GetColorSet)]
    HRESULT RemoteGetColorSet
    (
        [in] DWORD dwDrawAspect,
        [in] LONG lindex,
        [in] ULONG_PTR pvAspect,
        [in, unique] DVTARGETDEVICE *ptd,
        [in] ULONG_PTR hicTargetDev,
        [out] LOGPALETTE **ppColorSet
    );

    [local]
    HRESULT Freeze
    (
        [in] DWORD dwDrawAspect,
        [in] LONG lindex,
        [in, unique] void *pvAspect,
        [out] DWORD *pdwFreeze
    );

    [call_as(Freeze)]
    HRESULT RemoteFreeze
    (
        [in] DWORD dwDrawAspect,
        [in] LONG lindex,
        [in] ULONG_PTR pvAspect,
        [out] DWORD *pdwFreeze
    );


    HRESULT Unfreeze
    (
        [in] DWORD dwFreeze
    );

    HRESULT SetAdvise
    (
        [in] DWORD aspects,
        [in] DWORD advf,
        [in, unique] IAdviseSink *pAdvSink
    );

    [local]
    HRESULT GetAdvise
    (
        [out, unique] DWORD *pAspects,
        [out, unique] DWORD *pAdvf,
        [out] IAdviseSink **ppAdvSink
    );

    [call_as(GetAdvise)]
    HRESULT RemoteGetAdvise
    (
        [out] DWORD *pAspects,
        [out] DWORD *pAdvf,
        [out] IAdviseSink **ppAdvSink
    );

}

[
    object,
    uuid(00000127-0000-0000-C000-000000000046)
]

interface IViewObject2 : IViewObject
{

    typedef [unique] IViewObject2 *LPVIEWOBJECT2;

    HRESULT GetExtent
    (
        [in]  DWORD dwDrawAspect,
        [in]  LONG lindex,
        [in, unique]  DVTARGETDEVICE* ptd,
        [out] LPSIZEL lpsizel
    );

}


[
    local,
    object,
    uuid(00000121-0000-0000-C000-000000000046)
]

interface IDropSource : IUnknown
{

    typedef [unique] IDropSource *LPDROPSOURCE;

    HRESULT QueryContinueDrag
    (
        [in] BOOL fEscapePressed,
        [in] DWORD grfKeyState
    );

    HRESULT GiveFeedback
    (
        [in] DWORD dwEffect
    );
}

[
    object,
    uuid(00000122-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IDropTarget : IUnknown
{

    typedef [unique] IDropTarget *LPDROPTARGET;


    const DWORD MK_ALT = 0x0020;

    const DWORD DROPEFFECT_NONE = 0;
    const DWORD DROPEFFECT_COPY = 1;
    const DWORD DROPEFFECT_MOVE = 2;
    const DWORD DROPEFFECT_LINK = 4;
    const DWORD DROPEFFECT_SCROLL = 0x80000000;

    cpp_quote("// default inset-width of the hot zone, in pixels")
    cpp_quote("//   typical use: GetProfileInt(\"windows\",\"DragScrollInset\",DD_DEFSCROLLINSET)")
    const DWORD DD_DEFSCROLLINSET = 11;

    cpp_quote("// default delay before scrolling, in milliseconds")
    cpp_quote("//   typical use: GetProfileInt(\"windows\",\"DragScrollDelay\",DD_DEFSCROLLDELAY)")
    const DWORD DD_DEFSCROLLDELAY = 50;

    cpp_quote("// default scroll interval, in milliseconds")
    cpp_quote("//   typical use: GetProfileInt(\"windows\",\"DragScrollInterval\", DD_DEFSCROLLINTERVAL)")
    const DWORD DD_DEFSCROLLINTERVAL = 50;

    cpp_quote("// default delay before dragging should start, in milliseconds")
    cpp_quote("//   typical use: GetProfileInt(\"windows\", \"DragDelay\", DD_DEFDRAGDELAY)")
    const DWORD DD_DEFDRAGDELAY = 200;

    cpp_quote("// default minimum distance (radius) before dragging should start, in pixels")
    cpp_quote("//   typical use: GetProfileInt(\"windows\", \"DragMinDist\", DD_DEFDRAGMINDIST)")
    const DWORD DD_DEFDRAGMINDIST = 2;


    HRESULT DragEnter
    (
        [in, unique] IDataObject *pDataObj,
        [in] DWORD grfKeyState,
        [in] POINTL pt,
        [in, out] DWORD *pdwEffect
    );

    HRESULT DragOver
    (
        [in] DWORD grfKeyState,
        [in] POINTL pt,
        [in, out] DWORD *pdwEffect
    );

    HRESULT DragLeave
    (
        void
    );

    HRESULT Drop
    (
        [in, unique] IDataObject *pDataObj,
        [in] DWORD grfKeyState,
        [in] POINTL pt,
        [in, out] DWORD *pdwEffect
    );
}

[
    object,
    uuid(00000104-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IEnumOLEVERB : IUnknown
{

    typedef [unique] IEnumOLEVERB *LPENUMOLEVERB;

    typedef struct tagOLEVERB {
        LONG    lVerb;
        LPOLESTR  lpszVerbName;
        DWORD   fuFlags;
        DWORD grfAttribs;
        } OLEVERB, * LPOLEVERB;

    // Bitwise verb attributes used in OLEVERB.grfAttribs
    typedef [v1_enum] enum tagOLEVERBATTRIB // bitwise
    {
        OLEVERBATTRIB_NEVERDIRTIES = 1,
        OLEVERBATTRIB_ONCONTAINERMENU = 2
    } OLEVERBATTRIB;

    [local]
    HRESULT Next(
        [in] ULONG celt,
        [out, size_is(celt), length_is(*pceltFetched)]
        LPOLEVERB rgelt,
        [out] ULONG *pceltFetched);

    [call_as(Next)]
    HRESULT RemoteNext(
        [in] ULONG celt,
        [out, size_is(celt), length_is(*pceltFetched)]
        LPOLEVERB rgelt,
        [out] ULONG *pceltFetched);

    HRESULT Skip(
        [in] ULONG celt);

    HRESULT Reset();

    HRESULT Clone(
        [out] IEnumOLEVERB **ppenum);
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -